diff --git a/.rspec b/.rspec
index 7438fbe51..16f9cdb01 100644
--- a/.rspec
+++ b/.rspec
@@ -1,2 +1,2 @@
---colour
+--color
--format documentation
diff --git a/.rubocop.yml b/.rubocop.yml
new file mode 100644
index 000000000..33d647ecf
--- /dev/null
+++ b/.rubocop.yml
@@ -0,0 +1,7 @@
+inherit_from: .rubocop_todo.yml
+
+Metrics/LineLength:
+ Max: 120
+
+Style/FormatString:
+ EnforcedStyle: sprintf
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
new file mode 100644
index 000000000..5f8512603
--- /dev/null
+++ b/.rubocop_todo.yml
@@ -0,0 +1,63 @@
+# This configuration was generated by `rubocop --auto-gen-config`
+# on 2015-03-25 23:30:36 -0700 using RuboCop version 0.29.1.
+# The point is for the user to remove these configuration records
+# one by one as the offenses are removed from the code base.
+# Note that changes in the inspected code, or installation of new
+# versions of RuboCop, may require this file to be generated again.
+
+# Offense count: 19
+Metrics/AbcSize:
+ Max: 79
+
+# Offense count: 2
+# Configuration parameters: CountComments.
+Metrics/ClassLength:
+ Max: 220
+
+# Offense count: 5
+Metrics/CyclomaticComplexity:
+ Max: 10
+
+# Offense count: 99
+# Configuration parameters: AllowURI, URISchemes.
+Metrics/LineLength:
+ Max: 127
+
+# Offense count: 18
+# Configuration parameters: CountComments.
+Metrics/MethodLength:
+ Max: 43
+
+# Offense count: 1
+# Configuration parameters: CountKeywordArgs.
+Metrics/ParameterLists:
+ Max: 6
+
+# Offense count: 4
+Metrics/PerceivedComplexity:
+ Max: 11
+
+# Offense count: 14
+Style/Documentation:
+ Enabled: false
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Style/EmptyLines:
+ Enabled: false
+
+# Offense count: 3
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, SupportedStyles.
+Style/EmptyLinesAroundClassBody:
+ Enabled: false
+
+# Offense count: 2
+# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
+Style/Next:
+ Enabled: false
+
+# Offense count: 3
+# Cop supports --auto-correct.
+Style/RedundantSelf:
+ Enabled: false
diff --git a/.travis.yml b/.travis.yml
index 2a453720d..fb752eda9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,15 +3,13 @@ rvm:
- 2.2
- 2.0.0
- 2.1
- - 1.9.3
- - rbx-2
- - jruby
+ - jruby-9000
env:
- RAILS_VERSION="~>3.2"
- RAILS_VERSION="~>4.0.0"
- RAILS_VERSION="~>4.1.0"
- RAILS_VERSION="~>4.2.0"
-script: "bundle exec rake spec:all"
+script: "rake spec:all"
before_install:
- sudo apt-get update
- sudo apt-get install idn
diff --git a/.yardopts b/.yardopts
index fa8f29d03..00feaac9c 100644
--- a/.yardopts
+++ b/.yardopts
@@ -1,7 +1,12 @@
---markup markdown
+--hide-void-return
+--no-private
+--verbose
+--markup-provider=redcarpet
+--markup=markdown
lib/**/*.rb
-ext/**/*.c
+generated/**/*.rb
-
README.md
-CHANGELOG.md
+MIGRATING.md
+CONTRIBUTING.md
LICENSE
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ff7d05678..1c0af91b4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# 0.9.0
+* WARNING: Please see [MIGRATING](MIGRATING.md) for important information.
+* API classes are now generated ahead of time instead of at runtime.
+* Drop support for Ruby versions < 2.0
+* Switch from Faraday to Hurley for HTTP client
+
# 0.8.6
* Use discovered 'rootUrl' as base URI for services
* Respect discovered methods with colons in path
@@ -27,7 +33,7 @@
* Batch requests with the service interface now inherit the service's connection
* `register_discover_document` now returns the API instance
* Added `:proxy` option to set Faraday's HTTP proxy setting
-* Added `:faraday_options` option to allow passthrough settings to Faraday connection
+* Added `:faraday_option` option to allow passthrough settings to Faraday connection
* Drop 1.8.x support
* This will be the last release with 1.9.x support
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 1e65911f8..448f78ab4 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,7 +2,7 @@
## Contributor License Agreements
-We'd love to accept your sample apps and patches! Before we can take them, we
+We'd love to accept your sample apps and patches! Before we can take them, we
have to jump a couple of legal hurdles.
Please fill out either the individual or corporate Contributor License Agreement
@@ -29,4 +29,3 @@ accept your pull requests.
1. Ensure that your code is clear and comprehensible.
1. Ensure that your code has an appropriate set of unit tests which all pass.
1. Submit a pull request.
-
diff --git a/Gemfile b/Gemfile
index 9e6d43ad8..837bdf48c 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,9 +1,35 @@
source 'https://rubygems.org'
+# Specify your gem's dependencies in google-apis.gemspec
gemspec
-gem 'jruby-openssl', :platforms => :jruby
+
+group :development do
+ gem 'bundler', '~> 1.7'
+ gem 'rake', '~> 10.0'
+ gem 'rspec', '~> 3.1'
+ gem 'json_spec', '~> 1.1'
+ gem 'webmock', '~> 1.21'
+ gem 'simplecov', '~> 0.9'
+ gem 'coveralls', '~> 0.7.11'
+ gem 'rubocop', '~> 0.29'
+ gem 'launchy', '~> 2.4'
+end
+
+platforms :jruby do
+ group :development do
+ gem 'jruby-openssl'
+ end
+end
+
+platforms :ruby do
+ group :development do
+ gem 'yard', '~> 0.8'
+ gem 'redcarpet', '~> 3.2'
+ gem 'github-markup', '~> 1.3'
+ end
+end
if ENV['RAILS_VERSION']
gem 'rails', ENV['RAILS_VERSION']
-end
\ No newline at end of file
+end
diff --git a/MIGRATING.md b/MIGRATING.md
new file mode 100644
index 000000000..f86eec363
--- /dev/null
+++ b/MIGRATING.md
@@ -0,0 +1,171 @@
+# Migrating from version `0.8.x` to `0.9`
+
+Many changes and improvements have been made to the `google-api-ruby-client`
+library to bring it to `0.9`. If you are starting a new project or haven't used
+this library before version `0.9`, see the [README][readme] to get started
+as you won't need to migrate anything.
+
+Code written against the `0.8.x` version of this library will not work with the `0.9`
+version without modification.
+
+## Discovery
+
+In `0.8.x` the library would "discover" APIs on the fly, introducing
+additional network calls and instability. That has been fixed in `0.9`.
+
+To get the `drive` client in `0.8.x` required this:
+
+```ruby
+require 'google/api_client'
+
+client = Google::APIClient.new
+drive = client.discovered_api('drive', 'v2')
+```
+
+In `0.9` the same thing can be accomplished like this:
+
+```ruby
+require 'google/apis/drive_v2'
+
+drive = Google::Apis::DriveV2::DriveService.new
+```
+
+All APIs are immediately accessible without requiring additional network calls or runtime code generation.
+
+## API Methods
+
+The calling style for API methods has changed. In `0.8.x` all calls were via a generic `execute` method. In `0.9`
+the generated services have fully defined method signatures for all available methods.
+
+To get a file using the Google Drive API in `0.8.x` required this:
+
+```ruby
+file = client.execute(:api_method => drive.file.get, :parameters => { 'id' => 'abc123' })
+```
+
+In `0.9` the same thing can be accomplished like this:
+
+```ruby
+file = drive.get_file('abc123')
+```
+
+Full API definitions including available methods, parameters, and data classes can be found in the `generated` directory.
+
+## Authorization
+
+In the 0.9 version of this library, the authentication and authorization code was moved
+to the new [googleauth](https://github.com/google/google-auth-library-ruby) library. While the new library provides
+significantly simpler APIs for some use cases, not all features have been migrated. Missing features
+are expected to be added by end of Q2 2015.
+
+The underlying [Signet](https://github.com/google/signet) is still used for authorization. OAuth 2 credentials obtained
+previously will continue to work with the `0.9` version. OAuth 1 is no longer supported.
+
+## Media uploads
+
+Media uploads are significantly simpler in `0.9`.
+
+The old `0.8.x` way of uploading media:
+
+```ruby
+media = Google::APIClient::UploadIO.new('mymovie.m4v', 'video/mp4')
+metadata = {
+ 'title' => 'My movie',
+ 'description' => 'The best home movie ever made'
+}
+client.execute(:api_method => drive.files.insert,
+ :parameters => { 'uploadType' => 'multipart' },
+ :body_object => metadata,
+ :media => media )
+```
+
+The new way in `0.9` using `upload_source` and `content_type` parameters:
+
+```ruby
+metadata = {
+ title: 'My movie',
+ description: 'The best home movie ever made'
+}
+drive.insert_file(metadata, upload_source: 'mymovie.m4v', content_type: 'video/mp4')
+```
+
+`upload_source` can be either a path to a file, an `IO` stream, or a `StringIO` instance.
+
+Uploads are resumable and will be automatically retried if interrupted.
+
+## Media downloads
+
+`0.9` introduces support for media downloads (`alt=media`). To download content, use the `download_dest` parameter:
+
+```ruby
+drive.get_file('abc123', download_dest: '/tmp/myfile.txt')
+```
+
+`download_dest` may be either a path to a file or an `IO` stream.
+
+## Batch Requests
+
+The old `0.8.x` way of performing batch requests:
+
+```ruby
+client = Google::APIClient.new
+urlshortener = client.discovered_api('urlshortener')
+
+batch = Google::APIClient::BatchRequest.new do |result|
+ puts result.data
+end
+
+batch.add(:api_method => urlshortener.url.insert,
+ :body_object => { 'longUrl' => 'http://example.com/foo' })
+batch.add(:api_method => urlshortener.url.insert,
+ :body_object => { 'longUrl' => 'http://example.com/bar' })
+client.execute(batch)
+```
+
+In `0.9`, the equivalent code is:
+
+```ruby
+require 'google/apis/urlshortner_v1'
+
+urlshortener = Google::Apis::UrlshortenerV1::UrlshortenerService.new
+
+urlshortener.batch do |urlshortener|
+ urlshortner.insert_url({long_url: 'http://example.com/foo'}) do |res, err|
+ puts res
+ end
+ urlshortner.insert_url({long_url: 'http://example.com/bar'}) do |res, err|
+ puts res
+ end
+end
+```
+
+Or if sharing the same block:
+
+```ruby
+require 'google/apis/urlshortner_v1'
+
+urlshortener = Google::Apis::UrlshortenerV1::UrlshortenerService.new
+
+callback = lambda { |res, err| puts res }
+urlshortener.batch do |urlshortener|
+ urlshortner.insert_url({long_url: 'http://example.com/foo'}, &callback)
+ urlshortner.insert_url({long_url: 'http://example.com/bar'}, &callback)
+end
+```
+
+## JRuby
+
+Jruby 1.7.4 in 2.0 compatibility mode is supported. To enable for a specific script:
+
+```
+jruby --2.0 myscript.rb
+```
+
+Or set as the default:
+
+```
+export JRUBY_OPTS=--2.0
+```
+
+JRuby 9000 will be supported once released.
+
diff --git a/README.md b/README.md
index 510ae817e..974f4ea08 100644
--- a/README.md
+++ b/README.md
@@ -1,218 +1,226 @@
# Google API Client
-
- Homepage http://www.github.com/google/google-api-ruby-client
- Authors Bob Aman, Steven Bazyl
- Copyright Copyright © 2011 Google, Inc.
- License Apache 2.0
-
-
-[](http://travis-ci.org/google/google-api-ruby-client)
-[](https://gemnasium.com/google/google-api-ruby-client)
-
-## Description
-
-The Google API Ruby Client makes it trivial to discover and access supported
-APIs.
-
## Alpha
-This library is in Alpha. We will make an effort to support the library, but we reserve the right to make incompatible changes when necessary.
+This library is in Alpha. We will make an effort to support the library, but we reserve the right to make incompatible
+changes when necessary.
-## Install
+## Migrating from 0.8.x
-Be sure `https://rubygems.org/` is in your gem sources.
+Version 0.9 is not compatible with previous versions. See [MIGRATING](MIGRATING.md) for additional details on how to
+migrate to the latest version.
-For normal client usage, this is sufficient:
+## Installation
-```bash
-$ gem install google-api-client
-```
-
-## Example Usage
+Add this line to your application's Gemfile:
```ruby
-require 'google/api_client'
-require 'google/api_client/client_secrets'
-require 'google/api_client/auth/installed_app'
-
-# Initialize the client.
-client = Google::APIClient.new(
- :application_name => 'Example Ruby application',
- :application_version => '1.0.0'
-)
-
-# Initialize Google+ API. Note this will make a request to the
-# discovery service every time, so be sure to use serialization
-# in your production code. Check the samples for more details.
-plus = client.discovered_api('plus')
-
-# Load client secrets from your client_secrets.json.
-client_secrets = Google::APIClient::ClientSecrets.load
-
-# Run installed application flow. Check the samples for a more
-# complete example that saves the credentials between runs.
-flow = Google::APIClient::InstalledAppFlow.new(
- :client_id => client_secrets.client_id,
- :client_secret => client_secrets.client_secret,
- :scope => ['https://www.googleapis.com/auth/plus.me']
-)
-client.authorization = flow.authorize
-
-# Make an API call.
-result = client.execute(
- :api_method => plus.activities.list,
- :parameters => {'collection' => 'public', 'userId' => 'me'}
-)
-
-puts result.data
+gem 'google-api-client'
```
-## API Features
+And then execute:
-### API Discovery
+ $ bundle
-To take full advantage of the client, load API definitions prior to use. To load an API:
+Or install it yourself as:
+
+ $ gem install google-api-client
+
+## Usage
+
+### Basic usage
+
+To use an API, include the corresponding generated file and instantiate the service. For example to use the Drive API:
```ruby
-urlshortener = client.discovered_api('urlshortener')
-```
+require 'google/apis/drive_v2'
-Specific versions of the API can be loaded as well:
+Drive = Google::Apis::DriveV2 # Alias the module
+drive = Drive::DriveService.new
+drive.authorization = authorization # See Googleauth or Signet libraries
-```ruby
-drive = client.discovered_api('drive', 'v2')
-```
-
-Locally cached discovery documents may be used as well. To load an API from a local file:
-
-```ruby
-# Output discovery document to JSON
-File.open('my-api.json', 'w') do |f| f.puts MultiJson.dump(client.discovery_document('myapi', 'v1')) end
-
-# Read discovery document and load API
-doc = File.read('my-api.json')
-client.register_discovery_document('myapi', 'v1', doc)
-my_api = client.discovered_api('myapi', 'v1')
-```
-
-### Authorization
-
-Most interactions with Google APIs require users to authorize applications via OAuth 2.0. The client library uses [Signet](https://github.com/google/signet) to handle most aspects of authorization. For additional details about Google's OAuth support, see [Google Developers](https://developers.google.com/accounts/docs/OAuth2).
-
-Credentials can be managed at the connection level, as shown, or supplied on a per-request basis when calling `execute`.
-
-For server-to-server interactions, like those between a web application and Google Cloud Storage, Prediction, or BigQuery APIs, use service accounts.
-
-As of version 0.8.3, service accounts can be configured using
-[Application Default Credentials][1], which rely on the credentials being
-available in a well-known location. If the credentials are not present
-and it's being used on a Compute Engine VM, it will use the VM's default credentials.
-
-```ruby
-client.authorization = :google_app_default # in a later version, this will become the default
-client.authorization.fetch_access_token!
-client.execute(...)
-```
-
-This is simpler API to use than in previous versions, although that is still available:
-
-```ruby
-key = Google::APIClient::KeyUtils.load_from_pkcs12('client.p12', 'notasecret')
-client.authorization = Signet::OAuth2::Client.new(
- :token_credential_uri => 'https://accounts.google.com/o/oauth2/token',
- :audience => 'https://accounts.google.com/o/oauth2/token',
- :scope => 'https://www.googleapis.com/auth/prediction',
- :issuer => '123456-abcdef@developer.gserviceaccount.com',
- :signing_key => key)
-client.authorization.fetch_access_token!
-client.execute(...)
-```
-
-Service accounts are also used for delegation in Google Apps domains. The target user for impersonation is specified by setting the `:person` parameter to the user's email address
-in the credentials. Detailed instructions on how to enable delegation for your domain can be found at [developers.google.com](https://developers.google.com/drive/delegation).
-
-### Automatic Retries & Backoff
-
-The API client can automatically retry requests for recoverable errors. To enable retries, set the `client.retries` property to
-the number of additional attempts. To avoid flooding servers, retries invovle a 1 second delay that increases on each subsequent retry.
-In the case of authentication token expiry, the API client will attempt to refresh the token and retry the failed operation - this
-is a specific exception to the retry rules.
-
-The default value for retries is 0, but will be enabled by default in future releases.
-
-### Batching Requests
-
-Some Google APIs support batching requests into a single HTTP request. Use `Google::APIClient::BatchRequest`
-to bundle multiple requests together.
-
-Example:
-
-```ruby
-client = Google::APIClient.new
-urlshortener = client.discovered_api('urlshortener')
-
-batch = Google::APIClient::BatchRequest.new do |result|
- puts result.data
+# Search for files in Drive (first page only)
+files = drive.list_files(q: "title contains 'finances'")
+files.items.each do |file|
+ puts file.title
end
-batch.add(:api_method => urlshortener.url.insert,
- :body_object => { 'longUrl' => 'http://example.com/foo' })
-batch.add(:api_method => urlshortener.url.insert,
- :body_object => { 'longUrl' => 'http://example.com/bar' })
-client.execute(batch)
+# Upload a file
+metadata = Drive::File.new(title: 'My document')
+metadata = drive.insert_file(metadata, upload_source: 'test.txt', content_type: 'text/plain')
+
+# Download a file
+drive.get_file(metadata.id, download_dest: '/tmp/myfile.txt')
```
-Blocks for handling responses can be specified either at the batch level or when adding an individual API call. For example:
+### Media
+
+Methods that allow media operations have additional parameters to specify the upload source or download destination.
+
+For uploads, the `upload_source` parameter can be specified with either a path to a file, an `IO` stream, or `StringIO`
+instance.
+
+For downloads, the `download_dest` parameter can also be either a path to a file, an `IO` stream, or `StringIO` instance.
+
+Both uploads & downloads are resumable. If an error occurs during transmission the request will be automatically
+retried from the last received byte.
+
+### Errors & Retries
+
+Retries are disabled by default, but enabling retries is strongly encouraged. The number of retries can be configured
+via `Google::Apis::RequestOptions`. Any number greater than 0 will enable retries.
+
+To enable retries for all services:
```ruby
-batch.add(:api_method=>urlshortener.url.insert, :body_object => { 'longUrl' => 'http://example.com/bar' }) do |result|
- puts result.data
+Google::Apis::RequestOptions.default.retries = 5
+```
+
+With retries enabled globally, retries can be disabled for specific calls by including a retry value of 0 in the
+request options:
+
+```ruby
+drive.insert_file(metadata, upload_source: 'test.txt', content_type: 'text/plain', options: { retries: 0 })
+```
+
+When retries are enabled, if a server or rate limit error occurs during a request it is automatically retried with
+an exponentially increasing delay on subsequent retries. If a request can not be retried or if the maximum number
+of retries is exceeded, an exception is thrown.
+
+### Callbacks
+
+A block an be specified when making calls. If present, the block will be called with the result or error, rather than
+returning the result from the call or raising the error. Example:
+
+```ruby
+# Search for files in Drive (first page only)
+drive.list_files(q: "title contains 'finances'") do |res, err|
+ if err
+ # Handle error
+ else
+ # Handle response
+ end
end
```
-### Media Upload
+This calling style is required when making batch requests as responses are not available until the entire batch
+is complete.
+
+### Batches
+
+Multiple requests can be batched together into a single HTTP request to reduce overhead. Batched calls are executed
+in parallel and the responses processed once all results are available
-For APIs that support file uploads, use `Google::APIClient::UploadIO` to load the stream. Both multipart and resumable
-uploads can be used. For example, to upload a file to Google Drive using multipart
```ruby
-drive = client.discovered_api('drive', 'v2')
-
-media = Google::APIClient::UploadIO.new('mymovie.m4v', 'video/mp4')
-metadata = {
- 'title' => 'My movie',
- 'description' => 'The best home movie ever made'
-}
-client.execute(:api_method => drive.files.insert,
- :parameters => { 'uploadType' => 'multipart' },
- :body_object => metadata,
- :media => media )
-```
-
-To use resumable uploads, change the `uploadType` parameter to `resumable`. To check the status of the upload
-and continue if necessary, check `result.resumable_upload`.
-
-```ruby
-client.execute(:api_method => drive.files.insert,
- :parameters => { 'uploadType' => 'resumable' },
- :body_object => metadata,
- :media => media )
-upload = result.resumable_upload
-
-# Resume if needed
-if upload.resumable?
- client.execute(upload)
+# Fetch a bunch of files by ID
+ids = ['file_id_1', 'file_id_2', 'file_id_3', 'file_id_4']
+drive.batch do |drive|
+ ids.each do |id|
+ drive.get_file(id) do |res, err|
+ # Handle response
+ end
+ end
end
```
-## Samples
+Media operations -- uploads & downloads -- can not be included in batch with other requests.
-See the full list of [samples on Github](https://github.com/google/google-api-ruby-client-samples).
+However, some APIs support batch uploads. To upload multiple files in a batch, use the `batch_upload` method instead.
+Batch uploads should only be used when uploading multiple small files. For large files, upload files individually to
+take advantage of the libraries built-in reusmable upload support.
+### Hashes
+
+While the API will always return instances of schema classes, plain hashes are accepted in method calls for
+convenience. Hash keys must be symbols matching the attribute names on the corresponding object the hash is meant
+to replace. For example:
+
+```ruby
+file = {id: '123', title: 'My document', labels: { starred: true }}
+file = drive.insert_file(file) # Returns a Drive::File instance
+```
+
+is equivalent to:
+
+```ruby
+file = Drive::File.new(id: '123', title: 'My document')
+file.labels = Drive::File::Labels.new(starred: true)
+file = drive.update_file(file) # Returns a Drive::File instance
+```
+
+## Authorization
+
+[OAuth 2](https://developers.google.com/accounts/docs/OAuth2) is used to authorize applications. This library uses
+both [Signet](https://github.com/google/signet) and
+[Google Auth Library for Ruby](https://github.com/google/google-auth-library-ruby) for OAuth 2 support.
+
+The [Google Auth Library for Ruby](https://github.com/google/google-auth-library-ruby) provides an implementation of
+[application default credentials] for Ruby. It offers a simple way to get authorization credentials for use in
+calling Google APIs, best suited for cases when the call needs to have the same identity
+and authorization level for the application independent of the user. This is
+the recommended approach to authorize calls to Cloud APIs, particularly when
+you're building an application that uses Google Compute Engine.
+
+For per-user authorization, use [Signet](https://github.com/google/signet) to obtain user authorization.
+
+### Passing authorization to requests
+
+Authorization can be specified for the entire client, for an individual service instance, or on a per-request basis.
+
+Set authorization for all service:
+
+```ruby
+Google::Apis::RequestOptions.default.authorization = authorization
+# Services instantiated after this will inherit the authorization
+```
+
+On a per-service level:
+
+```ruby
+drive = Google::Apis::DriveV2::DriveService.new
+drive.authorization = authorization
+
+# All requests made with this service will use the same authorization
+```
+
+Per-request:
+
+```ruby
+drive.get_file('123', options: { authorization: authorization })
+```
+
+## Generating APIs
+
+For [Cloud Endpoints](https://cloud.google.com/endpoints/) or other APIs not included in the gem, ruby code can be
+generated from the discovery document.
+
+To generate from a local discovery file:
+
+ $ generate-api gen --file=
+
+A URL can also be specified:
+
+ $ generate-api gen --url=
+
+## TODO
+
+* ETag support (if-not-modified)
+* Auto-paging results (maybe)
+* Caching
+* Model validations
+
+## License
+
+This library is licensed under Apache 2.0. Full license text is
+available in [LICENSE.txt](LICENSE.txt).
+
+## Contributing
+
+See [CONTRIBUTING](contributing).
## Support
-Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
-
-[1]: https://developers.google.com/accounts/docs/application-default-credentials
+Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't
+hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs
+on [StackOverflow](http://stackoverflow.com).
diff --git a/Rakefile b/Rakefile
index dca3b0903..809eb5616 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,41 +1,2 @@
-# -*- ruby -*-
-lib_dir = File.expand_path('../lib', __FILE__)
-$LOAD_PATH.unshift(lib_dir)
-$LOAD_PATH.uniq!
+require "bundler/gem_tasks"
-require 'bundler/gem_tasks'
-require 'rubygems'
-require 'rake'
-
-require File.join(File.dirname(__FILE__), 'lib/google/api_client', 'version')
-
-PKG_DISPLAY_NAME = 'Google API Client'
-PKG_NAME = PKG_DISPLAY_NAME.downcase.gsub(/\s/, '-')
-PKG_VERSION = Google::APIClient::VERSION::STRING
-PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
-PKG_HOMEPAGE = 'https://github.com/google/google-api-ruby-client'
-
-RELEASE_NAME = "REL #{PKG_VERSION}"
-
-PKG_AUTHOR = ["Bob Aman", "Steve Bazyl"]
-PKG_AUTHOR_EMAIL = "sbazyl@google.com"
-PKG_SUMMARY = 'Package Summary'
-PKG_DESCRIPTION = <<-TEXT
-The Google API Ruby Client makes it trivial to discover and access supported
-APIs.
-TEXT
-
-list = FileList[
- 'lib/**/*', 'spec/**/*', 'vendor/**/*',
- 'tasks/**/*', 'website/**/*',
- '[A-Z]*', 'Rakefile'
-].exclude(/[_\.]git$/)
-(open(".gitignore") { |file| file.read }).split("\n").each do |pattern|
- list.exclude(pattern)
-end
-PKG_FILES = list
-
-task :default => 'spec'
-
-WINDOWS = (RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/) rescue false
-SUDO = WINDOWS ? '' : ('sudo' unless ENV['SUDOLESS'])
diff --git a/api_names.yaml b/api_names.yaml
new file mode 100644
index 000000000..22cbd8a33
--- /dev/null
+++ b/api_names.yaml
@@ -0,0 +1,871 @@
+---
+"/adexchangebuyer:v1.3/PerformanceReport/latency50thPercentile": latency_50th_percentile
+"/adexchangebuyer:v1.3/PerformanceReport/latency85thPercentile": latency_85th_percentile
+"/adexchangebuyer:v1.3/PerformanceReport/latency95thPercentile": latency_95th_percentile
+"/adexchangeseller:v2.0/adexchangeseller.accounts.adclients.list": list_account_ad_clients
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.get": get_account_custom_channel
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.list": list_account_custom_channels
+"/adexchangeseller:v2.0/adexchangeseller.accounts.metadata.dimensions.list": list_account_metadata_dimensions
+"/adexchangeseller:v2.0/adexchangeseller.accounts.metadata.metrics.list": list_account_metadata_metrics
+"/adexchangeseller:v2.0/adexchangeseller.accounts.preferreddeals.get": get_account_preferred_deal
+"/adexchangeseller:v2.0/adexchangeseller.accounts.preferreddeals.list": list_account_preferred_deals
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.generate": generate_account_saved_report
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.list": list_account_saved_reports
+"/adexchangeseller:v2.0/adexchangeseller.accounts.urlchannels.list": list_account_url_channels
+"/admin:directory_v1/directory.chromeosdevices.get": get_chrome_os_device
+"/admin:directory_v1/directory.chromeosdevices.list": list_chrome_os_devices
+"/admin:directory_v1/directory.chromeosdevices.patch": patch_chrome_os_device
+"/admin:directory_v1/directory.chromeosdevices.update": update_chrome_os_device
+"/admin:directory_v1/directory.groups.aliases.delete/alias": group_alias
+"/admin:directory_v1/directory.mobiledevices.action": action_mobile_device
+"/admin:directory_v1/directory.mobiledevices.delete": delete_mobile_device
+"/admin:directory_v1/directory.mobiledevices.get": get_mobile_device
+"/admin:directory_v1/directory.mobiledevices.list": list_mobile_devices
+"/admin:directory_v1/directory.orgunits.delete": delete_org_unit
+"/admin:directory_v1/directory.orgunits.get": get_org_unit
+"/admin:directory_v1/directory.orgunits.insert": insert_org_unit
+"/admin:directory_v1/directory.orgunits.list": list_org_units
+"/admin:directory_v1/directory.orgunits.patch": patch_org_unit
+"/admin:directory_v1/directory.orgunits.update": update_org_unit
+"/admin:directory_v1/directory.users.aliases.delete/alias": user_alias
+"/adsense:v1.4/AdsenseReportsGenerateResponse": generate_report_response
+"/adsense:v1.4/adsense.accounts.adclients.list": list_account_ad_clients
+"/adsense:v1.4/adsense.accounts.adunits.customchannels.list": list_account_ad_unit_custom_channels
+"/adsense:v1.4/adsense.accounts.adunits.get": get_account_ad_unit
+"/adsense:v1.4/adsense.accounts.adunits.getAdCode": get_account_ad_unit_ad_code
+"/adsense:v1.4/adsense.accounts.adunits.list": list_account_ad_units
+"/adsense:v1.4/adsense.accounts.customchannels.adunits.list": list_account_custom_channel_ad_units
+"/adsense:v1.4/adsense.accounts.customchannels.get": get_account_custom_channel
+"/adsense:v1.4/adsense.accounts.customchannels.list": list_account_custom_channels
+"/adsense:v1.4/adsense.accounts.reports.saved.generate": generate_account_saved_report
+"/adsense:v1.4/adsense.accounts.reports.saved.list": list_account_saved_reports
+"/adsense:v1.4/adsense.accounts.savedadstyles.get": get_account_saved_ad_style
+"/adsense:v1.4/adsense.accounts.savedadstyles.list": list_account_saved_ad_styles
+"/adsense:v1.4/adsense.accounts.urlchannels.list": list_account_url_channels
+"/adsense:v1.4/adsense.adclients.list": list_ad_clients
+"/adsense:v1.4/adsense.adunits.customchannels.list": list_ad_unit_custom_channels
+"/adsense:v1.4/adsense.adunits.get": get_ad_unit
+"/adsense:v1.4/adsense.adunits.getAdCode": get_ad_code_ad_unit
+"/adsense:v1.4/adsense.adunits.list": list_ad_units
+"/adsense:v1.4/adsense.customchannels.adunits.list": list_custom_channel_ad_units
+"/adsense:v1.4/adsense.customchannels.get": get_custom_channel
+"/adsense:v1.4/adsense.customchannels.list": list_custom_channels
+"/adsense:v1.4/adsense.metadata.dimensions.list": list_metadata_dimensions
+"/adsense:v1.4/adsense.metadata.metrics.list": list_metadata_metrics
+"/adsense:v1.4/adsense.reports.saved.generate": generate_saved_report
+"/adsense:v1.4/adsense.reports.saved.list": list_saved_reports
+"/adsense:v1.4/adsense.savedadstyles.get": get_saved_ad_style
+"/adsense:v1.4/adsense.savedadstyles.list": list_saved_ad_styles
+"/adsense:v1.4/adsense.urlchannels.list": list_url_channels
+"/adsensehost:v4.1/adsensehost.accounts.adclients.get": get_account_ad_client
+"/adsensehost:v4.1/adsensehost.accounts.adclients.list": list_account_ad_clients
+"/adsensehost:v4.1/adsensehost.accounts.adunits.delete": delete_account_ad_unit
+"/adsensehost:v4.1/adsensehost.accounts.adunits.get": get_account_ad_unit
+"/adsensehost:v4.1/adsensehost.accounts.adunits.getAdCode": get_account_ad_unit_ad_code
+"/adsensehost:v4.1/adsensehost.accounts.adunits.insert": insert_account_ad_unit
+"/adsensehost:v4.1/adsensehost.accounts.adunits.list": list_account_ad_units
+"/adsensehost:v4.1/adsensehost.accounts.adunits.patch": patch_account_ad_unit
+"/adsensehost:v4.1/adsensehost.accounts.adunits.update": update_account_ad_unit
+"/adsensehost:v4.1/adsensehost.adclients.get": get_ad_client
+"/adsensehost:v4.1/adsensehost.adclients.list": list_ad_clients
+"/adsensehost:v4.1/adsensehost.associationsessions.start": start_association_session
+"/adsensehost:v4.1/adsensehost.associationsessions.verify": verify_association_session
+"/adsensehost:v4.1/adsensehost.customchannels.delete": delete_custom_channel
+"/adsensehost:v4.1/adsensehost.customchannels.get": get_custom_channel
+"/adsensehost:v4.1/adsensehost.customchannels.insert": insert_custom_channel
+"/adsensehost:v4.1/adsensehost.customchannels.list": list_custom_channels
+"/adsensehost:v4.1/adsensehost.customchannels.patch": patch_custom_channel
+"/adsensehost:v4.1/adsensehost.customchannels.update": update_custom_channel
+"/adsensehost:v4.1/adsensehost.urlchannels.delete": delete_url_channel
+"/adsensehost:v4.1/adsensehost.urlchannels.insert": insert_url_channel
+"/adsensehost:v4.1/adsensehost.urlchannels.list": list_url_channels
+"/analytics:v3/AnalyticsDataimportDeleteUploadDataRequest": delete_upload_data_request
+"/analytics:v3/UnsampledReport/cloudStorageDownloadDetails/objectId": obj_id
+"/analytics:v3/analytics.data.ga.get": get_ga_data
+"/analytics:v3/analytics.data.mcf.get": get_mcf_data
+"/analytics:v3/analytics.data.realtime.get": get_realtime_data
+"/analytics:v3/analytics.management.accountSummaries.list": list_account_summaries
+"/analytics:v3/analytics.management.accountUserLinks.delete": delete_account_user_link
+"/analytics:v3/analytics.management.accountUserLinks.insert": insert_account_user_link
+"/analytics:v3/analytics.management.accountUserLinks.list": list_account_user_links
+"/analytics:v3/analytics.management.accountUserLinks.update": update_account_user_link
+"/analytics:v3/analytics.management.accounts.list": list_accounts
+"/analytics:v3/analytics.management.customDataSources.list": list_custom_data_sources
+"/analytics:v3/analytics.management.customDimensions.get": get_custom_dimension
+"/analytics:v3/analytics.management.customDimensions.insert": insert_custom_dimension
+"/analytics:v3/analytics.management.customDimensions.list": list_custom_dimensions
+"/analytics:v3/analytics.management.customDimensions.patch": patch_custom_dimension
+"/analytics:v3/analytics.management.customDimensions.update": update_custom_dimension
+"/analytics:v3/analytics.management.customMetrics.get": get_custom_metric
+"/analytics:v3/analytics.management.customMetrics.insert": insert_custom_metric
+"/analytics:v3/analytics.management.customMetrics.list": list_custom_metrics
+"/analytics:v3/analytics.management.customMetrics.patch": patch_custom_metric
+"/analytics:v3/analytics.management.customMetrics.update": update_custom_metric
+"/analytics:v3/analytics.management.experiments.delete": delete_experiment
+"/analytics:v3/analytics.management.experiments.get": get_experiment
+"/analytics:v3/analytics.management.experiments.insert": insert_experiment
+"/analytics:v3/analytics.management.experiments.list": list_experiments
+"/analytics:v3/analytics.management.experiments.patch": patch_experiment
+"/analytics:v3/analytics.management.experiments.update": update_experiment
+"/analytics:v3/analytics.management.filters.delete": delete_filter
+"/analytics:v3/analytics.management.filters.get": get_filter
+"/analytics:v3/analytics.management.filters.insert": insert_filter
+"/analytics:v3/analytics.management.filters.list": list_filters
+"/analytics:v3/analytics.management.filters.patch": patch_filter
+"/analytics:v3/analytics.management.filters.update": update_filter
+"/analytics:v3/analytics.management.goals.get": get_goal
+"/analytics:v3/analytics.management.goals.insert": insert_goal
+"/analytics:v3/analytics.management.goals.list": list_goals
+"/analytics:v3/analytics.management.goals.patch": patch_goal
+"/analytics:v3/analytics.management.goals.update": update_goal
+"/analytics:v3/analytics.management.profileFilterLinks.delete": delete_profile_filter_link
+"/analytics:v3/analytics.management.profileFilterLinks.get": get_profile_filter_link
+"/analytics:v3/analytics.management.profileFilterLinks.insert": insert_profile_filter_link
+"/analytics:v3/analytics.management.profileFilterLinks.list": list_profile_filter_links
+"/analytics:v3/analytics.management.profileFilterLinks.patch": patch_profile_filter_link
+"/analytics:v3/analytics.management.profileFilterLinks.update": update_profile_filter_link
+"/analytics:v3/analytics.management.profileUserLinks.delete": delete_profile_user_link
+"/analytics:v3/analytics.management.profileUserLinks.insert": insert_profile_user_link
+"/analytics:v3/analytics.management.profileUserLinks.list": list_profile_user_links
+"/analytics:v3/analytics.management.profileUserLinks.update": update_profile_user_link
+"/analytics:v3/analytics.management.profiles.delete": delete_profile
+"/analytics:v3/analytics.management.profiles.get": get_profile
+"/analytics:v3/analytics.management.profiles.insert": insert_profile
+"/analytics:v3/analytics.management.profiles.list": list_profiles
+"/analytics:v3/analytics.management.profiles.patch": patch_profile
+"/analytics:v3/analytics.management.profiles.update": update_profile
+"/analytics:v3/analytics.management.segments.list": list_segments
+"/analytics:v3/analytics.management.unsampledReports.get": get_unsampled_report
+"/analytics:v3/analytics.management.unsampledReports.insert": insert_unsampled_report
+"/analytics:v3/analytics.management.unsampledReports.list": list_unsampled_reports
+"/analytics:v3/analytics.management.uploads.deleteUploadData": delete_upload_data
+"/analytics:v3/analytics.management.uploads.get": get_upload
+"/analytics:v3/analytics.management.uploads.list": list_uploads
+"/analytics:v3/analytics.management.uploads.uploadData": upload_data
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.delete": delete_web_property_ad_words_link
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.get": get_web_property_ad_words_link
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.insert": insert_web_property_ad_words_link
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.list": list_web_property_ad_words_links
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.patch": patch_web_property_ad_words_link
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.update": update_web_property_ad_words_link
+"/analytics:v3/analytics.management.webproperties.get": get_web_property
+"/analytics:v3/analytics.management.webproperties.insert": insert_web_property
+"/analytics:v3/analytics.management.webproperties.list": list_web_properties
+"/analytics:v3/analytics.management.webproperties.patch": patch_web_property
+"/analytics:v3/analytics.management.webproperties.update": update_web_property
+"/analytics:v3/analytics.management.webpropertyUserLinks.delete": delete_web_property_user_link
+"/analytics:v3/analytics.management.webpropertyUserLinks.insert": insert_web_property_user_link
+"/analytics:v3/analytics.management.webpropertyUserLinks.list": list_web_property_user_links
+"/analytics:v3/analytics.management.webpropertyUserLinks.update": update_web_property_user_link
+"/analytics:v3/analytics.metadata.columns.list": list_metadata_columns
+"/analytics:v3/analytics.provisioning.createAccountTicket": create_account_ticket
+"/androidenterprise:v1/CollectionViewersListResponse": list_collection_viewers_response
+"/androidenterprise:v1/CollectionsListResponse": list_collections_response
+"/androidenterprise:v1/DevicesListResponse": list_devices_response
+"/androidenterprise:v1/EnterprisesListResponse": list_enterprises_response
+"/androidenterprise:v1/EntitlementsListResponse": list_entitlements_response
+"/androidenterprise:v1/GroupLicenseUsersListResponse": list_group_license_users_response
+"/androidenterprise:v1/GroupLicensesListResponse": list_group_licenses_response
+"/androidenterprise:v1/InstallsListResponse": list_installs_response
+"/androidenterprise:v1/UsersListResponse": list_users_response
+"/androidenterprise:v1/androidenterprise.collectionviewers.delete": delete_collection_viewer
+"/androidenterprise:v1/androidenterprise.collectionviewers.get": get_collection_viewer
+"/androidenterprise:v1/androidenterprise.collectionviewers.list": list_collection_viewers
+"/androidenterprise:v1/androidenterprise.collectionviewers.patch": patch_collection_viewer
+"/androidenterprise:v1/androidenterprise.collectionviewers.update": update_collection_viewer
+"/androidenterprise:v1/androidenterprise.grouplicenses.get": get_group_license
+"/androidenterprise:v1/androidenterprise.grouplicenses.list": list_group_licenses
+"/androidenterprise:v1/androidenterprise.grouplicenseusers.list": list_group_license_users
+"/androidenterprise:v1/androidenterprise.products.generateApprovalUrl": generate_product_approval_url
+"/androidenterprise:v1/androidenterprise.products.getAppRestrictionsSchema": get_product_app_restrictions_schema
+"/androidenterprise:v1/androidenterprise.products.getPermissions": get_product_permissions
+"/androidenterprise:v1/androidenterprise.products.updatePermissions": update_product_permissions
+"/androidenterprise:v1/androidenterprise.users.generateToken": generate_user_token
+"/androidenterprise:v1/androidenterprise.users.revokeToken": revoke_user_token
+"/androidenterprise:v1/ProductsGenerateApprovalUrlResponse": generate_product_approval_url_response
+"/androidenterprise:v1/ProductsApproveRequest": approve_product_request
+"/androidpublisher:v2/ApkListingsListResponse": list_apk_listings_response
+"/androidpublisher:v2/ApksAddExternallyHostedRequest": apks_add_externally_hosted_request
+"/androidpublisher:v2/ApksAddExternallyHostedResponse": apks_add_externally_hosted_response
+"/androidpublisher:v2/ApksListResponse": list_apks_response
+"/androidpublisher:v2/EntitlementsListResponse": list_entitlements_response
+"/androidpublisher:v2/ExpansionFilesUploadResponse": upload_expansion_files_response
+"/androidpublisher:v2/ImagesDeleteAllResponse": images_delete_all_response
+"/androidpublisher:v2/ImagesListResponse": list_images_response
+"/androidpublisher:v2/ImagesUploadResponse": upload_images_response
+"/androidpublisher:v2/InappproductsBatchRequest": in_app_products_batch_request
+"/androidpublisher:v2/InappproductsBatchRequestEntry": in_app_products_batch_request_entry
+"/androidpublisher:v2/InappproductsBatchResponse": in_app_products_batch_response
+"/androidpublisher:v2/InappproductsBatchResponseEntry": in_app_products_batch_response_entry
+"/androidpublisher:v2/InappproductsInsertRequest": insert_in_app_products_request
+"/androidpublisher:v2/InappproductsInsertResponse": insert_in_app_products_response
+"/androidpublisher:v2/InappproductsListResponse": list_in_app_products_response
+"/androidpublisher:v2/InappproductsUpdateRequest": update_in_app_products_request
+"/androidpublisher:v2/InappproductsUpdateResponse": update_in_app_products_response
+"/androidpublisher:v2/ListingsListResponse": list_listings_response
+"/androidpublisher:v2/SubscriptionPurchasesDeferRequest": defer_subscription_purchases_request
+"/androidpublisher:v2/SubscriptionPurchasesDeferResponse": defer_subscription_purchases_response
+"/androidpublisher:v2/TracksListResponse": list_tracks_response
+"/androidpublisher:v2/androidpublisher.edits.apklistings.delete": delete_apk_listing
+"/androidpublisher:v2/androidpublisher.edits.apklistings.deleteall": delete_all_apk_listings
+"/androidpublisher:v2/androidpublisher.edits.apklistings.get": get_apk_listing
+"/androidpublisher:v2/androidpublisher.edits.apklistings.list": list_apk_listings
+"/androidpublisher:v2/androidpublisher.edits.apklistings.patch": patch_apk_listing
+"/androidpublisher:v2/androidpublisher.edits.apklistings.update": update_apk_listing
+"/androidpublisher:v2/androidpublisher.edits.apks.addexternallyhosted": add_externally_hosted_apk
+"/androidpublisher:v2/androidpublisher.edits.apks.list": list_apks
+"/androidpublisher:v2/androidpublisher.edits.apks.upload": upload_apk
+"/androidpublisher:v2/androidpublisher.edits.details.get": get_detail
+"/androidpublisher:v2/androidpublisher.edits.details.patch": patch_detail
+"/androidpublisher:v2/androidpublisher.edits.details.update": update_detail
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.get": get_expansion_file
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.patch": patch_expansion_file
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.update": update_expansion_file
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.upload": upload_expansion_file
+"/androidpublisher:v2/androidpublisher.edits.images.delete": delete_image
+"/androidpublisher:v2/androidpublisher.edits.images.deleteall": delete_all_images
+"/androidpublisher:v2/androidpublisher.edits.images.list": list_images
+"/androidpublisher:v2/androidpublisher.edits.images.upload": upload_image
+"/androidpublisher:v2/androidpublisher.edits.listings.delete": delete_listing
+"/androidpublisher:v2/androidpublisher.edits.listings.deleteall": delete_all_listings
+"/androidpublisher:v2/androidpublisher.edits.listings.get": get_listing
+"/androidpublisher:v2/androidpublisher.edits.listings.list": list_listings
+"/androidpublisher:v2/androidpublisher.edits.listings.patch": patch_listing
+"/androidpublisher:v2/androidpublisher.edits.listings.update": update_listing
+"/androidpublisher:v2/androidpublisher.edits.testers.get": get_tester
+"/androidpublisher:v2/androidpublisher.edits.testers.patch": patch_tester
+"/androidpublisher:v2/androidpublisher.edits.testers.update": update_tester
+"/androidpublisher:v2/androidpublisher.edits.tracks.get": get_track
+"/androidpublisher:v2/androidpublisher.edits.tracks.list": list_tracks
+"/androidpublisher:v2/androidpublisher.edits.tracks.patch": patch_track
+"/androidpublisher:v2/androidpublisher.edits.tracks.update": update_track
+"/androidpublisher:v2/androidpublisher.entitlements.list": list_entitlements
+"/androidpublisher:v2/androidpublisher.inappproducts.batch": batch_update_in_app_products
+"/androidpublisher:v2/androidpublisher.inappproducts.delete": delete_in_app_product
+"/androidpublisher:v2/androidpublisher.inappproducts.get": get_in_app_product
+"/androidpublisher:v2/androidpublisher.inappproducts.insert": insert_in_app_product
+"/androidpublisher:v2/androidpublisher.inappproducts.list": list_in_app_products
+"/androidpublisher:v2/androidpublisher.inappproducts.patch": patch_in_app_product
+"/androidpublisher:v2/androidpublisher.inappproducts.update": update_in_app_product
+"/androidpublisher:v2/androidpublisher.purchases.products.get": get_purchase_product
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.cancel": cancel_purchase_subscription
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.defer": defer_purchase_subscription
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.get": get_purchase_subscription
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.refund": refund_purchase_subscription
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.revoke": revoke_purchase_subscription
+"/autoscaler:v1beta2/AutoscalerListResponse": list_autoscaler_response
+"/bigquery:v2/TableDataInsertAllRequest": insert_all_table_data_request
+"/bigquery:v2/TableDataInsertAllResponse": insert_all_table_data_response
+"/bigquery:v2/bigquery.jobs.getQueryResults": get_job_query_results
+"/bigquery:v2/bigquery.tabledata.insertAll": insert_all_table_data
+"/bigquery:v2/bigquery.tabledata.list": list_table_data
+"/bigquery:v2/JobCancelResponse": cancel_job_response
+"/blogger:v3/blogger.blogs.getByUrl": get_blog_by_url
+"/blogger:v3/blogger.blogs.listByUser": list_blogs_by_user
+"/blogger:v3/blogger.comments.listByBlog": list_comments_by_blog
+"/blogger:v3/blogger.comments.markAsSpam": mark_comment_as_spam
+"/blogger:v3/blogger.comments.removeContent": remove_comment_content
+"/blogger:v3/blogger.postUserInfos.get": get_post_user_info
+"/blogger:v3/blogger.postUserInfos.list": list_post_user_info
+"/blogger:v3/blogger.posts.getByPath": get_post_by_path
+"/books:v1/Annotationdata": annotation_data
+"/books:v1/AnnotationsSummary": annotations_summary
+"/books:v1/Annotationsdata": annotations_data
+"/books:v1/BooksAnnotationsRange": annotatins_Range
+"/books:v1/BooksCloudloadingResource": loading_resource
+"/books:v1/BooksVolumesRecommendedRateResponse": rate_recommended_volume_response
+"/books:v1/Dictlayerdata": dict_layer_data
+"/books:v1/Geolayerdata": geo_layer_data
+"/books:v1/Layersummaries": layer_summaries
+"/books:v1/Layersummary": layer_summary
+"/books:v1/Usersettings": user_settings
+"/books:v1/Volumeannotation": volume_annotation
+"/books:v1/books.bookshelves.get": get_bookshelf
+"/books:v1/books.bookshelves.list": list_bookshelves
+"/books:v1/books.bookshelves.volumes.list": list_bookshelf_volumes
+"/books:v1/books.cloudloading.addBook": add_book
+"/books:v1/books.cloudloading.deleteBook": delete_book
+"/books:v1/books.cloudloading.updateBook": update_book
+"/books:v1/books.dictionary.listOfflineMetadata": list_offline_metadata_dictionary
+"/books:v1/books.layers.annotationData.get": get_layer_annotation_data
+"/books:v1/books.layers.annotationData.list": list_layer_annotation_data
+"/books:v1/books.layers.get": get_layer
+"/books:v1/books.layers.list": list_layers
+"/books:v1/books.layers.volumeAnnotations.get": get_layer_volume_annotation
+"/books:v1/books.layers.volumeAnnotations.list": list_layer_volume_annotations
+"/books:v1/books.myconfig.getUserSettings": get_user_settings
+"/books:v1/books.myconfig.releaseDownloadAccess": release_download_access
+"/books:v1/books.myconfig.requestAccess": request_access
+"/books:v1/books.myconfig.syncVolumeLicenses": sync_volume_licenses
+"/books:v1/books.myconfig.updateUserSettings": update_user_settings
+"/books:v1/books.mylibrary.annotations.delete": delete_my_library_annotation
+"/books:v1/books.mylibrary.annotations.insert": insert_my_library_annotation
+"/books:v1/books.mylibrary.annotations.list": list_my_library_annotations
+"/books:v1/books.mylibrary.annotations.summary": summarize_my_library_annotation
+"/books:v1/books.mylibrary.annotations.update": update_my_library_annotation
+"/books:v1/books.mylibrary.bookshelves.addVolume": add_my_library_volume
+"/books:v1/books.mylibrary.bookshelves.clearVolumes": clear_my_library_volumes
+"/books:v1/books.mylibrary.bookshelves.get": get_my_library_bookshelf
+"/books:v1/books.mylibrary.bookshelves.list": list_my_library_bookshelves
+"/books:v1/books.mylibrary.bookshelves.moveVolume": move_my_library_volume
+"/books:v1/books.mylibrary.bookshelves.removeVolume": remove_my_library_volume
+"/books:v1/books.mylibrary.bookshelves.volumes.list": list_my_library_volumes
+"/books:v1/books.mylibrary.readingpositions.get": get_my_library_reading_position
+"/books:v1/books.mylibrary.readingpositions.setPosition": set_my_library_reading_position
+"/books:v1/books.onboarding.listCategories": list_onboarding_categories
+"/books:v1/books.onboarding.listCategoryVolumes": list_onboarding_category_volumes
+"/books:v1/books.promooffer.accept": accept_promo_offer
+"/books:v1/books.promooffer.dismiss": dismiss_promo_offer
+"/books:v1/books.promooffer.get": get_promo_offer
+"/books:v1/books.volumes.associated.list": list_associated_volumes
+"/books:v1/books.volumes.mybooks.list": list_my_books
+"/books:v1/books.volumes.recommended.list": list_recommended_volumes
+"/books:v1/books.volumes.recommended.rate": rate_recommended_volume
+"/books:v1/books.volumes.useruploaded.list": list_user_uploaded_volumes
+"/calendar:v3/CalendarNotification/method": delivery_method
+"/calendar:v3/Event/gadget/display": display_mode
+"/calendar:v3/EventReminder/method": reminder_method
+"/civicinfo:v2/DivisionSearchResponse": search_division_response
+"/civicinfo:v2/ElectionsQueryResponse": query_elections_response
+"/civicinfo:v2/civicinfo.divisions.search": search_divisions
+"/civicinfo:v2/civicinfo.elections.electionQuery": query_election
+"/civicinfo:v2/civicinfo.elections.voterInfoQuery": query_voter_info
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByAddress": representative_info_by_address
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByDivision": representative_info_by_division
+"/compute:v1/DiskMoveRequest": move_disk_request
+"/compute:v1/InstanceMoveRequest": move_instance_request
+"/compute:v1/TargetPoolsAddHealthCheckRequest": add_target_pools_health_check_request
+"/compute:v1/TargetPoolsAddInstanceRequest": add_target_pools_instance_request
+"/compute:v1/TargetPoolsRemoveHealthCheckRequest": remove_target_pools_health_check_request
+"/compute:v1/TargetPoolsRemoveInstanceRequest": remove_target_pools_instance_request
+"/compute:v1/UrlMapsValidateRequest": validate_url_maps_request
+"/compute:v1/UrlMapsValidateResponse": validate_url_maps_response
+"/compute:v1/compute.addresses.aggregatedList": list_aggregated_addresses
+"/compute:v1/compute.backendServices.getHealth": get_backend_service_health
+"/compute:v1/compute.diskTypes.aggregatedList": list_aggregated_disk_types
+"/compute:v1/compute.disks.aggregatedList": list_aggregated_disk
+"/compute:v1/compute.disks.createSnapshot": create_disk_snapshot
+"/compute:v1/compute.forwardingRules.aggregatedList": list_aggregated_forwarding_rules
+"/compute:v1/compute.forwardingRules.setTarget": set_forwarding_rule_target
+"/compute:v1/compute.globalForwardingRules.setTarget": set_global_forwarding_rule_target
+"/compute:v1/compute.globalOperations.aggregatedList": list_aggregated_global_operation
+"/compute:v1/compute.instances.addAccessConfig": add_instance_access_config
+"/compute:v1/compute.instances.aggregatedList": list_aggregated_instances
+"/compute:v1/compute.instances.attachDisk": attach_disk
+"/compute:v1/compute.instances.deleteAccessConfig": delete_instance_access_config
+"/compute:v1/compute.instances.detachDisk": detach_disk
+"/compute:v1/compute.instances.getSerialPortOutput": get_instance_serial_port_output
+"/compute:v1/compute.instances.setDiskAutoDelete": set_disk_auto_delete
+"/compute:v1/compute.instances.setMetadata": set_instance_metadata
+"/compute:v1/compute.instances.setScheduling": set_instance_scheduling
+"/compute:v1/compute.instances.setTags": set_instance_tags
+"/compute:v1/compute.machineTypes.aggregatedList": list_aggregated_machine_types
+"/compute:v1/compute.projects.moveDisk": move_disk
+"/compute:v1/compute.projects.moveInstance": move_instance
+"/compute:v1/compute.projects.setCommonInstanceMetadata": set_common_instance_metadata
+"/compute:v1/compute.projects.setUsageExportBucket": set_usage_export_bucket
+"/compute:v1/compute.targetHttpProxies.setUrlMap": set_target_http_proxy_url_map
+"/compute:v1/compute.targetInstances.aggregatedList": list_aggregated_target_instance
+"/compute:v1/compute.targetPools.addHealthCheck": add_target_pool_health_check
+"/compute:v1/compute.targetPools.addInstance": add_target_pool_instance
+"/compute:v1/compute.targetPools.aggregatedList": list_aggregated_target_pools
+"/compute:v1/compute.targetPools.getHealth": get_target_pool_health
+"/compute:v1/compute.targetPools.removeHealthCheck": remove_target_pool_health_check
+"/compute:v1/compute.targetPools.removeInstance": remove_target_pool_instance
+"/compute:v1/compute.targetPools.setBackup": set_target_pool_backup
+"/compute:v1/compute.targetVpnGateways.aggregatedList": list_aggregated_target_vpn_gateways
+"/compute:v1/compute.targetVpnGateways.delete": delete_target_vpn_gateway
+"/compute:v1/compute.targetVpnGateways.get": get_target_vpn_gateway
+"/compute:v1/compute.targetVpnGateways.insert": insert_target_vpn_gateway
+"/compute:v1/compute.targetVpnGateways.list": list_target_vpn_gateways
+"/compute:v1/compute.vpnTunnels.aggregatedList": list_aggregated_vpn_tunnel
+"/container:v1beta1/container.projects.clusters.list": list_clusters
+"/container:v1beta1/container.projects.operations.list": list_operations
+"/container:v1beta1/container.projects.zones.clusters.create": create_cluster
+"/container:v1beta1/container.projects.zones.clusters.delete": delete_zone_cluster
+"/container:v1beta1/container.projects.zones.clusters.get": get_zone_cluster
+"/container:v1beta1/container.projects.zones.clusters.list": list_zone_clusters
+"/container:v1beta1/container.projects.zones.operations.get": get_zone_operation
+"/container:v1beta1/container.projects.zones.operations.list": list_zone_operations
+"/container:v1beta1/container.projects.zones.tokens.get": get_zone_token
+"/content:v2/AccountsAuthInfoResponse": accounts_auth_info_response
+"/content:v2/AccountsCustomBatchRequest": accounts_custom_batch_request
+"/content:v2/AccountsCustomBatchRequest": batch_accounts_request
+"/content:v2/AccountsCustomBatchRequestEntry": accounts_batch_request_entry
+"/content:v2/AccountsCustomBatchRequestEntry/method": request_method
+"/content:v2/AccountsCustomBatchResponse": batch_accounts_response
+"/content:v2/AccountsCustomBatchResponse": batch_accounts_response
+"/content:v2/AccountsCustomBatchResponseEntry": accounts_batch_response_entry
+"/content:v2/AccountsListResponse": list_accounts_response
+"/content:v2/AccountshippingCustomBatchRequest": batch_account_shipping_request
+"/content:v2/AccountshippingCustomBatchRequest": batch_account_shipping_request
+"/content:v2/AccountshippingCustomBatchRequestEntry": account_shipping_batch_request_entry
+"/content:v2/AccountshippingCustomBatchRequestEntry/method": request_method
+"/content:v2/AccountshippingCustomBatchResponse": batch_account_shipping_response
+"/content:v2/AccountshippingCustomBatchResponse": batch_account_shipping_response
+"/content:v2/AccountshippingCustomBatchResponseEntry": account_shipping_batch_response_entry
+"/content:v2/AccountshippingListResponse": list_account_shipping_response
+"/content:v2/AccountstatusesCustomBatchRequest": batch_account_statuses_request
+"/content:v2/AccountstatusesCustomBatchRequest": batch_account_statuses_request
+"/content:v2/AccountstatusesCustomBatchRequestEntry": account_statuses_batch_request_entry
+"/content:v2/AccountstatusesCustomBatchRequestEntry/method": request_method
+"/content:v2/AccountstatusesCustomBatchResponse": batch_account_statuses_response
+"/content:v2/AccountstatusesCustomBatchResponse": batch_account_statuses_response
+"/content:v2/AccountstatusesCustomBatchResponseEntry": account_statuses_batch_response_entry
+"/content:v2/AccountstatusesListResponse": list_account_statuses_response
+"/content:v2/AccounttaxCustomBatchRequest": batch_account_tax_request
+"/content:v2/AccounttaxCustomBatchRequest": batch_account_tax_request
+"/content:v2/AccounttaxCustomBatchRequestEntry": account_tax_batch_request_entry
+"/content:v2/AccounttaxCustomBatchRequestEntry/method": request_method
+"/content:v2/AccounttaxCustomBatchResponse": batch_account_tax_response
+"/content:v2/AccounttaxCustomBatchResponse": batch_account_tax_response
+"/content:v2/AccounttaxCustomBatchResponseEntry": account_tax_batch_response_entry
+"/content:v2/AccounttaxListResponse": list_account_tax_response
+"/content:v2/DatafeedsCustomBatchRequest": batch_datafeeds_request
+"/content:v2/DatafeedsCustomBatchRequest": batch_datafeeds_request
+"/content:v2/DatafeedsCustomBatchRequestEntry": datafeeds_batch_request_entry
+"/content:v2/DatafeedsCustomBatchRequestEntry/method": request_method
+"/content:v2/DatafeedsCustomBatchResponse": batch_datafeeds_response
+"/content:v2/DatafeedsCustomBatchResponse": batch_datafeeds_response
+"/content:v2/DatafeedsCustomBatchResponseEntry": datafeeds_batch_response_entry
+"/content:v2/DatafeedsListResponse": list_datafeeds_response
+"/content:v2/DatafeedstatusesCustomBatchRequest": batch_datafeed_statuses_request
+"/content:v2/DatafeedstatusesCustomBatchRequest": batch_datafeed_statuses_request
+"/content:v2/DatafeedstatusesCustomBatchRequestEntry": datafeed_statuses_batch_request_entry
+"/content:v2/DatafeedstatusesCustomBatchRequestEntry/method": request_method
+"/content:v2/DatafeedstatusesCustomBatchResponse": batch_datafeed_statuses_response
+"/content:v2/DatafeedstatusesCustomBatchResponse": batch_datafeed_statuses_response
+"/content:v2/DatafeedstatusesCustomBatchResponseEntry": datafeed_statuses_batch_response_entry
+"/content:v2/DatafeedstatusesListResponse": list_datafeed_statuses_response
+"/content:v2/InventoryCustomBatchRequest": batch_inventory_request
+"/content:v2/InventoryCustomBatchRequest": batch_inventory_request
+"/content:v2/InventoryCustomBatchRequestEntry": inventory_batch_request_entry
+"/content:v2/InventoryCustomBatchResponse": batch_inventory_response
+"/content:v2/InventoryCustomBatchResponse": batch_inventory_response
+"/content:v2/InventoryCustomBatchResponseEntry": inventory_batch_response_entry
+"/content:v2/InventorySetRequest": set_inventory_request
+"/content:v2/InventorySetResponse": set_inventory_response
+"/content:v2/ProductsCustomBatchRequest": batch_products_request
+"/content:v2/ProductsCustomBatchRequest": batch_products_request
+"/content:v2/ProductsCustomBatchRequestEntry": products_batch_request_entry
+"/content:v2/ProductsCustomBatchRequestEntry/method": request_method
+"/content:v2/ProductsCustomBatchResponse": batch_products_response
+"/content:v2/ProductsCustomBatchResponse": batch_products_response
+"/content:v2/ProductsCustomBatchResponseEntry": products_batch_response_entry
+"/content:v2/ProductsListResponse": list_products_response
+"/content:v2/ProductstatusesCustomBatchRequest": batch_product_statuses_request
+"/content:v2/ProductstatusesCustomBatchRequest": batch_product_statuses_request
+"/content:v2/ProductstatusesCustomBatchRequestEntry": product_statuses_batch_request_entry
+"/content:v2/ProductstatusesCustomBatchRequestEntry/method": request_method
+"/content:v2/ProductstatusesCustomBatchResponse": batch_product_statuses_response
+"/content:v2/ProductstatusesCustomBatchResponse": batch_product_statuses_response
+"/content:v2/ProductstatusesCustomBatchResponseEntry": product_statuses_batch_response_entry
+"/content:v2/ProductstatusesListResponse": list_product_statuses_response
+"/content:v2/content.accounts.authinfo": get_account_authinfo
+"/content:v2/content.accounts.custombatch": batch_account
+"/content:v2/content.accountshipping.custombatch": batch_account_shipping
+"/content:v2/content.accountshipping.get": get_account_shipping
+"/content:v2/content.accountshipping.list": list_account_shippings
+"/content:v2/content.accountshipping.patch": patch_account_shipping
+"/content:v2/content.accountshipping.update": update_account_shipping
+"/content:v2/content.accountstatuses.custombatch": batch_account_status
+"/content:v2/content.accountstatuses.get": get_account_status
+"/content:v2/content.accountstatuses.list": list_account_statuses
+"/content:v2/content.accounttax.custombatch": batch_account_tax
+"/content:v2/content.accounttax.get": get_account_tax
+"/content:v2/content.accounttax.list": list_account_taxes
+"/content:v2/content.accounttax.patch": patch_account_tax
+"/content:v2/content.accounttax.update": update_account_tax
+"/content:v2/content.datafeeds.custombatch": batch_datafeed
+"/content:v2/content.datafeedstatuses.custombatch": batch_datafeed_status
+"/content:v2/content.datafeedstatuses.get": get_datafeed_status
+"/content:v2/content.datafeedstatuses.list": list_datafeed_statuses
+"/content:v2/content.inventory.custombatch": batch_inventory
+"/content:v2/content.inventory.set": set_inventory
+"/content:v2/content.products.custombatch": batch_product
+"/content:v2/content.productstatuses.custombatch": batch_product_status
+"/content:v2/content.productstatuses.get": get_product_status
+"/content:v2/content.productstatuses.list": list_product_statuses
+"/coordinate:v1/CustomFieldDefListResponse": list_custom_field_def_response
+"/coordinate:v1/JobListResponse": list_job_response
+"/coordinate:v1/LocationListResponse": list_location_response
+"/coordinate:v1/TeamListResponse": list_team_response
+"/coordinate:v1/WorkerListResponse": list_worker_response
+"/datastore:v1beta2/AllocateIdsRequest": allocate_ids_request
+"/datastore:v1beta2/AllocateIdsResponse": allocate_ids_response
+"/datastore:v1beta2/BeginTransactionRequest": begin_transaction_request
+"/datastore:v1beta2/BeginTransactionResponse": begin_transaction_response
+"/deploymentmanager:v2beta1/DeploymentsListResponse": list_deployments_response
+"/deploymentmanager:v2beta1/ManifestsListResponse": list_manifests_response
+"/deploymentmanager:v2beta1/OperationsListResponse": list_operations_response
+"/deploymentmanager:v2beta1/ResourcesListResponse": list_resources_response
+"/deploymentmanager:v2beta1/TypesListResponse": list_types_response
+"/deploymentmanager:v2beta2/DeploymentsListResponse": list_deployments_response
+"/deploymentmanager:v2beta2/ManifestsListResponse": list_manifests_response
+"/deploymentmanager:v2beta2/OperationsListResponse": list_operations_response
+"/deploymentmanager:v2beta2/ResourcesListResponse": list_resources_response
+"/deploymentmanager:v2beta2/TypesListResponse": list_types_response
+"/dfareporting:v2.1/AccountPermissionGroupsListResponse": list_account_permission_groups_response
+"/dfareporting:v2.1/AccountPermissionsListResponse": list_account_permissions_response
+"/dfareporting:v2.1/AccountUserProfilesListResponse": list_account_user_profiles_response
+"/dfareporting:v2.1/AccountsListResponse": list_accounts_response
+"/dfareporting:v2.1/AdsListResponse": list_ads_response
+"/dfareporting:v2.1/AdvertiserGroupsListResponse": list_advertiser_groups_response
+"/dfareporting:v2.1/AdvertisersListResponse": list_advertisers_response
+"/dfareporting:v2.1/BrowsersListResponse": list_browsers_response
+"/dfareporting:v2.1/CampaignCreativeAssociationsListResponse": list_campaign_creative_associations_response
+"/dfareporting:v2.1/CampaignsListResponse": list_campaigns_response
+"/dfareporting:v2.1/ChangeLog/objectId": obj_id
+"/dfareporting:v2.1/ChangeLogsListResponse": list_change_logs_response
+"/dfareporting:v2.1/CitiesListResponse": list_cities_response
+"/dfareporting:v2.1/ConnectionTypesListResponse": list_connection_types_response
+"/dfareporting:v2.1/ContentCategoriesListResponse": list_content_categories_response
+"/dfareporting:v2.1/CountriesListResponse": list_countries_response
+"/dfareporting:v2.1/CreativeFieldValuesListResponse": list_creative_field_values_response
+"/dfareporting:v2.1/CreativeFieldsListResponse": list_creative_fields_response
+"/dfareporting:v2.1/CreativeGroupsListResponse": list_creative_groups_response
+"/dfareporting:v2.1/CreativesListResponse": list_creatives_response
+"/dfareporting:v2.1/DimensionValueRequest": dimension_value_request
+"/dfareporting:v2.1/DirectorySiteContactsListResponse": list_directory_site_contacts_response
+"/dfareporting:v2.1/DirectorySitesListResponse": list_directory_sites_response
+"/dfareporting:v2.1/EventTagsListResponse": list_event_tags_response
+"/dfareporting:v2.1/FloodlightActivitiesGenerateTagResponse": floodlight_activities_generate_tag_response
+"/dfareporting:v2.1/FloodlightActivitiesListResponse": list_floodlight_activities_response
+"/dfareporting:v2.1/FloodlightActivityGroupsListResponse": list_floodlight_activity_groups_response
+"/dfareporting:v2.1/FloodlightConfigurationsListResponse": list_floodlight_configurations_response
+"/dfareporting:v2.1/InventoryItemsListResponse": list_inventory_items_response
+"/dfareporting:v2.1/LandingPagesListResponse": list_landing_pages_response
+"/dfareporting:v2.1/MetrosListResponse": list_metros_response
+"/dfareporting:v2.1/MobileCarriersListResponse": list_mobile_carriers_response
+"/dfareporting:v2.1/ObjectFilter/objectIds/object_id": obj_id
+"/dfareporting:v2.1/OperatingSystemVersionsListResponse": list_operating_system_versions_response
+"/dfareporting:v2.1/OperatingSystemsListResponse": list_operating_systems_response
+"/dfareporting:v2.1/OrderDocumentsListResponse": list_order_documents_response
+"/dfareporting:v2.1/OrdersListResponse": list_orders_response
+"/dfareporting:v2.1/PlacementGroupsListResponse": list_placement_groups_response
+"/dfareporting:v2.1/PlacementStrategiesListResponse": list_placement_strategies_response
+"/dfareporting:v2.1/PlacementsGenerateTagsResponse": generate_placements_tags_response
+"/dfareporting:v2.1/PlacementsListResponse": list_placements_response
+"/dfareporting:v2.1/PlatformTypesListResponse": list_platform_types_response
+"/dfareporting:v2.1/PostalCodesListResponse": list_postal_codes_response
+"/dfareporting:v2.1/ProjectsListResponse": list_projects_response
+"/dfareporting:v2.1/RegionsListResponse": list_regions_response
+"/dfareporting:v2.1/RemarketingListsListResponse": list_remarketing_lists_response
+"/dfareporting:v2.1/SitesListResponse": list_sites_response
+"/dfareporting:v2.1/SizesListResponse": list_sizes_response
+"/dfareporting:v2.1/SubaccountsListResponse": list_subaccounts_response
+"/dfareporting:v2.1/TargetableRemarketingListsListResponse": list_targetable_remarketing_lists_response
+"/dfareporting:v2.1/UserRolePermissionGroupsListResponse": list_user_role_permission_groups_response
+"/dfareporting:v2.1/UserRolePermissionsListResponse": list_user_role_permissions_response
+"/dfareporting:v2.1/UserRolesListResponse": list_user_roles_response
+"/dfareporting:v2.1/dfareporting.floodlightActivities.generatetag": generate_floodlight_activity_tag
+"/dfareporting:v2.1/dfareporting.placements.generatetags": generate_placement_tags
+"/discovery:v1/RestDescription/methods": api_methods
+"/discovery:v1/RestResource/methods": api_methods
+"/dns:v1/ChangesListResponse": list_changes_response
+"/dns:v1/ManagedZonesListResponse": list_managed_zones_response
+"/dns:v1/ResourceRecordSetsListResponse": list_resource_record_sets_response
+"/doubleclickbidmanager:v1/DownloadLineItemsRequest": download_line_items_request
+"/doubleclickbidmanager:v1/DownloadLineItemsResponse": download_line_items_response
+"/doubleclickbidmanager:v1/ListQueriesResponse": list_queries_response
+"/doubleclickbidmanager:v1/ListReportsResponse": list_reports_response
+"/doubleclickbidmanager:v1/RunQueryRequest": run_query_request
+"/doubleclickbidmanager:v1/UploadLineItemsRequest": upload_line_items_request
+"/doubleclickbidmanager:v1/UploadLineItemsResponse": upload_line_items_response
+"/doubleclickbidmanager:v1/doubleclickbidmanager.lineitems.downloadlineitems": download_line_items
+"/doubleclickbidmanager:v1/doubleclickbidmanager.lineitems.uploadlineitems": upload_line_items
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.createquery": create_query
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.deletequery": deletequery
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.getquery": get_query
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.listqueries": list_queries
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.runquery": run_query
+"/doubleclickbidmanager:v1/doubleclickbidmanager.reports.listreports": list_reports
+"/doubleclicksearch:v2/ReportRequest": report_request
+"/doubleclicksearch:v2/UpdateAvailabilityRequest": update_availability_request
+"/doubleclicksearch:v2/UpdateAvailabilityResponse": update_availability_response
+"/drive:v2/drive.files.emptyTrash": empty_trash
+"/drive:v2/drive.permissions.getIdForEmail": get_permission_id_for_email
+"/fusiontables:v2/fusiontables.table.importRows": import_rows
+"/fusiontables:v2/fusiontables.table.importTable": import_table
+"/games:v1/AchievementDefinitionsListResponse": list_achievement_definitions_response
+"/games:v1/AchievementIncrementResponse": achievement_increment_response
+"/games:v1/AchievementRevealResponse": achievement_reveal_response
+"/games:v1/AchievementSetStepsAtLeastResponse": achievement_set_steps_at_least_response
+"/games:v1/AchievementUnlockResponse": achievement_unlock_response
+"/games:v1/AchievementUpdateMultipleRequest": achievement_update_multiple_request
+"/games:v1/AchievementUpdateMultipleResponse": achievement_update_multiple_response
+"/games:v1/AchievementUpdateRequest": update_achievement_request
+"/games:v1/AchievementUpdateResponse": update_achievement_response
+"/games:v1/CategoryListResponse": list_category_response
+"/games:v1/EventDefinitionListResponse": list_event_definition_response
+"/games:v1/EventRecordRequest": event_record_request
+"/games:v1/EventUpdateRequest": update_event_request
+"/games:v1/EventUpdateResponse": update_event_response
+"/games:v1/LeaderboardListResponse": list_leaderboard_response
+"/games:v1/PlayerAchievementListResponse": list_player_achievement_response
+"/games:v1/PlayerEventListResponse": list_player_event_response
+"/games:v1/PlayerLeaderboardScoreListResponse": list_player_leaderboard_score_response
+"/games:v1/PlayerListResponse": list_player_response
+"/games:v1/PlayerScoreListResponse": list_player_score_response
+"/games:v1/PlayerScoreResponse": player_score_response
+"/games:v1/QuestListResponse": list_quest_response
+"/games:v1/RevisionCheckResponse": check_revision_response
+"/games:v1/RoomCreateRequest": create_room_request
+"/games:v1/RoomJoinRequest": join_room_request
+"/games:v1/RoomLeaveRequest": leave_room_request
+"/games:v1/SnapshotListResponse": list_snapshot_response
+"/games:v1/TurnBasedMatchCreateRequest": create_turn_based_match_request
+"/games:v1/TurnBasedMatchDataRequest": turn_based_match_data_request
+"/games:v1/games.achievements.updateMultiple": update_multiple_achievements
+"/games:v1/games.events.listDefinitions": list_event_definitions
+"/games:v1/games.metagame.getMetagameConfig": get_metagame_config
+"/games:v1/games.rooms.reportStatus": report_room_status
+"/games:v1/games.turnBasedMatches.leaveTurn": leave_turn
+"/games:v1/games.turnBasedMatches.takeTurn": take_turn
+"/gamesConfiguration:v1configuration/AchievementConfigurationListResponse": list_achievement_configuration_response
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationListResponse": list_leaderboard_configuration_response
+"/genomics:v1beta2/genomics.callsets.create": create_call_set
+"/genomics:v1beta2/genomics.callsets.delete": delete_call_set
+"/genomics:v1beta2/genomics.callsets.get": get_call_set
+"/genomics:v1beta2/genomics.callsets.patch": patch_call_set
+"/genomics:v1beta2/genomics.callsets.search": search_call_sets
+"/genomics:v1beta2/genomics.callsets.update": update_call_set
+"/genomics:v1beta2/genomics.readgroupsets.align": align_read_group_sets
+"/genomics:v1beta2/genomics.readgroupsets.call": call_read_group_sets
+"/genomics:v1beta2/genomics.readgroupsets.coveragebuckets.list": list_coverage_buckets
+"/genomics:v1beta2/genomics.readgroupsets.delete": delete_read_group_set
+"/genomics:v1beta2/genomics.readgroupsets.export": export_read_group_sets
+"/genomics:v1beta2/genomics.readgroupsets.get": get_read_group_set
+"/genomics:v1beta2/genomics.readgroupsets.import": import_read_group_sets
+"/genomics:v1beta2/genomics.readgroupsets.patch": patch_read_group_set
+"/genomics:v1beta2/genomics.readgroupsets.search": search_read_group_sets
+"/genomics:v1beta2/genomics.readgroupsets.update": update_read_group_set
+"/genomics:v1beta2/genomics.references.bases.list/end": end_position
+"/genomics:v1beta2/genomics.references.bases.list/start": start_position
+"/genomics:v1beta2/genomics.referencesets.get": get_reference_set
+"/genomics:v1beta2/genomics.streamingReadstore.streamreads": stream_reads
+"/gmail:v1/gmail.users.getProfile": get_user_profile
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest": create_auth_uri_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyDeleteAccountRequest": delete_account_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyDownloadAccountRequest": download_account_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetAccountInfoRequest": get_account_info_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetPublicKeysResponse": get_public_keys_response
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetPublicKeysResponse/get_public_keys_response": get_public_keys_response
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyResetPasswordRequest": reset_password_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest": set_account_info_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyUploadAccountRequest": upload_account_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyAssertionRequest": verify_assertion_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyPasswordRequest": verify_password_request
+"/identitytoolkit:v3/identitytoolkit.relyingparty.createAuthUri": create_auth_uri
+"/identitytoolkit:v3/identitytoolkit.relyingparty.deleteAccount": delete_account
+"/identitytoolkit:v3/identitytoolkit.relyingparty.downloadAccount": download_account
+"/identitytoolkit:v3/identitytoolkit.relyingparty.getAccountInfo": get_account_info
+"/identitytoolkit:v3/identitytoolkit.relyingparty.getOobConfirmationCode": get_oob_confirmation_code
+"/identitytoolkit:v3/identitytoolkit.relyingparty.getPublicKeys": get_public_keys
+"/identitytoolkit:v3/identitytoolkit.relyingparty.getRecaptchaParam": get_recaptcha_param
+"/identitytoolkit:v3/identitytoolkit.relyingparty.resetPassword": reset_password
+"/identitytoolkit:v3/identitytoolkit.relyingparty.setAccountInfo": set_account_info
+"/identitytoolkit:v3/identitytoolkit.relyingparty.uploadAccount": upload_account
+"/identitytoolkit:v3/identitytoolkit.relyingparty.verifyAssertion": verify_assertion
+"/identitytoolkit:v3/identitytoolkit.relyingparty.verifyPassword": verify_password
+"/licensing:v1/licensing.licenseAssignments.listForProduct": list_license_assignment_for_product
+"/licensing:v1/licensing.licenseAssignments.listForProductAndSku": list_license_assignment_for_product_and_sku
+"/logging:v1beta3/logging.projects.logServices.indexes.list": list_log_service_indexes
+"/logging:v1beta3/logging.projects.logServices.list": list_log_services
+"/logging:v1beta3/logging.projects.logServices.sinks.create": create_log_service_sink
+"/logging:v1beta3/logging.projects.logServices.sinks.delete": delete_log_service_sink
+"/logging:v1beta3/logging.projects.logServices.sinks.get": get_log_service_sink
+"/logging:v1beta3/logging.projects.logServices.sinks.list": list_log_service_sinks
+"/logging:v1beta3/logging.projects.logServices.sinks.update": update_log_service_sink
+"/logging:v1beta3/logging.projects.logs.delete": delete_log
+"/logging:v1beta3/logging.projects.logs.list": list_logs
+"/logging:v1beta3/logging.projects.logs.sinks.create": create_log_sink
+"/logging:v1beta3/logging.projects.logs.sinks.delete": delete_log_sink
+"/logging:v1beta3/logging.projects.logs.sinks.get": get_log_sink
+"/logging:v1beta3/logging.projects.logs.sinks.list": list_log_sinks
+"/logging:v1beta3/logging.projects.logs.sinks.update": update_log_sink
+"/manager:v1beta2/DeploymentsListResponse": list_deployments_response
+"/manager:v1beta2/TemplatesListResponse": list_templates_response
+"/mapsengine:v1/AssetsListResponse": list_assets_response
+"/mapsengine:v1/FeaturesBatchDeleteRequest": batch_delete_features_request
+"/mapsengine:v1/FeaturesBatchInsertRequest": batch_insert_features_request
+"/mapsengine:v1/FeaturesBatchPatchRequest": batch_patch_features_request
+"/mapsengine:v1/FeaturesListResponse": list_features_response
+"/mapsengine:v1/IconsListResponse": list_icons_response
+"/mapsengine:v1/LayersListResponse": list_layers_response
+"/mapsengine:v1/MapsListResponse": list_maps_response
+"/mapsengine:v1/ParentsListResponse": list_parents_response
+"/mapsengine:v1/PermissionsBatchDeleteRequest": batch_delete_permissions_request
+"/mapsengine:v1/PermissionsBatchDeleteResponse": batch_delete_permissions_response
+"/mapsengine:v1/PermissionsBatchUpdateRequest": batch_update_permissions_request
+"/mapsengine:v1/PermissionsBatchUpdateResponse": batch_update_permissions_response
+"/mapsengine:v1/PermissionsListResponse": list_permissions_response
+"/mapsengine:v1/ProjectsListResponse": list_projects_response
+"/mapsengine:v1/PublishedLayersListResponse": list_published_layers_response
+"/mapsengine:v1/PublishedMapsListResponse": list_published_maps_response
+"/mapsengine:v1/RasterCollectionsListResponse": list_raster_collections_response
+"/mapsengine:v1/RasterCollectionsRasterBatchDeleteRequest": batch_delete_raster_collections_raster_request
+"/mapsengine:v1/RasterCollectionsRastersBatchDeleteResponse": batch_delete_raster_collections_rasters_response
+"/mapsengine:v1/RasterCollectionsRastersBatchInsertRequest": batch_insert_raster_collections_rasters_request
+"/mapsengine:v1/RasterCollectionsRastersBatchInsertResponse": batch_insert_raster_collections_rasters_response
+"/mapsengine:v1/RasterCollectionsRastersListResponse": list_raster_collections_rasters_response
+"/mapsengine:v1/RastersListResponse": list_rasters_response
+"/mapsengine:v1/TablesListResponse": list_tables_response
+"/mirror:v1/AttachmentsListResponse": list_attachments_response
+"/mirror:v1/ContactsListResponse": list_contacts_response
+"/mirror:v1/LocationsListResponse": list_locations_response
+"/mirror:v1/SubscriptionsListResponse": list_subscriptions_response
+"/mirror:v1/TimelineListResponse": list_timeline_response
+"/oauth2:v2/oauth2.userinfo.v2.me.get": get_userinfo_v2
+"/pagespeedonline:v2/PagespeedApiFormatStringV2": format_string
+"/pagespeedonline:v2/PagespeedApiImageV2": image
+"/pagespeedonline:v2/pagespeedonline.pagespeedapi.runpagespeed": run_pagespeed
+"/plus:v1/plus.people.listByActivity": list_people_by_activity
+"/plusDomains:v1/plusDomains.circles.addPeople": add_people
+"/plusDomains:v1/plusDomains.circles.removePeople": remove_people
+"/plusDomains:v1/plusDomains.people.listByActivity": list_people_by_activity
+"/plusDomains:v1/plusDomains.people.listByCircle": list_people_by_circle
+"/prediction:v1.6/prediction.hostedmodels.predict": predict_hosted_model
+"/prediction:v1.6/prediction.trainedmodels.analyze": analyze_trained_model
+"/prediction:v1.6/prediction.trainedmodels.delete": delete_trained_model
+"/prediction:v1.6/prediction.trainedmodels.get": get_trained_model
+"/prediction:v1.6/prediction.trainedmodels.insert": insert_trained_model
+"/prediction:v1.6/prediction.trainedmodels.list": list_trained_models
+"/prediction:v1.6/prediction.trainedmodels.predict": predict_trained_model
+"/prediction:v1.6/prediction.trainedmodels.update": update_trained_model
+"/pubsub:v1beta2/PubsubMessage": message
+"/pubsub:v1beta2/pubsub.projects.subscriptions.create": create_subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.delete": delete_subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.get": get_subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.list": list_subscriptions
+"/pubsub:v1beta2/pubsub.projects.subscriptions.setIamPolicy": set_subscription_policy
+"/pubsub:v1beta2/pubsub.projects.subscriptions.testIamPermissions": test_subscription_permissions
+"/pubsub:v1beta2/pubsub.projects.topics.create": create_topic
+"/pubsub:v1beta2/pubsub.projects.topics.delete": delete_topic
+"/pubsub:v1beta2/pubsub.projects.topics.get": get_topic
+"/pubsub:v1beta2/pubsub.projects.topics.list": list_topics
+"/pubsub:v1beta2/pubsub.projects.topics.setIamPolicy": set_topic_policy
+"/pubsub:v1beta2/pubsub.projects.topics.testIamPermissions": test_topic_permissions
+"/pubsub:v1beta2/pubsub.projects.topics.subscriptions.list": list_topic_subscriptions
+"/qpxExpress:v1/TripsSearchRequest": search_trips_request
+"/qpxExpress:v1/TripsSearchResponse": search_trips_response
+"/replicapool:v1beta2/InstanceGroupManagersAbandonInstancesRequest": abandon_instances_request
+"/replicapool:v1beta2/InstanceGroupManagersDeleteInstancesRequest": delete_instances_request
+"/replicapool:v1beta2/InstanceGroupManagersRecreateInstancesRequest": recreate_instances_request
+"/replicapool:v1beta2/InstanceGroupManagersSetInstanceTemplateRequest": set_instance_template_request
+"/replicapool:v1beta2/InstanceGroupManagersSetTargetPoolsRequest": set_target_pools_request
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.abandonInstances": abandon_instances
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.deleteInstances": delete_instances
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.recreateInstances": recreate_instances
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.resize": resize_instance
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.setInstanceTemplate": set_instance_template
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.setTargetPools": set_target_pools
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.listInstanceUpdates": list_instance_updates
+"/reseller:v1/ChangePlanRequest": change_plan_request
+"/reseller:v1/reseller.subscriptions.changeRenewalSettings": change_subscription_renewal_settings
+"/reseller:v1/reseller.subscriptions.changeSeats": change_subscription_seats
+"/resourceviews:v1beta2/ZoneViewsAddResourcesRequest": add_resources_request
+"/resourceviews:v1beta2/ZoneViewsGetServiceResponse": get_service_response
+"/resourceviews:v1beta2/ZoneViewsListResourcesResponse": list_resources_response
+"/resourceviews:v1beta2/ZoneViewsRemoveResourcesRequest": remove_resources_request
+"/resourceviews:v1beta2/ZoneViewsSetServiceRequest": set_service_request
+"/siteVerification:v1/SiteVerificationWebResourceGettokenRequest": get_web_resource_token_request
+"/siteVerification:v1/SiteVerificationWebResourceGettokenResponse": get_web_resource_token_response
+"/siteVerification:v1/SiteVerificationWebResourceGettokenResponse/method": verification_method
+"/siteVerification:v1/SiteVerificationWebResourceListResponse": list_web_resource_response
+"/sqladmin:v1beta4/BackupRunsListResponse": list_backup_runs_response
+"/sqladmin:v1beta4/DatabasesListResponse": list_databases_response
+"/sqladmin:v1beta4/FlagsListResponse": list_flags_response
+"/sqladmin:v1beta4/InstancesCloneRequest": clone_instances_request
+"/sqladmin:v1beta4/InstancesExportRequest": export_instances_request
+"/sqladmin:v1beta4/InstancesImportRequest": import_instances_request
+"/sqladmin:v1beta4/InstancesListResponse": list_instances_response
+"/sqladmin:v1beta4/InstancesRestoreBackupRequest": restore_instances_backup_request
+"/sqladmin:v1beta4/OperationsListResponse": list_operations_response
+"/sqladmin:v1beta4/SslCertsInsertRequest": insert_ssl_certs_request
+"/sqladmin:v1beta4/SslCertsInsertResponse": insert_ssl_certs_response
+"/sqladmin:v1beta4/SslCertsListResponse": list_ssl_certs_response
+"/sqladmin:v1beta4/TiersListResponse": list_tiers_response
+"/sqladmin:v1beta4/UsersListResponse": list_users_response
+"/storage:v1/Bucket/cors": cors_configurations
+"/storage:v1/Bucket/cors/cors_configuration/method": http_method
+"/tagmanager:v1/tagmanager.accounts.containers.create": create_container
+"/tagmanager:v1/tagmanager.accounts.containers.delete": delete_container
+"/tagmanager:v1/tagmanager.accounts.containers.get": get_container
+"/tagmanager:v1/tagmanager.accounts.containers.list": list_containers
+"/tagmanager:v1/tagmanager.accounts.containers.macros.create": create_macro
+"/tagmanager:v1/tagmanager.accounts.containers.macros.delete": delete_macro
+"/tagmanager:v1/tagmanager.accounts.containers.macros.get": get_macro
+"/tagmanager:v1/tagmanager.accounts.containers.macros.list": list_macros
+"/tagmanager:v1/tagmanager.accounts.containers.macros.update": update_macro
+"/tagmanager:v1/tagmanager.accounts.containers.rules.create": create_rule
+"/tagmanager:v1/tagmanager.accounts.containers.rules.delete": delete_rule
+"/tagmanager:v1/tagmanager.accounts.containers.rules.get": get_rule
+"/tagmanager:v1/tagmanager.accounts.containers.rules.list": list_rules
+"/tagmanager:v1/tagmanager.accounts.containers.rules.update": update_rule
+"/tagmanager:v1/tagmanager.accounts.containers.tags.create": create_tag
+"/tagmanager:v1/tagmanager.accounts.containers.tags.delete": delete_tag
+"/tagmanager:v1/tagmanager.accounts.containers.tags.get": get_tag
+"/tagmanager:v1/tagmanager.accounts.containers.tags.list": list_tags
+"/tagmanager:v1/tagmanager.accounts.containers.tags.update": update_tag
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.create": create_trigger
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.delete": delete_trigger
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.get": get_trigger
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.list": list_triggers
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.update": update_trigger
+"/tagmanager:v1/tagmanager.accounts.containers.update": update_container
+"/tagmanager:v1/tagmanager.accounts.containers.variables.create": create_variable
+"/tagmanager:v1/tagmanager.accounts.containers.variables.delete": delete_variable
+"/tagmanager:v1/tagmanager.accounts.containers.variables.get": get_variable
+"/tagmanager:v1/tagmanager.accounts.containers.variables.list": list_variables
+"/tagmanager:v1/tagmanager.accounts.containers.variables.update": update_variable
+"/tagmanager:v1/tagmanager.accounts.containers.versions.create": create_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.delete": delete_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.get": get_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.list": list_versions
+"/tagmanager:v1/tagmanager.accounts.containers.versions.publish": publish_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.restore": restore_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.undelete": undelete_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.update": update_version
+"/tagmanager:v1/tagmanager.accounts.get": get_account
+"/tagmanager:v1/tagmanager.accounts.list": list_accounts
+"/tagmanager:v1/tagmanager.accounts.permissions.create": create_permission
+"/tagmanager:v1/tagmanager.accounts.permissions.delete": delete_permission
+"/tagmanager:v1/tagmanager.accounts.permissions.get": get_permission
+"/tagmanager:v1/tagmanager.accounts.permissions.list": list_permissions
+"/tagmanager:v1/tagmanager.accounts.permissions.update": update_permission
+"/tagmanager:v1/tagmanager.accounts.update": update_account
+"/translate:v2/DetectionsListResponse": list_detections_response
+"/translate:v2/LanguagesListResponse": list_languages_response
+"/translate:v2/TranslationsListResponse": list_translations_response
+"/webmasters:v3/SitemapsListResponse": list_sitemaps_response
+"/webmasters:v3/SitesListResponse": list_sites_response
+"/webmasters:v3/UrlCrawlErrorsCountsQueryResponse": query_url_crawl_errors_counts_response
+"/webmasters:v3/UrlCrawlErrorsSamplesListResponse": list_url_crawl_errors_samples_response
+"/webmasters:v3/webmasters.urlcrawlerrorscounts.query": query_errors_count
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.get": get_errors_sample
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.list": list_errors_samples
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.markAsFixed": mark_as_fixed
+"/youtube:v3/youtube.comments.setModerationStatus": set_comment_moderation_status
+"/youtube:v3/ActivityListResponse": list_activities_response
+"/youtube:v3/CaptionListResponse": list_captions_response
+"/youtube:v3/ChannelListResponse": list_channels_response
+"/youtube:v3/ChannelSectionListResponse": list_channel_sections_response
+"/youtube:v3/CommentListResponse": list_comments_response
+"/youtube:v3/CommentThreadListResponse": list_comment_threads_response
+"/youtube:v3/GuideCategoryListResponse": list_guide_categories_response
+"/youtube:v3/I18nLanguageListResponse": list_i18n_languages_response
+"/youtube:v3/I18nRegionListResponse": list_i18n_regions_response
+"/youtube:v3/LiveBroadcastListResponse": list_live_broadcasts_response
+"/youtube:v3/LiveStreamListResponse": list_live_streams_response
+"/youtube:v3/PlaylistItemListResponse": list_playlist_items_response
+"/youtube:v3/PlaylistListResponse": list_playlist_response
+"/youtube:v3/SearchListResponse": search_lists_response
+"/youtube:v3/SubscriptionListResponse": list_subscription_response
+"/youtube:v3/ThumbnailSetResponse": set_thumbnail_response
+"/youtube:v3/VideoAbuseReportReasonListResponse": list_video_abuse_report_reason_response
+"/youtube:v3/VideoCategoryListResponse": list_video_category_response
+"/youtube:v3/VideoGetRatingResponse": get_video_rating_response
+"/youtube:v3/VideoListResponse": list_videos_response
+"/youtubeAnalytics:v1/GroupItemListResponse": list_group_item_response
+"/youtubeAnalytics:v1/GroupListResponse": list_groups_response
diff --git a/api_names_out.yaml b/api_names_out.yaml
new file mode 100644
index 000000000..6be5fe86e
--- /dev/null
+++ b/api_names_out.yaml
@@ -0,0 +1,20797 @@
+---
+"/adexchangebuyer:v1.3/PerformanceReport/latency50thPercentile": latency_50th_percentile
+"/adexchangebuyer:v1.3/PerformanceReport/latency85thPercentile": latency_85th_percentile
+"/adexchangebuyer:v1.3/PerformanceReport/latency95thPercentile": latency_95th_percentile
+"/adexchangeseller:v2.0/adexchangeseller.accounts.adclients.list": list_account_ad_clients
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.get": get_account_custom_channel
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.list": list_account_custom_channels
+"/adexchangeseller:v2.0/adexchangeseller.accounts.metadata.dimensions.list": list_account_metadata_dimensions
+"/adexchangeseller:v2.0/adexchangeseller.accounts.metadata.metrics.list": list_account_metadata_metrics
+"/adexchangeseller:v2.0/adexchangeseller.accounts.preferreddeals.get": get_account_preferred_deal
+"/adexchangeseller:v2.0/adexchangeseller.accounts.preferreddeals.list": list_account_preferred_deals
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.generate": generate_account_saved_report
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.list": list_account_saved_reports
+"/adexchangeseller:v2.0/adexchangeseller.accounts.urlchannels.list": list_account_url_channels
+"/admin:directory_v1/directory.chromeosdevices.get": get_chrome_os_device
+"/admin:directory_v1/directory.chromeosdevices.list": list_chrome_os_devices
+"/admin:directory_v1/directory.chromeosdevices.patch": patch_chrome_os_device
+"/admin:directory_v1/directory.chromeosdevices.update": update_chrome_os_device
+"/admin:directory_v1/directory.groups.aliases.delete/alias": group_alias
+"/admin:directory_v1/directory.mobiledevices.action": action_mobile_device
+"/admin:directory_v1/directory.mobiledevices.delete": delete_mobile_device
+"/admin:directory_v1/directory.mobiledevices.get": get_mobile_device
+"/admin:directory_v1/directory.mobiledevices.list": list_mobile_devices
+"/admin:directory_v1/directory.orgunits.delete": delete_org_unit
+"/admin:directory_v1/directory.orgunits.get": get_org_unit
+"/admin:directory_v1/directory.orgunits.insert": insert_org_unit
+"/admin:directory_v1/directory.orgunits.list": list_org_units
+"/admin:directory_v1/directory.orgunits.patch": patch_org_unit
+"/admin:directory_v1/directory.orgunits.update": update_org_unit
+"/admin:directory_v1/directory.users.aliases.delete/alias": user_alias
+"/adsense:v1.4/AdsenseReportsGenerateResponse": generate_report_response
+"/adsense:v1.4/adsense.accounts.adclients.list": list_account_ad_clients
+"/adsense:v1.4/adsense.accounts.adunits.customchannels.list": list_account_ad_unit_custom_channels
+"/adsense:v1.4/adsense.accounts.adunits.get": get_account_ad_unit
+"/adsense:v1.4/adsense.accounts.adunits.getAdCode": get_account_ad_unit_ad_code
+"/adsense:v1.4/adsense.accounts.adunits.list": list_account_ad_units
+"/adsense:v1.4/adsense.accounts.customchannels.adunits.list": list_account_custom_channel_ad_units
+"/adsense:v1.4/adsense.accounts.customchannels.get": get_account_custom_channel
+"/adsense:v1.4/adsense.accounts.customchannels.list": list_account_custom_channels
+"/adsense:v1.4/adsense.accounts.reports.saved.generate": generate_account_saved_report
+"/adsense:v1.4/adsense.accounts.reports.saved.list": list_account_saved_reports
+"/adsense:v1.4/adsense.accounts.savedadstyles.get": get_account_saved_ad_style
+"/adsense:v1.4/adsense.accounts.savedadstyles.list": list_account_saved_ad_styles
+"/adsense:v1.4/adsense.accounts.urlchannels.list": list_account_url_channels
+"/adsense:v1.4/adsense.adclients.list": list_ad_clients
+"/adsense:v1.4/adsense.adunits.customchannels.list": list_ad_unit_custom_channels
+"/adsense:v1.4/adsense.adunits.get": get_ad_unit
+"/adsense:v1.4/adsense.adunits.getAdCode": get_ad_code_ad_unit
+"/adsense:v1.4/adsense.adunits.list": list_ad_units
+"/adsense:v1.4/adsense.customchannels.adunits.list": list_custom_channel_ad_units
+"/adsense:v1.4/adsense.customchannels.get": get_custom_channel
+"/adsense:v1.4/adsense.customchannels.list": list_custom_channels
+"/adsense:v1.4/adsense.metadata.dimensions.list": list_metadata_dimensions
+"/adsense:v1.4/adsense.metadata.metrics.list": list_metadata_metrics
+"/adsense:v1.4/adsense.reports.saved.generate": generate_saved_report
+"/adsense:v1.4/adsense.reports.saved.list": list_saved_reports
+"/adsense:v1.4/adsense.savedadstyles.get": get_saved_ad_style
+"/adsense:v1.4/adsense.savedadstyles.list": list_saved_ad_styles
+"/adsense:v1.4/adsense.urlchannels.list": list_url_channels
+"/adsensehost:v4.1/adsensehost.accounts.adclients.get": get_account_ad_client
+"/adsensehost:v4.1/adsensehost.accounts.adclients.list": list_account_ad_clients
+"/adsensehost:v4.1/adsensehost.accounts.adunits.delete": delete_account_ad_unit
+"/adsensehost:v4.1/adsensehost.accounts.adunits.get": get_account_ad_unit
+"/adsensehost:v4.1/adsensehost.accounts.adunits.getAdCode": get_account_ad_unit_ad_code
+"/adsensehost:v4.1/adsensehost.accounts.adunits.insert": insert_account_ad_unit
+"/adsensehost:v4.1/adsensehost.accounts.adunits.list": list_account_ad_units
+"/adsensehost:v4.1/adsensehost.accounts.adunits.patch": patch_account_ad_unit
+"/adsensehost:v4.1/adsensehost.accounts.adunits.update": update_account_ad_unit
+"/adsensehost:v4.1/adsensehost.adclients.get": get_ad_client
+"/adsensehost:v4.1/adsensehost.adclients.list": list_ad_clients
+"/adsensehost:v4.1/adsensehost.associationsessions.start": start_association_session
+"/adsensehost:v4.1/adsensehost.associationsessions.verify": verify_association_session
+"/adsensehost:v4.1/adsensehost.customchannels.delete": delete_custom_channel
+"/adsensehost:v4.1/adsensehost.customchannels.get": get_custom_channel
+"/adsensehost:v4.1/adsensehost.customchannels.insert": insert_custom_channel
+"/adsensehost:v4.1/adsensehost.customchannels.list": list_custom_channels
+"/adsensehost:v4.1/adsensehost.customchannels.patch": patch_custom_channel
+"/adsensehost:v4.1/adsensehost.customchannels.update": update_custom_channel
+"/adsensehost:v4.1/adsensehost.urlchannels.delete": delete_url_channel
+"/adsensehost:v4.1/adsensehost.urlchannels.insert": insert_url_channel
+"/adsensehost:v4.1/adsensehost.urlchannels.list": list_url_channels
+"/analytics:v3/AnalyticsDataimportDeleteUploadDataRequest": delete_upload_data_request
+"/analytics:v3/UnsampledReport/cloudStorageDownloadDetails/objectId": obj_id
+"/analytics:v3/analytics.data.ga.get": get_ga_data
+"/analytics:v3/analytics.data.mcf.get": get_mcf_data
+"/analytics:v3/analytics.data.realtime.get": get_realtime_data
+"/analytics:v3/analytics.management.accountSummaries.list": list_account_summaries
+"/analytics:v3/analytics.management.accountUserLinks.delete": delete_account_user_link
+"/analytics:v3/analytics.management.accountUserLinks.insert": insert_account_user_link
+"/analytics:v3/analytics.management.accountUserLinks.list": list_account_user_links
+"/analytics:v3/analytics.management.accountUserLinks.update": update_account_user_link
+"/analytics:v3/analytics.management.accounts.list": list_accounts
+"/analytics:v3/analytics.management.customDataSources.list": list_custom_data_sources
+"/analytics:v3/analytics.management.customDimensions.get": get_custom_dimension
+"/analytics:v3/analytics.management.customDimensions.insert": insert_custom_dimension
+"/analytics:v3/analytics.management.customDimensions.list": list_custom_dimensions
+"/analytics:v3/analytics.management.customDimensions.patch": patch_custom_dimension
+"/analytics:v3/analytics.management.customDimensions.update": update_custom_dimension
+"/analytics:v3/analytics.management.customMetrics.get": get_custom_metric
+"/analytics:v3/analytics.management.customMetrics.insert": insert_custom_metric
+"/analytics:v3/analytics.management.customMetrics.list": list_custom_metrics
+"/analytics:v3/analytics.management.customMetrics.patch": patch_custom_metric
+"/analytics:v3/analytics.management.customMetrics.update": update_custom_metric
+"/analytics:v3/analytics.management.experiments.delete": delete_experiment
+"/analytics:v3/analytics.management.experiments.get": get_experiment
+"/analytics:v3/analytics.management.experiments.insert": insert_experiment
+"/analytics:v3/analytics.management.experiments.list": list_experiments
+"/analytics:v3/analytics.management.experiments.patch": patch_experiment
+"/analytics:v3/analytics.management.experiments.update": update_experiment
+"/analytics:v3/analytics.management.filters.delete": delete_filter
+"/analytics:v3/analytics.management.filters.get": get_filter
+"/analytics:v3/analytics.management.filters.insert": insert_filter
+"/analytics:v3/analytics.management.filters.list": list_filters
+"/analytics:v3/analytics.management.filters.patch": patch_filter
+"/analytics:v3/analytics.management.filters.update": update_filter
+"/analytics:v3/analytics.management.goals.get": get_goal
+"/analytics:v3/analytics.management.goals.insert": insert_goal
+"/analytics:v3/analytics.management.goals.list": list_goals
+"/analytics:v3/analytics.management.goals.patch": patch_goal
+"/analytics:v3/analytics.management.goals.update": update_goal
+"/analytics:v3/analytics.management.profileFilterLinks.delete": delete_profile_filter_link
+"/analytics:v3/analytics.management.profileFilterLinks.get": get_profile_filter_link
+"/analytics:v3/analytics.management.profileFilterLinks.insert": insert_profile_filter_link
+"/analytics:v3/analytics.management.profileFilterLinks.list": list_profile_filter_links
+"/analytics:v3/analytics.management.profileFilterLinks.patch": patch_profile_filter_link
+"/analytics:v3/analytics.management.profileFilterLinks.update": update_profile_filter_link
+"/analytics:v3/analytics.management.profileUserLinks.delete": delete_profile_user_link
+"/analytics:v3/analytics.management.profileUserLinks.insert": insert_profile_user_link
+"/analytics:v3/analytics.management.profileUserLinks.list": list_profile_user_links
+"/analytics:v3/analytics.management.profileUserLinks.update": update_profile_user_link
+"/analytics:v3/analytics.management.profiles.delete": delete_profile
+"/analytics:v3/analytics.management.profiles.get": get_profile
+"/analytics:v3/analytics.management.profiles.insert": insert_profile
+"/analytics:v3/analytics.management.profiles.list": list_profiles
+"/analytics:v3/analytics.management.profiles.patch": patch_profile
+"/analytics:v3/analytics.management.profiles.update": update_profile
+"/analytics:v3/analytics.management.segments.list": list_segments
+"/analytics:v3/analytics.management.unsampledReports.get": get_unsampled_report
+"/analytics:v3/analytics.management.unsampledReports.insert": insert_unsampled_report
+"/analytics:v3/analytics.management.unsampledReports.list": list_unsampled_reports
+"/analytics:v3/analytics.management.uploads.deleteUploadData": delete_upload_data
+"/analytics:v3/analytics.management.uploads.get": get_upload
+"/analytics:v3/analytics.management.uploads.list": list_uploads
+"/analytics:v3/analytics.management.uploads.uploadData": upload_data
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.delete": delete_web_property_ad_words_link
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.get": get_web_property_ad_words_link
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.insert": insert_web_property_ad_words_link
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.list": list_web_property_ad_words_links
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.patch": patch_web_property_ad_words_link
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.update": update_web_property_ad_words_link
+"/analytics:v3/analytics.management.webproperties.get": get_web_property
+"/analytics:v3/analytics.management.webproperties.insert": insert_web_property
+"/analytics:v3/analytics.management.webproperties.list": list_web_properties
+"/analytics:v3/analytics.management.webproperties.patch": patch_web_property
+"/analytics:v3/analytics.management.webproperties.update": update_web_property
+"/analytics:v3/analytics.management.webpropertyUserLinks.delete": delete_web_property_user_link
+"/analytics:v3/analytics.management.webpropertyUserLinks.insert": insert_web_property_user_link
+"/analytics:v3/analytics.management.webpropertyUserLinks.list": list_web_property_user_links
+"/analytics:v3/analytics.management.webpropertyUserLinks.update": update_web_property_user_link
+"/analytics:v3/analytics.metadata.columns.list": list_metadata_columns
+"/analytics:v3/analytics.provisioning.createAccountTicket": create_account_ticket
+"/androidenterprise:v1/CollectionViewersListResponse": list_collection_viewers_response
+"/androidenterprise:v1/CollectionsListResponse": list_collections_response
+"/androidenterprise:v1/DevicesListResponse": list_devices_response
+"/androidenterprise:v1/EnterprisesListResponse": list_enterprises_response
+"/androidenterprise:v1/EntitlementsListResponse": list_entitlements_response
+"/androidenterprise:v1/GroupLicenseUsersListResponse": list_group_license_users_response
+"/androidenterprise:v1/GroupLicensesListResponse": list_group_licenses_response
+"/androidenterprise:v1/InstallsListResponse": list_installs_response
+"/androidenterprise:v1/UsersListResponse": list_users_response
+"/androidenterprise:v1/androidenterprise.collectionviewers.delete": delete_collection_viewer
+"/androidenterprise:v1/androidenterprise.collectionviewers.get": get_collection_viewer
+"/androidenterprise:v1/androidenterprise.collectionviewers.list": list_collection_viewers
+"/androidenterprise:v1/androidenterprise.collectionviewers.patch": patch_collection_viewer
+"/androidenterprise:v1/androidenterprise.collectionviewers.update": update_collection_viewer
+"/androidenterprise:v1/androidenterprise.grouplicenses.get": get_group_license
+"/androidenterprise:v1/androidenterprise.grouplicenses.list": list_group_licenses
+"/androidenterprise:v1/androidenterprise.grouplicenseusers.list": list_group_license_users
+"/androidenterprise:v1/androidenterprise.products.generateApprovalUrl": generate_product_approval_url
+"/androidenterprise:v1/androidenterprise.products.getAppRestrictionsSchema": get_product_app_restrictions_schema
+"/androidenterprise:v1/androidenterprise.products.getPermissions": get_product_permissions
+"/androidenterprise:v1/androidenterprise.products.updatePermissions": update_product_permissions
+"/androidenterprise:v1/androidenterprise.users.generateToken": generate_user_token
+"/androidenterprise:v1/androidenterprise.users.revokeToken": revoke_user_token
+"/androidenterprise:v1/ProductsGenerateApprovalUrlResponse": generate_product_approval_url_response
+"/androidenterprise:v1/ProductsApproveRequest": approve_product_request
+"/androidpublisher:v2/ApkListingsListResponse": list_apk_listings_response
+"/androidpublisher:v2/ApksAddExternallyHostedRequest": apks_add_externally_hosted_request
+"/androidpublisher:v2/ApksAddExternallyHostedResponse": apks_add_externally_hosted_response
+"/androidpublisher:v2/ApksListResponse": list_apks_response
+"/androidpublisher:v2/EntitlementsListResponse": list_entitlements_response
+"/androidpublisher:v2/ExpansionFilesUploadResponse": upload_expansion_files_response
+"/androidpublisher:v2/ImagesDeleteAllResponse": images_delete_all_response
+"/androidpublisher:v2/ImagesListResponse": list_images_response
+"/androidpublisher:v2/ImagesUploadResponse": upload_images_response
+"/androidpublisher:v2/InappproductsBatchRequest": in_app_products_batch_request
+"/androidpublisher:v2/InappproductsBatchRequestEntry": in_app_products_batch_request_entry
+"/androidpublisher:v2/InappproductsBatchResponse": in_app_products_batch_response
+"/androidpublisher:v2/InappproductsBatchResponseEntry": in_app_products_batch_response_entry
+"/androidpublisher:v2/InappproductsInsertRequest": insert_in_app_products_request
+"/androidpublisher:v2/InappproductsInsertResponse": insert_in_app_products_response
+"/androidpublisher:v2/InappproductsListResponse": list_in_app_products_response
+"/androidpublisher:v2/InappproductsUpdateRequest": update_in_app_products_request
+"/androidpublisher:v2/InappproductsUpdateResponse": update_in_app_products_response
+"/androidpublisher:v2/ListingsListResponse": list_listings_response
+"/androidpublisher:v2/SubscriptionPurchasesDeferRequest": defer_subscription_purchases_request
+"/androidpublisher:v2/SubscriptionPurchasesDeferResponse": defer_subscription_purchases_response
+"/androidpublisher:v2/TracksListResponse": list_tracks_response
+"/androidpublisher:v2/androidpublisher.edits.apklistings.delete": delete_apk_listing
+"/androidpublisher:v2/androidpublisher.edits.apklistings.deleteall": delete_all_apk_listings
+"/androidpublisher:v2/androidpublisher.edits.apklistings.get": get_apk_listing
+"/androidpublisher:v2/androidpublisher.edits.apklistings.list": list_apk_listings
+"/androidpublisher:v2/androidpublisher.edits.apklistings.patch": patch_apk_listing
+"/androidpublisher:v2/androidpublisher.edits.apklistings.update": update_apk_listing
+"/androidpublisher:v2/androidpublisher.edits.apks.addexternallyhosted": add_externally_hosted_apk
+"/androidpublisher:v2/androidpublisher.edits.apks.list": list_apks
+"/androidpublisher:v2/androidpublisher.edits.apks.upload": upload_apk
+"/androidpublisher:v2/androidpublisher.edits.details.get": get_detail
+"/androidpublisher:v2/androidpublisher.edits.details.patch": patch_detail
+"/androidpublisher:v2/androidpublisher.edits.details.update": update_detail
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.get": get_expansion_file
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.patch": patch_expansion_file
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.update": update_expansion_file
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.upload": upload_expansion_file
+"/androidpublisher:v2/androidpublisher.edits.images.delete": delete_image
+"/androidpublisher:v2/androidpublisher.edits.images.deleteall": delete_all_images
+"/androidpublisher:v2/androidpublisher.edits.images.list": list_images
+"/androidpublisher:v2/androidpublisher.edits.images.upload": upload_image
+"/androidpublisher:v2/androidpublisher.edits.listings.delete": delete_listing
+"/androidpublisher:v2/androidpublisher.edits.listings.deleteall": delete_all_listings
+"/androidpublisher:v2/androidpublisher.edits.listings.get": get_listing
+"/androidpublisher:v2/androidpublisher.edits.listings.list": list_listings
+"/androidpublisher:v2/androidpublisher.edits.listings.patch": patch_listing
+"/androidpublisher:v2/androidpublisher.edits.listings.update": update_listing
+"/androidpublisher:v2/androidpublisher.edits.testers.get": get_tester
+"/androidpublisher:v2/androidpublisher.edits.testers.patch": patch_tester
+"/androidpublisher:v2/androidpublisher.edits.testers.update": update_tester
+"/androidpublisher:v2/androidpublisher.edits.tracks.get": get_track
+"/androidpublisher:v2/androidpublisher.edits.tracks.list": list_tracks
+"/androidpublisher:v2/androidpublisher.edits.tracks.patch": patch_track
+"/androidpublisher:v2/androidpublisher.edits.tracks.update": update_track
+"/androidpublisher:v2/androidpublisher.entitlements.list": list_entitlements
+"/androidpublisher:v2/androidpublisher.inappproducts.batch": batch_update_in_app_products
+"/androidpublisher:v2/androidpublisher.inappproducts.delete": delete_in_app_product
+"/androidpublisher:v2/androidpublisher.inappproducts.get": get_in_app_product
+"/androidpublisher:v2/androidpublisher.inappproducts.insert": insert_in_app_product
+"/androidpublisher:v2/androidpublisher.inappproducts.list": list_in_app_products
+"/androidpublisher:v2/androidpublisher.inappproducts.patch": patch_in_app_product
+"/androidpublisher:v2/androidpublisher.inappproducts.update": update_in_app_product
+"/androidpublisher:v2/androidpublisher.purchases.products.get": get_purchase_product
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.cancel": cancel_purchase_subscription
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.defer": defer_purchase_subscription
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.get": get_purchase_subscription
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.refund": refund_purchase_subscription
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.revoke": revoke_purchase_subscription
+"/autoscaler:v1beta2/AutoscalerListResponse": list_autoscaler_response
+"/bigquery:v2/TableDataInsertAllRequest": insert_all_table_data_request
+"/bigquery:v2/TableDataInsertAllResponse": insert_all_table_data_response
+"/bigquery:v2/bigquery.jobs.getQueryResults": get_job_query_results
+"/bigquery:v2/bigquery.tabledata.insertAll": insert_all_table_data
+"/bigquery:v2/bigquery.tabledata.list": list_table_data
+"/bigquery:v2/JobCancelResponse": cancel_job_response
+"/blogger:v3/blogger.blogs.getByUrl": get_blog_by_url
+"/blogger:v3/blogger.blogs.listByUser": list_blogs_by_user
+"/blogger:v3/blogger.comments.listByBlog": list_comments_by_blog
+"/blogger:v3/blogger.comments.markAsSpam": mark_comment_as_spam
+"/blogger:v3/blogger.comments.removeContent": remove_comment_content
+"/blogger:v3/blogger.postUserInfos.get": get_post_user_info
+"/blogger:v3/blogger.postUserInfos.list": list_post_user_info
+"/blogger:v3/blogger.posts.getByPath": get_post_by_path
+"/books:v1/Annotationdata": annotation_data
+"/books:v1/AnnotationsSummary": annotations_summary
+"/books:v1/Annotationsdata": annotations_data
+"/books:v1/BooksAnnotationsRange": annotatins_Range
+"/books:v1/BooksCloudloadingResource": loading_resource
+"/books:v1/BooksVolumesRecommendedRateResponse": rate_recommended_volume_response
+"/books:v1/Dictlayerdata": dict_layer_data
+"/books:v1/Geolayerdata": geo_layer_data
+"/books:v1/Layersummaries": layer_summaries
+"/books:v1/Layersummary": layer_summary
+"/books:v1/Usersettings": user_settings
+"/books:v1/Volumeannotation": volume_annotation
+"/books:v1/books.bookshelves.get": get_bookshelf
+"/books:v1/books.bookshelves.list": list_bookshelves
+"/books:v1/books.bookshelves.volumes.list": list_bookshelf_volumes
+"/books:v1/books.cloudloading.addBook": add_book
+"/books:v1/books.cloudloading.deleteBook": delete_book
+"/books:v1/books.cloudloading.updateBook": update_book
+"/books:v1/books.dictionary.listOfflineMetadata": list_offline_metadata_dictionary
+"/books:v1/books.layers.annotationData.get": get_layer_annotation_data
+"/books:v1/books.layers.annotationData.list": list_layer_annotation_data
+"/books:v1/books.layers.get": get_layer
+"/books:v1/books.layers.list": list_layers
+"/books:v1/books.layers.volumeAnnotations.get": get_layer_volume_annotation
+"/books:v1/books.layers.volumeAnnotations.list": list_layer_volume_annotations
+"/books:v1/books.myconfig.getUserSettings": get_user_settings
+"/books:v1/books.myconfig.releaseDownloadAccess": release_download_access
+"/books:v1/books.myconfig.requestAccess": request_access
+"/books:v1/books.myconfig.syncVolumeLicenses": sync_volume_licenses
+"/books:v1/books.myconfig.updateUserSettings": update_user_settings
+"/books:v1/books.mylibrary.annotations.delete": delete_my_library_annotation
+"/books:v1/books.mylibrary.annotations.insert": insert_my_library_annotation
+"/books:v1/books.mylibrary.annotations.list": list_my_library_annotations
+"/books:v1/books.mylibrary.annotations.summary": summarize_my_library_annotation
+"/books:v1/books.mylibrary.annotations.update": update_my_library_annotation
+"/books:v1/books.mylibrary.bookshelves.addVolume": add_my_library_volume
+"/books:v1/books.mylibrary.bookshelves.clearVolumes": clear_my_library_volumes
+"/books:v1/books.mylibrary.bookshelves.get": get_my_library_bookshelf
+"/books:v1/books.mylibrary.bookshelves.list": list_my_library_bookshelves
+"/books:v1/books.mylibrary.bookshelves.moveVolume": move_my_library_volume
+"/books:v1/books.mylibrary.bookshelves.removeVolume": remove_my_library_volume
+"/books:v1/books.mylibrary.bookshelves.volumes.list": list_my_library_volumes
+"/books:v1/books.mylibrary.readingpositions.get": get_my_library_reading_position
+"/books:v1/books.mylibrary.readingpositions.setPosition": set_my_library_reading_position
+"/books:v1/books.onboarding.listCategories": list_onboarding_categories
+"/books:v1/books.onboarding.listCategoryVolumes": list_onboarding_category_volumes
+"/books:v1/books.promooffer.accept": accept_promo_offer
+"/books:v1/books.promooffer.dismiss": dismiss_promo_offer
+"/books:v1/books.promooffer.get": get_promo_offer
+"/books:v1/books.volumes.associated.list": list_associated_volumes
+"/books:v1/books.volumes.mybooks.list": list_my_books
+"/books:v1/books.volumes.recommended.list": list_recommended_volumes
+"/books:v1/books.volumes.recommended.rate": rate_recommended_volume
+"/books:v1/books.volumes.useruploaded.list": list_user_uploaded_volumes
+"/calendar:v3/CalendarNotification/method": delivery_method
+"/calendar:v3/Event/gadget/display": display_mode
+"/calendar:v3/EventReminder/method": reminder_method
+"/civicinfo:v2/DivisionSearchResponse": search_division_response
+"/civicinfo:v2/ElectionsQueryResponse": query_elections_response
+"/civicinfo:v2/civicinfo.divisions.search": search_divisions
+"/civicinfo:v2/civicinfo.elections.electionQuery": query_election
+"/civicinfo:v2/civicinfo.elections.voterInfoQuery": query_voter_info
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByAddress": representative_info_by_address
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByDivision": representative_info_by_division
+"/compute:v1/DiskMoveRequest": move_disk_request
+"/compute:v1/InstanceMoveRequest": move_instance_request
+"/compute:v1/TargetPoolsAddHealthCheckRequest": add_target_pools_health_check_request
+"/compute:v1/TargetPoolsAddInstanceRequest": add_target_pools_instance_request
+"/compute:v1/TargetPoolsRemoveHealthCheckRequest": remove_target_pools_health_check_request
+"/compute:v1/TargetPoolsRemoveInstanceRequest": remove_target_pools_instance_request
+"/compute:v1/UrlMapsValidateRequest": validate_url_maps_request
+"/compute:v1/UrlMapsValidateResponse": validate_url_maps_response
+"/compute:v1/compute.addresses.aggregatedList": list_aggregated_addresses
+"/compute:v1/compute.backendServices.getHealth": get_backend_service_health
+"/compute:v1/compute.diskTypes.aggregatedList": list_aggregated_disk_types
+"/compute:v1/compute.disks.aggregatedList": list_aggregated_disk
+"/compute:v1/compute.disks.createSnapshot": create_disk_snapshot
+"/compute:v1/compute.forwardingRules.aggregatedList": list_aggregated_forwarding_rules
+"/compute:v1/compute.forwardingRules.setTarget": set_forwarding_rule_target
+"/compute:v1/compute.globalForwardingRules.setTarget": set_global_forwarding_rule_target
+"/compute:v1/compute.globalOperations.aggregatedList": list_aggregated_global_operation
+"/compute:v1/compute.instances.addAccessConfig": add_instance_access_config
+"/compute:v1/compute.instances.aggregatedList": list_aggregated_instances
+"/compute:v1/compute.instances.attachDisk": attach_disk
+"/compute:v1/compute.instances.deleteAccessConfig": delete_instance_access_config
+"/compute:v1/compute.instances.detachDisk": detach_disk
+"/compute:v1/compute.instances.getSerialPortOutput": get_instance_serial_port_output
+"/compute:v1/compute.instances.setDiskAutoDelete": set_disk_auto_delete
+"/compute:v1/compute.instances.setMetadata": set_instance_metadata
+"/compute:v1/compute.instances.setScheduling": set_instance_scheduling
+"/compute:v1/compute.instances.setTags": set_instance_tags
+"/compute:v1/compute.machineTypes.aggregatedList": list_aggregated_machine_types
+"/compute:v1/compute.projects.moveDisk": move_disk
+"/compute:v1/compute.projects.moveInstance": move_instance
+"/compute:v1/compute.projects.setCommonInstanceMetadata": set_common_instance_metadata
+"/compute:v1/compute.projects.setUsageExportBucket": set_usage_export_bucket
+"/compute:v1/compute.targetHttpProxies.setUrlMap": set_target_http_proxy_url_map
+"/compute:v1/compute.targetInstances.aggregatedList": list_aggregated_target_instance
+"/compute:v1/compute.targetPools.addHealthCheck": add_target_pool_health_check
+"/compute:v1/compute.targetPools.addInstance": add_target_pool_instance
+"/compute:v1/compute.targetPools.aggregatedList": list_aggregated_target_pools
+"/compute:v1/compute.targetPools.getHealth": get_target_pool_health
+"/compute:v1/compute.targetPools.removeHealthCheck": remove_target_pool_health_check
+"/compute:v1/compute.targetPools.removeInstance": remove_target_pool_instance
+"/compute:v1/compute.targetPools.setBackup": set_target_pool_backup
+"/compute:v1/compute.targetVpnGateways.aggregatedList": list_aggregated_target_vpn_gateways
+"/compute:v1/compute.targetVpnGateways.delete": delete_target_vpn_gateway
+"/compute:v1/compute.targetVpnGateways.get": get_target_vpn_gateway
+"/compute:v1/compute.targetVpnGateways.insert": insert_target_vpn_gateway
+"/compute:v1/compute.targetVpnGateways.list": list_target_vpn_gateways
+"/compute:v1/compute.vpnTunnels.aggregatedList": list_aggregated_vpn_tunnel
+"/container:v1beta1/container.projects.clusters.list": list_clusters
+"/container:v1beta1/container.projects.operations.list": list_operations
+"/container:v1beta1/container.projects.zones.clusters.create": create_cluster
+"/container:v1beta1/container.projects.zones.clusters.delete": delete_zone_cluster
+"/container:v1beta1/container.projects.zones.clusters.get": get_zone_cluster
+"/container:v1beta1/container.projects.zones.clusters.list": list_zone_clusters
+"/container:v1beta1/container.projects.zones.operations.get": get_zone_operation
+"/container:v1beta1/container.projects.zones.operations.list": list_zone_operations
+"/container:v1beta1/container.projects.zones.tokens.get": get_zone_token
+"/content:v2/AccountsAuthInfoResponse": accounts_auth_info_response
+"/content:v2/AccountsCustomBatchRequest": batch_accounts_request
+"/content:v2/AccountsCustomBatchRequestEntry": accounts_batch_request_entry
+"/content:v2/AccountsCustomBatchRequestEntry/method": request_method
+"/content:v2/AccountsCustomBatchResponse": batch_accounts_response
+"/content:v2/AccountsCustomBatchResponseEntry": accounts_batch_response_entry
+"/content:v2/AccountsListResponse": list_accounts_response
+"/content:v2/AccountshippingCustomBatchRequest": batch_account_shipping_request
+"/content:v2/AccountshippingCustomBatchRequestEntry": account_shipping_batch_request_entry
+"/content:v2/AccountshippingCustomBatchRequestEntry/method": request_method
+"/content:v2/AccountshippingCustomBatchResponse": batch_account_shipping_response
+"/content:v2/AccountshippingCustomBatchResponseEntry": account_shipping_batch_response_entry
+"/content:v2/AccountshippingListResponse": list_account_shipping_response
+"/content:v2/AccountstatusesCustomBatchRequest": batch_account_statuses_request
+"/content:v2/AccountstatusesCustomBatchRequestEntry": account_statuses_batch_request_entry
+"/content:v2/AccountstatusesCustomBatchRequestEntry/method": request_method
+"/content:v2/AccountstatusesCustomBatchResponse": batch_account_statuses_response
+"/content:v2/AccountstatusesCustomBatchResponseEntry": account_statuses_batch_response_entry
+"/content:v2/AccountstatusesListResponse": list_account_statuses_response
+"/content:v2/AccounttaxCustomBatchRequest": batch_account_tax_request
+"/content:v2/AccounttaxCustomBatchRequestEntry": account_tax_batch_request_entry
+"/content:v2/AccounttaxCustomBatchRequestEntry/method": request_method
+"/content:v2/AccounttaxCustomBatchResponse": batch_account_tax_response
+"/content:v2/AccounttaxCustomBatchResponseEntry": account_tax_batch_response_entry
+"/content:v2/AccounttaxListResponse": list_account_tax_response
+"/content:v2/DatafeedsCustomBatchRequest": batch_datafeeds_request
+"/content:v2/DatafeedsCustomBatchRequestEntry": datafeeds_batch_request_entry
+"/content:v2/DatafeedsCustomBatchRequestEntry/method": request_method
+"/content:v2/DatafeedsCustomBatchResponse": batch_datafeeds_response
+"/content:v2/DatafeedsCustomBatchResponseEntry": datafeeds_batch_response_entry
+"/content:v2/DatafeedsListResponse": list_datafeeds_response
+"/content:v2/DatafeedstatusesCustomBatchRequest": batch_datafeed_statuses_request
+"/content:v2/DatafeedstatusesCustomBatchRequestEntry": datafeed_statuses_batch_request_entry
+"/content:v2/DatafeedstatusesCustomBatchRequestEntry/method": request_method
+"/content:v2/DatafeedstatusesCustomBatchResponse": batch_datafeed_statuses_response
+"/content:v2/DatafeedstatusesCustomBatchResponseEntry": datafeed_statuses_batch_response_entry
+"/content:v2/DatafeedstatusesListResponse": list_datafeed_statuses_response
+"/content:v2/InventoryCustomBatchRequest": batch_inventory_request
+"/content:v2/InventoryCustomBatchRequestEntry": inventory_batch_request_entry
+"/content:v2/InventoryCustomBatchResponse": batch_inventory_response
+"/content:v2/InventoryCustomBatchResponseEntry": inventory_batch_response_entry
+"/content:v2/InventorySetRequest": set_inventory_request
+"/content:v2/InventorySetResponse": set_inventory_response
+"/content:v2/ProductsCustomBatchRequest": batch_products_request
+"/content:v2/ProductsCustomBatchRequestEntry": products_batch_request_entry
+"/content:v2/ProductsCustomBatchRequestEntry/method": request_method
+"/content:v2/ProductsCustomBatchResponse": batch_products_response
+"/content:v2/ProductsCustomBatchResponseEntry": products_batch_response_entry
+"/content:v2/ProductsListResponse": list_products_response
+"/content:v2/ProductstatusesCustomBatchRequest": batch_product_statuses_request
+"/content:v2/ProductstatusesCustomBatchRequestEntry": product_statuses_batch_request_entry
+"/content:v2/ProductstatusesCustomBatchRequestEntry/method": request_method
+"/content:v2/ProductstatusesCustomBatchResponse": batch_product_statuses_response
+"/content:v2/ProductstatusesCustomBatchResponseEntry": product_statuses_batch_response_entry
+"/content:v2/ProductstatusesListResponse": list_product_statuses_response
+"/content:v2/content.accounts.authinfo": get_account_authinfo
+"/content:v2/content.accounts.custombatch": batch_account
+"/content:v2/content.accountshipping.custombatch": batch_account_shipping
+"/content:v2/content.accountshipping.get": get_account_shipping
+"/content:v2/content.accountshipping.list": list_account_shippings
+"/content:v2/content.accountshipping.patch": patch_account_shipping
+"/content:v2/content.accountshipping.update": update_account_shipping
+"/content:v2/content.accountstatuses.custombatch": batch_account_status
+"/content:v2/content.accountstatuses.get": get_account_status
+"/content:v2/content.accountstatuses.list": list_account_statuses
+"/content:v2/content.accounttax.custombatch": batch_account_tax
+"/content:v2/content.accounttax.get": get_account_tax
+"/content:v2/content.accounttax.list": list_account_taxes
+"/content:v2/content.accounttax.patch": patch_account_tax
+"/content:v2/content.accounttax.update": update_account_tax
+"/content:v2/content.datafeeds.custombatch": batch_datafeed
+"/content:v2/content.datafeedstatuses.custombatch": batch_datafeed_status
+"/content:v2/content.datafeedstatuses.get": get_datafeed_status
+"/content:v2/content.datafeedstatuses.list": list_datafeed_statuses
+"/content:v2/content.inventory.custombatch": batch_inventory
+"/content:v2/content.inventory.set": set_inventory
+"/content:v2/content.products.custombatch": batch_product
+"/content:v2/content.productstatuses.custombatch": batch_product_status
+"/content:v2/content.productstatuses.get": get_product_status
+"/content:v2/content.productstatuses.list": list_product_statuses
+"/coordinate:v1/CustomFieldDefListResponse": list_custom_field_def_response
+"/coordinate:v1/JobListResponse": list_job_response
+"/coordinate:v1/LocationListResponse": list_location_response
+"/coordinate:v1/TeamListResponse": list_team_response
+"/coordinate:v1/WorkerListResponse": list_worker_response
+"/datastore:v1beta2/AllocateIdsRequest": allocate_ids_request
+"/datastore:v1beta2/AllocateIdsResponse": allocate_ids_response
+"/datastore:v1beta2/BeginTransactionRequest": begin_transaction_request
+"/datastore:v1beta2/BeginTransactionResponse": begin_transaction_response
+"/deploymentmanager:v2beta1/DeploymentsListResponse": list_deployments_response
+"/deploymentmanager:v2beta1/ManifestsListResponse": list_manifests_response
+"/deploymentmanager:v2beta1/OperationsListResponse": list_operations_response
+"/deploymentmanager:v2beta1/ResourcesListResponse": list_resources_response
+"/deploymentmanager:v2beta1/TypesListResponse": list_types_response
+"/deploymentmanager:v2beta2/DeploymentsListResponse": list_deployments_response
+"/deploymentmanager:v2beta2/ManifestsListResponse": list_manifests_response
+"/deploymentmanager:v2beta2/OperationsListResponse": list_operations_response
+"/deploymentmanager:v2beta2/ResourcesListResponse": list_resources_response
+"/deploymentmanager:v2beta2/TypesListResponse": list_types_response
+"/dfareporting:v2.1/AccountPermissionGroupsListResponse": list_account_permission_groups_response
+"/dfareporting:v2.1/AccountPermissionsListResponse": list_account_permissions_response
+"/dfareporting:v2.1/AccountUserProfilesListResponse": list_account_user_profiles_response
+"/dfareporting:v2.1/AccountsListResponse": list_accounts_response
+"/dfareporting:v2.1/AdsListResponse": list_ads_response
+"/dfareporting:v2.1/AdvertiserGroupsListResponse": list_advertiser_groups_response
+"/dfareporting:v2.1/AdvertisersListResponse": list_advertisers_response
+"/dfareporting:v2.1/BrowsersListResponse": list_browsers_response
+"/dfareporting:v2.1/CampaignCreativeAssociationsListResponse": list_campaign_creative_associations_response
+"/dfareporting:v2.1/CampaignsListResponse": list_campaigns_response
+"/dfareporting:v2.1/ChangeLog/objectId": obj_id
+"/dfareporting:v2.1/ChangeLogsListResponse": list_change_logs_response
+"/dfareporting:v2.1/CitiesListResponse": list_cities_response
+"/dfareporting:v2.1/ConnectionTypesListResponse": list_connection_types_response
+"/dfareporting:v2.1/ContentCategoriesListResponse": list_content_categories_response
+"/dfareporting:v2.1/CountriesListResponse": list_countries_response
+"/dfareporting:v2.1/CreativeFieldValuesListResponse": list_creative_field_values_response
+"/dfareporting:v2.1/CreativeFieldsListResponse": list_creative_fields_response
+"/dfareporting:v2.1/CreativeGroupsListResponse": list_creative_groups_response
+"/dfareporting:v2.1/CreativesListResponse": list_creatives_response
+"/dfareporting:v2.1/DimensionValueRequest": dimension_value_request
+"/dfareporting:v2.1/DirectorySiteContactsListResponse": list_directory_site_contacts_response
+"/dfareporting:v2.1/DirectorySitesListResponse": list_directory_sites_response
+"/dfareporting:v2.1/EventTagsListResponse": list_event_tags_response
+"/dfareporting:v2.1/FloodlightActivitiesGenerateTagResponse": floodlight_activities_generate_tag_response
+"/dfareporting:v2.1/FloodlightActivitiesListResponse": list_floodlight_activities_response
+"/dfareporting:v2.1/FloodlightActivityGroupsListResponse": list_floodlight_activity_groups_response
+"/dfareporting:v2.1/FloodlightConfigurationsListResponse": list_floodlight_configurations_response
+"/dfareporting:v2.1/InventoryItemsListResponse": list_inventory_items_response
+"/dfareporting:v2.1/LandingPagesListResponse": list_landing_pages_response
+"/dfareporting:v2.1/MetrosListResponse": list_metros_response
+"/dfareporting:v2.1/MobileCarriersListResponse": list_mobile_carriers_response
+"/dfareporting:v2.1/ObjectFilter/objectIds/object_id": obj_id
+"/dfareporting:v2.1/OperatingSystemVersionsListResponse": list_operating_system_versions_response
+"/dfareporting:v2.1/OperatingSystemsListResponse": list_operating_systems_response
+"/dfareporting:v2.1/OrderDocumentsListResponse": list_order_documents_response
+"/dfareporting:v2.1/OrdersListResponse": list_orders_response
+"/dfareporting:v2.1/PlacementGroupsListResponse": list_placement_groups_response
+"/dfareporting:v2.1/PlacementStrategiesListResponse": list_placement_strategies_response
+"/dfareporting:v2.1/PlacementsGenerateTagsResponse": generate_placements_tags_response
+"/dfareporting:v2.1/PlacementsListResponse": list_placements_response
+"/dfareporting:v2.1/PlatformTypesListResponse": list_platform_types_response
+"/dfareporting:v2.1/PostalCodesListResponse": list_postal_codes_response
+"/dfareporting:v2.1/ProjectsListResponse": list_projects_response
+"/dfareporting:v2.1/RegionsListResponse": list_regions_response
+"/dfareporting:v2.1/RemarketingListsListResponse": list_remarketing_lists_response
+"/dfareporting:v2.1/SitesListResponse": list_sites_response
+"/dfareporting:v2.1/SizesListResponse": list_sizes_response
+"/dfareporting:v2.1/SubaccountsListResponse": list_subaccounts_response
+"/dfareporting:v2.1/TargetableRemarketingListsListResponse": list_targetable_remarketing_lists_response
+"/dfareporting:v2.1/UserRolePermissionGroupsListResponse": list_user_role_permission_groups_response
+"/dfareporting:v2.1/UserRolePermissionsListResponse": list_user_role_permissions_response
+"/dfareporting:v2.1/UserRolesListResponse": list_user_roles_response
+"/dfareporting:v2.1/dfareporting.floodlightActivities.generatetag": generate_floodlight_activity_tag
+"/dfareporting:v2.1/dfareporting.placements.generatetags": generate_placement_tags
+"/discovery:v1/RestDescription/methods": api_methods
+"/discovery:v1/RestResource/methods": api_methods
+"/dns:v1/ChangesListResponse": list_changes_response
+"/dns:v1/ManagedZonesListResponse": list_managed_zones_response
+"/dns:v1/ResourceRecordSetsListResponse": list_resource_record_sets_response
+"/doubleclickbidmanager:v1/DownloadLineItemsRequest": download_line_items_request
+"/doubleclickbidmanager:v1/DownloadLineItemsResponse": download_line_items_response
+"/doubleclickbidmanager:v1/ListQueriesResponse": list_queries_response
+"/doubleclickbidmanager:v1/ListReportsResponse": list_reports_response
+"/doubleclickbidmanager:v1/RunQueryRequest": run_query_request
+"/doubleclickbidmanager:v1/UploadLineItemsRequest": upload_line_items_request
+"/doubleclickbidmanager:v1/UploadLineItemsResponse": upload_line_items_response
+"/doubleclickbidmanager:v1/doubleclickbidmanager.lineitems.downloadlineitems": download_line_items
+"/doubleclickbidmanager:v1/doubleclickbidmanager.lineitems.uploadlineitems": upload_line_items
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.createquery": create_query
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.deletequery": deletequery
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.getquery": get_query
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.listqueries": list_queries
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.runquery": run_query
+"/doubleclickbidmanager:v1/doubleclickbidmanager.reports.listreports": list_reports
+"/doubleclicksearch:v2/ReportRequest": report_request
+"/doubleclicksearch:v2/UpdateAvailabilityRequest": update_availability_request
+"/doubleclicksearch:v2/UpdateAvailabilityResponse": update_availability_response
+"/drive:v2/drive.files.emptyTrash": empty_trash
+"/drive:v2/drive.permissions.getIdForEmail": get_permission_id_for_email
+"/fusiontables:v2/fusiontables.table.importRows": import_rows
+"/fusiontables:v2/fusiontables.table.importTable": import_table
+"/games:v1/AchievementDefinitionsListResponse": list_achievement_definitions_response
+"/games:v1/AchievementIncrementResponse": achievement_increment_response
+"/games:v1/AchievementRevealResponse": achievement_reveal_response
+"/games:v1/AchievementSetStepsAtLeastResponse": achievement_set_steps_at_least_response
+"/games:v1/AchievementUnlockResponse": achievement_unlock_response
+"/games:v1/AchievementUpdateMultipleRequest": achievement_update_multiple_request
+"/games:v1/AchievementUpdateMultipleResponse": achievement_update_multiple_response
+"/games:v1/AchievementUpdateRequest": update_achievement_request
+"/games:v1/AchievementUpdateResponse": update_achievement_response
+"/games:v1/CategoryListResponse": list_category_response
+"/games:v1/EventDefinitionListResponse": list_event_definition_response
+"/games:v1/EventRecordRequest": event_record_request
+"/games:v1/EventUpdateRequest": update_event_request
+"/games:v1/EventUpdateResponse": update_event_response
+"/games:v1/LeaderboardListResponse": list_leaderboard_response
+"/games:v1/PlayerAchievementListResponse": list_player_achievement_response
+"/games:v1/PlayerEventListResponse": list_player_event_response
+"/games:v1/PlayerLeaderboardScoreListResponse": list_player_leaderboard_score_response
+"/games:v1/PlayerListResponse": list_player_response
+"/games:v1/PlayerScoreListResponse": list_player_score_response
+"/games:v1/PlayerScoreResponse": player_score_response
+"/games:v1/QuestListResponse": list_quest_response
+"/games:v1/RevisionCheckResponse": check_revision_response
+"/games:v1/RoomCreateRequest": create_room_request
+"/games:v1/RoomJoinRequest": join_room_request
+"/games:v1/RoomLeaveRequest": leave_room_request
+"/games:v1/SnapshotListResponse": list_snapshot_response
+"/games:v1/TurnBasedMatchCreateRequest": create_turn_based_match_request
+"/games:v1/TurnBasedMatchDataRequest": turn_based_match_data_request
+"/games:v1/games.achievements.updateMultiple": update_multiple_achievements
+"/games:v1/games.events.listDefinitions": list_event_definitions
+"/games:v1/games.metagame.getMetagameConfig": get_metagame_config
+"/games:v1/games.rooms.reportStatus": report_room_status
+"/games:v1/games.turnBasedMatches.leaveTurn": leave_turn
+"/games:v1/games.turnBasedMatches.takeTurn": take_turn
+"/gamesConfiguration:v1configuration/AchievementConfigurationListResponse": list_achievement_configuration_response
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationListResponse": list_leaderboard_configuration_response
+"/genomics:v1beta2/genomics.callsets.create": create_call_set
+"/genomics:v1beta2/genomics.callsets.delete": delete_call_set
+"/genomics:v1beta2/genomics.callsets.get": get_call_set
+"/genomics:v1beta2/genomics.callsets.patch": patch_call_set
+"/genomics:v1beta2/genomics.callsets.search": search_call_sets
+"/genomics:v1beta2/genomics.callsets.update": update_call_set
+"/genomics:v1beta2/genomics.readgroupsets.align": align_read_group_sets
+"/genomics:v1beta2/genomics.readgroupsets.call": call_read_group_sets
+"/genomics:v1beta2/genomics.readgroupsets.coveragebuckets.list": list_coverage_buckets
+"/genomics:v1beta2/genomics.readgroupsets.delete": delete_read_group_set
+"/genomics:v1beta2/genomics.readgroupsets.export": export_read_group_sets
+"/genomics:v1beta2/genomics.readgroupsets.get": get_read_group_set
+"/genomics:v1beta2/genomics.readgroupsets.import": import_read_group_sets
+"/genomics:v1beta2/genomics.readgroupsets.patch": patch_read_group_set
+"/genomics:v1beta2/genomics.readgroupsets.search": search_read_group_sets
+"/genomics:v1beta2/genomics.readgroupsets.update": update_read_group_set
+"/genomics:v1beta2/genomics.references.bases.list/end": end_position
+"/genomics:v1beta2/genomics.references.bases.list/start": start_position
+"/genomics:v1beta2/genomics.referencesets.get": get_reference_set
+"/genomics:v1beta2/genomics.streamingReadstore.streamreads": stream_reads
+"/gmail:v1/gmail.users.getProfile": get_user_profile
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest": create_auth_uri_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyDeleteAccountRequest": delete_account_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyDownloadAccountRequest": download_account_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetAccountInfoRequest": get_account_info_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetPublicKeysResponse": get_public_keys_response
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetPublicKeysResponse/get_public_keys_response": get_public_keys_response
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyResetPasswordRequest": reset_password_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest": set_account_info_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyUploadAccountRequest": upload_account_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyAssertionRequest": verify_assertion_request
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyPasswordRequest": verify_password_request
+"/identitytoolkit:v3/identitytoolkit.relyingparty.createAuthUri": create_auth_uri
+"/identitytoolkit:v3/identitytoolkit.relyingparty.deleteAccount": delete_account
+"/identitytoolkit:v3/identitytoolkit.relyingparty.downloadAccount": download_account
+"/identitytoolkit:v3/identitytoolkit.relyingparty.getAccountInfo": get_account_info
+"/identitytoolkit:v3/identitytoolkit.relyingparty.getOobConfirmationCode": get_oob_confirmation_code
+"/identitytoolkit:v3/identitytoolkit.relyingparty.getPublicKeys": get_public_keys
+"/identitytoolkit:v3/identitytoolkit.relyingparty.getRecaptchaParam": get_recaptcha_param
+"/identitytoolkit:v3/identitytoolkit.relyingparty.resetPassword": reset_password
+"/identitytoolkit:v3/identitytoolkit.relyingparty.setAccountInfo": set_account_info
+"/identitytoolkit:v3/identitytoolkit.relyingparty.uploadAccount": upload_account
+"/identitytoolkit:v3/identitytoolkit.relyingparty.verifyAssertion": verify_assertion
+"/identitytoolkit:v3/identitytoolkit.relyingparty.verifyPassword": verify_password
+"/licensing:v1/licensing.licenseAssignments.listForProduct": list_license_assignment_for_product
+"/licensing:v1/licensing.licenseAssignments.listForProductAndSku": list_license_assignment_for_product_and_sku
+"/logging:v1beta3/logging.projects.logServices.indexes.list": list_log_service_indexes
+"/logging:v1beta3/logging.projects.logServices.list": list_log_services
+"/logging:v1beta3/logging.projects.logServices.sinks.create": create_log_service_sink
+"/logging:v1beta3/logging.projects.logServices.sinks.delete": delete_log_service_sink
+"/logging:v1beta3/logging.projects.logServices.sinks.get": get_log_service_sink
+"/logging:v1beta3/logging.projects.logServices.sinks.list": list_log_service_sinks
+"/logging:v1beta3/logging.projects.logServices.sinks.update": update_log_service_sink
+"/logging:v1beta3/logging.projects.logs.delete": delete_log
+"/logging:v1beta3/logging.projects.logs.list": list_logs
+"/logging:v1beta3/logging.projects.logs.sinks.create": create_log_sink
+"/logging:v1beta3/logging.projects.logs.sinks.delete": delete_log_sink
+"/logging:v1beta3/logging.projects.logs.sinks.get": get_log_sink
+"/logging:v1beta3/logging.projects.logs.sinks.list": list_log_sinks
+"/logging:v1beta3/logging.projects.logs.sinks.update": update_log_sink
+"/manager:v1beta2/DeploymentsListResponse": list_deployments_response
+"/manager:v1beta2/TemplatesListResponse": list_templates_response
+"/mapsengine:v1/AssetsListResponse": list_assets_response
+"/mapsengine:v1/FeaturesBatchDeleteRequest": batch_delete_features_request
+"/mapsengine:v1/FeaturesBatchInsertRequest": batch_insert_features_request
+"/mapsengine:v1/FeaturesBatchPatchRequest": batch_patch_features_request
+"/mapsengine:v1/FeaturesListResponse": list_features_response
+"/mapsengine:v1/IconsListResponse": list_icons_response
+"/mapsengine:v1/LayersListResponse": list_layers_response
+"/mapsengine:v1/MapsListResponse": list_maps_response
+"/mapsengine:v1/ParentsListResponse": list_parents_response
+"/mapsengine:v1/PermissionsBatchDeleteRequest": batch_delete_permissions_request
+"/mapsengine:v1/PermissionsBatchDeleteResponse": batch_delete_permissions_response
+"/mapsengine:v1/PermissionsBatchUpdateRequest": batch_update_permissions_request
+"/mapsengine:v1/PermissionsBatchUpdateResponse": batch_update_permissions_response
+"/mapsengine:v1/PermissionsListResponse": list_permissions_response
+"/mapsengine:v1/ProjectsListResponse": list_projects_response
+"/mapsengine:v1/PublishedLayersListResponse": list_published_layers_response
+"/mapsengine:v1/PublishedMapsListResponse": list_published_maps_response
+"/mapsengine:v1/RasterCollectionsListResponse": list_raster_collections_response
+"/mapsengine:v1/RasterCollectionsRasterBatchDeleteRequest": batch_delete_raster_collections_raster_request
+"/mapsengine:v1/RasterCollectionsRastersBatchDeleteResponse": batch_delete_raster_collections_rasters_response
+"/mapsengine:v1/RasterCollectionsRastersBatchInsertRequest": batch_insert_raster_collections_rasters_request
+"/mapsengine:v1/RasterCollectionsRastersBatchInsertResponse": batch_insert_raster_collections_rasters_response
+"/mapsengine:v1/RasterCollectionsRastersListResponse": list_raster_collections_rasters_response
+"/mapsengine:v1/RastersListResponse": list_rasters_response
+"/mapsengine:v1/TablesListResponse": list_tables_response
+"/mirror:v1/AttachmentsListResponse": list_attachments_response
+"/mirror:v1/ContactsListResponse": list_contacts_response
+"/mirror:v1/LocationsListResponse": list_locations_response
+"/mirror:v1/SubscriptionsListResponse": list_subscriptions_response
+"/mirror:v1/TimelineListResponse": list_timeline_response
+"/oauth2:v2/oauth2.userinfo.v2.me.get": get_userinfo_v2
+"/pagespeedonline:v2/PagespeedApiFormatStringV2": format_string
+"/pagespeedonline:v2/PagespeedApiImageV2": image
+"/pagespeedonline:v2/pagespeedonline.pagespeedapi.runpagespeed": run_pagespeed
+"/plus:v1/plus.people.listByActivity": list_people_by_activity
+"/plusDomains:v1/plusDomains.circles.addPeople": add_people
+"/plusDomains:v1/plusDomains.circles.removePeople": remove_people
+"/plusDomains:v1/plusDomains.people.listByActivity": list_people_by_activity
+"/plusDomains:v1/plusDomains.people.listByCircle": list_people_by_circle
+"/prediction:v1.6/prediction.hostedmodels.predict": predict_hosted_model
+"/prediction:v1.6/prediction.trainedmodels.analyze": analyze_trained_model
+"/prediction:v1.6/prediction.trainedmodels.delete": delete_trained_model
+"/prediction:v1.6/prediction.trainedmodels.get": get_trained_model
+"/prediction:v1.6/prediction.trainedmodels.insert": insert_trained_model
+"/prediction:v1.6/prediction.trainedmodels.list": list_trained_models
+"/prediction:v1.6/prediction.trainedmodels.predict": predict_trained_model
+"/prediction:v1.6/prediction.trainedmodels.update": update_trained_model
+"/pubsub:v1beta2/PubsubMessage": message
+"/pubsub:v1beta2/pubsub.projects.subscriptions.create": create_subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.delete": delete_subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.get": get_subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.list": list_subscriptions
+"/pubsub:v1beta2/pubsub.projects.subscriptions.setIamPolicy": set_subscription_policy
+"/pubsub:v1beta2/pubsub.projects.subscriptions.testIamPermissions": test_subscription_permissions
+"/pubsub:v1beta2/pubsub.projects.topics.create": create_topic
+"/pubsub:v1beta2/pubsub.projects.topics.delete": delete_topic
+"/pubsub:v1beta2/pubsub.projects.topics.get": get_topic
+"/pubsub:v1beta2/pubsub.projects.topics.list": list_topics
+"/pubsub:v1beta2/pubsub.projects.topics.setIamPolicy": set_topic_policy
+"/pubsub:v1beta2/pubsub.projects.topics.testIamPermissions": test_topic_permissions
+"/pubsub:v1beta2/pubsub.projects.topics.subscriptions.list": list_topic_subscriptions
+"/qpxExpress:v1/TripsSearchRequest": search_trips_request
+"/qpxExpress:v1/TripsSearchResponse": search_trips_response
+"/replicapool:v1beta2/InstanceGroupManagersAbandonInstancesRequest": abandon_instances_request
+"/replicapool:v1beta2/InstanceGroupManagersDeleteInstancesRequest": delete_instances_request
+"/replicapool:v1beta2/InstanceGroupManagersRecreateInstancesRequest": recreate_instances_request
+"/replicapool:v1beta2/InstanceGroupManagersSetInstanceTemplateRequest": set_instance_template_request
+"/replicapool:v1beta2/InstanceGroupManagersSetTargetPoolsRequest": set_target_pools_request
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.abandonInstances": abandon_instances
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.deleteInstances": delete_instances
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.recreateInstances": recreate_instances
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.resize": resize_instance
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.setInstanceTemplate": set_instance_template
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.setTargetPools": set_target_pools
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.listInstanceUpdates": list_instance_updates
+"/reseller:v1/ChangePlanRequest": change_plan_request
+"/reseller:v1/reseller.subscriptions.changeRenewalSettings": change_subscription_renewal_settings
+"/reseller:v1/reseller.subscriptions.changeSeats": change_subscription_seats
+"/resourceviews:v1beta2/ZoneViewsAddResourcesRequest": add_resources_request
+"/resourceviews:v1beta2/ZoneViewsGetServiceResponse": get_service_response
+"/resourceviews:v1beta2/ZoneViewsListResourcesResponse": list_resources_response
+"/resourceviews:v1beta2/ZoneViewsRemoveResourcesRequest": remove_resources_request
+"/resourceviews:v1beta2/ZoneViewsSetServiceRequest": set_service_request
+"/siteVerification:v1/SiteVerificationWebResourceGettokenRequest": get_web_resource_token_request
+"/siteVerification:v1/SiteVerificationWebResourceGettokenResponse": get_web_resource_token_response
+"/siteVerification:v1/SiteVerificationWebResourceGettokenResponse/method": verification_method
+"/siteVerification:v1/SiteVerificationWebResourceListResponse": list_web_resource_response
+"/sqladmin:v1beta4/BackupRunsListResponse": list_backup_runs_response
+"/sqladmin:v1beta4/DatabasesListResponse": list_databases_response
+"/sqladmin:v1beta4/FlagsListResponse": list_flags_response
+"/sqladmin:v1beta4/InstancesCloneRequest": clone_instances_request
+"/sqladmin:v1beta4/InstancesExportRequest": export_instances_request
+"/sqladmin:v1beta4/InstancesImportRequest": import_instances_request
+"/sqladmin:v1beta4/InstancesListResponse": list_instances_response
+"/sqladmin:v1beta4/InstancesRestoreBackupRequest": restore_instances_backup_request
+"/sqladmin:v1beta4/OperationsListResponse": list_operations_response
+"/sqladmin:v1beta4/SslCertsInsertRequest": insert_ssl_certs_request
+"/sqladmin:v1beta4/SslCertsInsertResponse": insert_ssl_certs_response
+"/sqladmin:v1beta4/SslCertsListResponse": list_ssl_certs_response
+"/sqladmin:v1beta4/TiersListResponse": list_tiers_response
+"/sqladmin:v1beta4/UsersListResponse": list_users_response
+"/storage:v1/Bucket/cors": cors_configurations
+"/storage:v1/Bucket/cors/cors_configuration/method": http_method
+"/tagmanager:v1/tagmanager.accounts.containers.create": create_container
+"/tagmanager:v1/tagmanager.accounts.containers.delete": delete_container
+"/tagmanager:v1/tagmanager.accounts.containers.get": get_container
+"/tagmanager:v1/tagmanager.accounts.containers.list": list_containers
+"/tagmanager:v1/tagmanager.accounts.containers.macros.create": create_macro
+"/tagmanager:v1/tagmanager.accounts.containers.macros.delete": delete_macro
+"/tagmanager:v1/tagmanager.accounts.containers.macros.get": get_macro
+"/tagmanager:v1/tagmanager.accounts.containers.macros.list": list_macros
+"/tagmanager:v1/tagmanager.accounts.containers.macros.update": update_macro
+"/tagmanager:v1/tagmanager.accounts.containers.rules.create": create_rule
+"/tagmanager:v1/tagmanager.accounts.containers.rules.delete": delete_rule
+"/tagmanager:v1/tagmanager.accounts.containers.rules.get": get_rule
+"/tagmanager:v1/tagmanager.accounts.containers.rules.list": list_rules
+"/tagmanager:v1/tagmanager.accounts.containers.rules.update": update_rule
+"/tagmanager:v1/tagmanager.accounts.containers.tags.create": create_tag
+"/tagmanager:v1/tagmanager.accounts.containers.tags.delete": delete_tag
+"/tagmanager:v1/tagmanager.accounts.containers.tags.get": get_tag
+"/tagmanager:v1/tagmanager.accounts.containers.tags.list": list_tags
+"/tagmanager:v1/tagmanager.accounts.containers.tags.update": update_tag
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.create": create_trigger
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.delete": delete_trigger
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.get": get_trigger
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.list": list_triggers
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.update": update_trigger
+"/tagmanager:v1/tagmanager.accounts.containers.update": update_container
+"/tagmanager:v1/tagmanager.accounts.containers.variables.create": create_variable
+"/tagmanager:v1/tagmanager.accounts.containers.variables.delete": delete_variable
+"/tagmanager:v1/tagmanager.accounts.containers.variables.get": get_variable
+"/tagmanager:v1/tagmanager.accounts.containers.variables.list": list_variables
+"/tagmanager:v1/tagmanager.accounts.containers.variables.update": update_variable
+"/tagmanager:v1/tagmanager.accounts.containers.versions.create": create_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.delete": delete_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.get": get_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.list": list_versions
+"/tagmanager:v1/tagmanager.accounts.containers.versions.publish": publish_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.restore": restore_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.undelete": undelete_version
+"/tagmanager:v1/tagmanager.accounts.containers.versions.update": update_version
+"/tagmanager:v1/tagmanager.accounts.get": get_account
+"/tagmanager:v1/tagmanager.accounts.list": list_accounts
+"/tagmanager:v1/tagmanager.accounts.permissions.create": create_permission
+"/tagmanager:v1/tagmanager.accounts.permissions.delete": delete_permission
+"/tagmanager:v1/tagmanager.accounts.permissions.get": get_permission
+"/tagmanager:v1/tagmanager.accounts.permissions.list": list_permissions
+"/tagmanager:v1/tagmanager.accounts.permissions.update": update_permission
+"/tagmanager:v1/tagmanager.accounts.update": update_account
+"/translate:v2/DetectionsListResponse": list_detections_response
+"/translate:v2/LanguagesListResponse": list_languages_response
+"/translate:v2/TranslationsListResponse": list_translations_response
+"/webmasters:v3/SitemapsListResponse": list_sitemaps_response
+"/webmasters:v3/SitesListResponse": list_sites_response
+"/webmasters:v3/UrlCrawlErrorsCountsQueryResponse": query_url_crawl_errors_counts_response
+"/webmasters:v3/UrlCrawlErrorsSamplesListResponse": list_url_crawl_errors_samples_response
+"/webmasters:v3/webmasters.urlcrawlerrorscounts.query": query_errors_count
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.get": get_errors_sample
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.list": list_errors_samples
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.markAsFixed": mark_as_fixed
+"/youtube:v3/youtube.comments.setModerationStatus": set_comment_moderation_status
+"/youtube:v3/ActivityListResponse": list_activities_response
+"/youtube:v3/CaptionListResponse": list_captions_response
+"/youtube:v3/ChannelListResponse": list_channels_response
+"/youtube:v3/ChannelSectionListResponse": list_channel_sections_response
+"/youtube:v3/CommentListResponse": list_comments_response
+"/youtube:v3/CommentThreadListResponse": list_comment_threads_response
+"/youtube:v3/GuideCategoryListResponse": list_guide_categories_response
+"/youtube:v3/I18nLanguageListResponse": list_i18n_languages_response
+"/youtube:v3/I18nRegionListResponse": list_i18n_regions_response
+"/youtube:v3/LiveBroadcastListResponse": list_live_broadcasts_response
+"/youtube:v3/LiveStreamListResponse": list_live_streams_response
+"/youtube:v3/PlaylistItemListResponse": list_playlist_items_response
+"/youtube:v3/PlaylistListResponse": list_playlist_response
+"/youtube:v3/SearchListResponse": search_lists_response
+"/youtube:v3/SubscriptionListResponse": list_subscription_response
+"/youtube:v3/ThumbnailSetResponse": set_thumbnail_response
+"/youtube:v3/VideoAbuseReportReasonListResponse": list_video_abuse_report_reason_response
+"/youtube:v3/VideoCategoryListResponse": list_video_category_response
+"/youtube:v3/VideoGetRatingResponse": get_video_rating_response
+"/youtube:v3/VideoListResponse": list_videos_response
+"/youtubeAnalytics:v1/GroupItemListResponse": list_group_item_response
+"/youtubeAnalytics:v1/GroupListResponse": list_groups_response
+"/adexchangebuyer:v1.3/fields": fields
+"/adexchangebuyer:v1.3/key": key
+"/adexchangebuyer:v1.3/quotaUser": quota_user
+"/adexchangebuyer:v1.3/userIp": user_ip
+"/adexchangebuyer:v1.3/adexchangebuyer.accounts.get": get_account
+"/adexchangebuyer:v1.3/adexchangebuyer.accounts.get/id": id
+"/adexchangebuyer:v1.3/adexchangebuyer.accounts.list": list_accounts
+"/adexchangebuyer:v1.3/adexchangebuyer.accounts.patch": patch_account
+"/adexchangebuyer:v1.3/adexchangebuyer.accounts.patch/id": id
+"/adexchangebuyer:v1.3/adexchangebuyer.accounts.update": update_account
+"/adexchangebuyer:v1.3/adexchangebuyer.accounts.update/id": id
+"/adexchangebuyer:v1.3/adexchangebuyer.billingInfo.get": get_billing_info
+"/adexchangebuyer:v1.3/adexchangebuyer.billingInfo.get/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.billingInfo.list": list_billing_infos
+"/adexchangebuyer:v1.3/adexchangebuyer.budget.get": get_budget
+"/adexchangebuyer:v1.3/adexchangebuyer.budget.get/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.budget.get/billingId": billing_id
+"/adexchangebuyer:v1.3/adexchangebuyer.budget.patch": patch_budget
+"/adexchangebuyer:v1.3/adexchangebuyer.budget.patch/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.budget.patch/billingId": billing_id
+"/adexchangebuyer:v1.3/adexchangebuyer.budget.update": update_budget
+"/adexchangebuyer:v1.3/adexchangebuyer.budget.update/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.budget.update/billingId": billing_id
+"/adexchangebuyer:v1.3/adexchangebuyer.creatives.get": get_creative
+"/adexchangebuyer:v1.3/adexchangebuyer.creatives.get/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.creatives.get/buyerCreativeId": buyer_creative_id
+"/adexchangebuyer:v1.3/adexchangebuyer.creatives.insert": insert_creative
+"/adexchangebuyer:v1.3/adexchangebuyer.creatives.list": list_creatives
+"/adexchangebuyer:v1.3/adexchangebuyer.creatives.list/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.creatives.list/buyerCreativeId": buyer_creative_id
+"/adexchangebuyer:v1.3/adexchangebuyer.creatives.list/maxResults": max_results
+"/adexchangebuyer:v1.3/adexchangebuyer.creatives.list/pageToken": page_token
+"/adexchangebuyer:v1.3/adexchangebuyer.creatives.list/statusFilter": status_filter
+"/adexchangebuyer:v1.3/adexchangebuyer.directDeals.get": get_direct_deal
+"/adexchangebuyer:v1.3/adexchangebuyer.directDeals.get/id": id
+"/adexchangebuyer:v1.3/adexchangebuyer.directDeals.list": list_direct_deals
+"/adexchangebuyer:v1.3/adexchangebuyer.performanceReport.list": list_performance_reports
+"/adexchangebuyer:v1.3/adexchangebuyer.performanceReport.list/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.performanceReport.list/endDateTime": end_date_time
+"/adexchangebuyer:v1.3/adexchangebuyer.performanceReport.list/maxResults": max_results
+"/adexchangebuyer:v1.3/adexchangebuyer.performanceReport.list/pageToken": page_token
+"/adexchangebuyer:v1.3/adexchangebuyer.performanceReport.list/startDateTime": start_date_time
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.delete": delete_pretargeting_config
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.delete/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.delete/configId": config_id
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.get": get_pretargeting_config
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.get/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.get/configId": config_id
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.insert": insert_pretargeting_config
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.insert/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.list": list_pretargeting_configs
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.list/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.patch": patch_pretargeting_config
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.patch/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.patch/configId": config_id
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.update": update_pretargeting_config
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.update/accountId": account_id
+"/adexchangebuyer:v1.3/adexchangebuyer.pretargetingConfig.update/configId": config_id
+"/adexchangebuyer:v1.3/Account": account
+"/adexchangebuyer:v1.3/Account/bidderLocation": bidder_location
+"/adexchangebuyer:v1.3/Account/bidderLocation/bidder_location": bidder_location
+"/adexchangebuyer:v1.3/Account/bidderLocation/bidder_location/maximumQps": maximum_qps
+"/adexchangebuyer:v1.3/Account/bidderLocation/bidder_location/region": region
+"/adexchangebuyer:v1.3/Account/bidderLocation/bidder_location/url": url
+"/adexchangebuyer:v1.3/Account/cookieMatchingNid": cookie_matching_nid
+"/adexchangebuyer:v1.3/Account/cookieMatchingUrl": cookie_matching_url
+"/adexchangebuyer:v1.3/Account/id": id
+"/adexchangebuyer:v1.3/Account/kind": kind
+"/adexchangebuyer:v1.3/Account/maximumActiveCreatives": maximum_active_creatives
+"/adexchangebuyer:v1.3/Account/maximumTotalQps": maximum_total_qps
+"/adexchangebuyer:v1.3/Account/numberActiveCreatives": number_active_creatives
+"/adexchangebuyer:v1.3/AccountsList": accounts_list
+"/adexchangebuyer:v1.3/AccountsList/items": items
+"/adexchangebuyer:v1.3/AccountsList/items/item": item
+"/adexchangebuyer:v1.3/AccountsList/kind": kind
+"/adexchangebuyer:v1.3/BillingInfo": billing_info
+"/adexchangebuyer:v1.3/BillingInfo/accountId": account_id
+"/adexchangebuyer:v1.3/BillingInfo/accountName": account_name
+"/adexchangebuyer:v1.3/BillingInfo/billingId": billing_id
+"/adexchangebuyer:v1.3/BillingInfo/billingId/billing_id": billing_id
+"/adexchangebuyer:v1.3/BillingInfo/kind": kind
+"/adexchangebuyer:v1.3/BillingInfoList": billing_info_list
+"/adexchangebuyer:v1.3/BillingInfoList/items": items
+"/adexchangebuyer:v1.3/BillingInfoList/items/item": item
+"/adexchangebuyer:v1.3/BillingInfoList/kind": kind
+"/adexchangebuyer:v1.3/Budget": budget
+"/adexchangebuyer:v1.3/Budget/accountId": account_id
+"/adexchangebuyer:v1.3/Budget/billingId": billing_id
+"/adexchangebuyer:v1.3/Budget/budgetAmount": budget_amount
+"/adexchangebuyer:v1.3/Budget/currencyCode": currency_code
+"/adexchangebuyer:v1.3/Budget/id": id
+"/adexchangebuyer:v1.3/Budget/kind": kind
+"/adexchangebuyer:v1.3/Creative": creative
+"/adexchangebuyer:v1.3/Creative/HTMLSnippet": html_snippet
+"/adexchangebuyer:v1.3/Creative/accountId": account_id
+"/adexchangebuyer:v1.3/Creative/advertiserId": advertiser_id
+"/adexchangebuyer:v1.3/Creative/advertiserId/advertiser_id": advertiser_id
+"/adexchangebuyer:v1.3/Creative/advertiserName": advertiser_name
+"/adexchangebuyer:v1.3/Creative/agencyId": agency_id
+"/adexchangebuyer:v1.3/Creative/attribute": attribute
+"/adexchangebuyer:v1.3/Creative/attribute/attribute": attribute
+"/adexchangebuyer:v1.3/Creative/buyerCreativeId": buyer_creative_id
+"/adexchangebuyer:v1.3/Creative/clickThroughUrl": click_through_url
+"/adexchangebuyer:v1.3/Creative/clickThroughUrl/click_through_url": click_through_url
+"/adexchangebuyer:v1.3/Creative/corrections": corrections
+"/adexchangebuyer:v1.3/Creative/corrections/correction": correction
+"/adexchangebuyer:v1.3/Creative/corrections/correction/details": details
+"/adexchangebuyer:v1.3/Creative/corrections/correction/details/detail": detail
+"/adexchangebuyer:v1.3/Creative/corrections/correction/reason": reason
+"/adexchangebuyer:v1.3/Creative/disapprovalReasons": disapproval_reasons
+"/adexchangebuyer:v1.3/Creative/disapprovalReasons/disapproval_reason": disapproval_reason
+"/adexchangebuyer:v1.3/Creative/disapprovalReasons/disapproval_reason/details": details
+"/adexchangebuyer:v1.3/Creative/disapprovalReasons/disapproval_reason/details/detail": detail
+"/adexchangebuyer:v1.3/Creative/disapprovalReasons/disapproval_reason/reason": reason
+"/adexchangebuyer:v1.3/Creative/filteringReasons": filtering_reasons
+"/adexchangebuyer:v1.3/Creative/filteringReasons/date": date
+"/adexchangebuyer:v1.3/Creative/filteringReasons/reasons": reasons
+"/adexchangebuyer:v1.3/Creative/filteringReasons/reasons/reason": reason
+"/adexchangebuyer:v1.3/Creative/filteringReasons/reasons/reason/filteringCount": filtering_count
+"/adexchangebuyer:v1.3/Creative/filteringReasons/reasons/reason/filteringStatus": filtering_status
+"/adexchangebuyer:v1.3/Creative/height": height
+"/adexchangebuyer:v1.3/Creative/kind": kind
+"/adexchangebuyer:v1.3/Creative/productCategories": product_categories
+"/adexchangebuyer:v1.3/Creative/productCategories/product_category": product_category
+"/adexchangebuyer:v1.3/Creative/restrictedCategories": restricted_categories
+"/adexchangebuyer:v1.3/Creative/restrictedCategories/restricted_category": restricted_category
+"/adexchangebuyer:v1.3/Creative/sensitiveCategories": sensitive_categories
+"/adexchangebuyer:v1.3/Creative/sensitiveCategories/sensitive_category": sensitive_category
+"/adexchangebuyer:v1.3/Creative/status": status
+"/adexchangebuyer:v1.3/Creative/vendorType": vendor_type
+"/adexchangebuyer:v1.3/Creative/vendorType/vendor_type": vendor_type
+"/adexchangebuyer:v1.3/Creative/videoURL": video_url
+"/adexchangebuyer:v1.3/Creative/width": width
+"/adexchangebuyer:v1.3/CreativesList": creatives_list
+"/adexchangebuyer:v1.3/CreativesList/items": items
+"/adexchangebuyer:v1.3/CreativesList/items/item": item
+"/adexchangebuyer:v1.3/CreativesList/kind": kind
+"/adexchangebuyer:v1.3/CreativesList/nextPageToken": next_page_token
+"/adexchangebuyer:v1.3/DirectDeal": direct_deal
+"/adexchangebuyer:v1.3/DirectDeal/accountId": account_id
+"/adexchangebuyer:v1.3/DirectDeal/advertiser": advertiser
+"/adexchangebuyer:v1.3/DirectDeal/currencyCode": currency_code
+"/adexchangebuyer:v1.3/DirectDeal/endTime": end_time
+"/adexchangebuyer:v1.3/DirectDeal/fixedCpm": fixed_cpm
+"/adexchangebuyer:v1.3/DirectDeal/id": id
+"/adexchangebuyer:v1.3/DirectDeal/kind": kind
+"/adexchangebuyer:v1.3/DirectDeal/name": name
+"/adexchangebuyer:v1.3/DirectDeal/privateExchangeMinCpm": private_exchange_min_cpm
+"/adexchangebuyer:v1.3/DirectDeal/publisherBlocksOverriden": publisher_blocks_overriden
+"/adexchangebuyer:v1.3/DirectDeal/sellerNetwork": seller_network
+"/adexchangebuyer:v1.3/DirectDeal/startTime": start_time
+"/adexchangebuyer:v1.3/DirectDealsList": direct_deals_list
+"/adexchangebuyer:v1.3/DirectDealsList/directDeals": direct_deals
+"/adexchangebuyer:v1.3/DirectDealsList/directDeals/direct_deal": direct_deal
+"/adexchangebuyer:v1.3/DirectDealsList/kind": kind
+"/adexchangebuyer:v1.3/PerformanceReport": performance_report
+"/adexchangebuyer:v1.3/PerformanceReport/bidRate": bid_rate
+"/adexchangebuyer:v1.3/PerformanceReport/bidRequestRate": bid_request_rate
+"/adexchangebuyer:v1.3/PerformanceReport/calloutStatusRate": callout_status_rate
+"/adexchangebuyer:v1.3/PerformanceReport/calloutStatusRate/callout_status_rate": callout_status_rate
+"/adexchangebuyer:v1.3/PerformanceReport/cookieMatcherStatusRate": cookie_matcher_status_rate
+"/adexchangebuyer:v1.3/PerformanceReport/cookieMatcherStatusRate/cookie_matcher_status_rate": cookie_matcher_status_rate
+"/adexchangebuyer:v1.3/PerformanceReport/creativeStatusRate": creative_status_rate
+"/adexchangebuyer:v1.3/PerformanceReport/creativeStatusRate/creative_status_rate": creative_status_rate
+"/adexchangebuyer:v1.3/PerformanceReport/filteredBidRate": filtered_bid_rate
+"/adexchangebuyer:v1.3/PerformanceReport/hostedMatchStatusRate": hosted_match_status_rate
+"/adexchangebuyer:v1.3/PerformanceReport/hostedMatchStatusRate/hosted_match_status_rate": hosted_match_status_rate
+"/adexchangebuyer:v1.3/PerformanceReport/inventoryMatchRate": inventory_match_rate
+"/adexchangebuyer:v1.3/PerformanceReport/kind": kind
+"/adexchangebuyer:v1.3/PerformanceReport/noQuotaInRegion": no_quota_in_region
+"/adexchangebuyer:v1.3/PerformanceReport/outOfQuota": out_of_quota
+"/adexchangebuyer:v1.3/PerformanceReport/pixelMatchRequests": pixel_match_requests
+"/adexchangebuyer:v1.3/PerformanceReport/pixelMatchResponses": pixel_match_responses
+"/adexchangebuyer:v1.3/PerformanceReport/quotaConfiguredLimit": quota_configured_limit
+"/adexchangebuyer:v1.3/PerformanceReport/quotaThrottledLimit": quota_throttled_limit
+"/adexchangebuyer:v1.3/PerformanceReport/region": region
+"/adexchangebuyer:v1.3/PerformanceReport/successfulRequestRate": successful_request_rate
+"/adexchangebuyer:v1.3/PerformanceReport/timestamp": timestamp
+"/adexchangebuyer:v1.3/PerformanceReport/unsuccessfulRequestRate": unsuccessful_request_rate
+"/adexchangebuyer:v1.3/PerformanceReportList": performance_report_list
+"/adexchangebuyer:v1.3/PerformanceReportList/kind": kind
+"/adexchangebuyer:v1.3/PerformanceReportList/performanceReport": performance_report
+"/adexchangebuyer:v1.3/PerformanceReportList/performanceReport/performance_report": performance_report
+"/adexchangebuyer:v1.3/PretargetingConfig": pretargeting_config
+"/adexchangebuyer:v1.3/PretargetingConfig/billingId": billing_id
+"/adexchangebuyer:v1.3/PretargetingConfig/configId": config_id
+"/adexchangebuyer:v1.3/PretargetingConfig/configName": config_name
+"/adexchangebuyer:v1.3/PretargetingConfig/creativeType": creative_type
+"/adexchangebuyer:v1.3/PretargetingConfig/creativeType/creative_type": creative_type
+"/adexchangebuyer:v1.3/PretargetingConfig/dimensions": dimensions
+"/adexchangebuyer:v1.3/PretargetingConfig/dimensions/dimension": dimension
+"/adexchangebuyer:v1.3/PretargetingConfig/dimensions/dimension/height": height
+"/adexchangebuyer:v1.3/PretargetingConfig/dimensions/dimension/width": width
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedContentLabels": excluded_content_labels
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedContentLabels/excluded_content_label": excluded_content_label
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedGeoCriteriaIds": excluded_geo_criteria_ids
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedGeoCriteriaIds/excluded_geo_criteria_id": excluded_geo_criteria_id
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedPlacements": excluded_placements
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedPlacements/excluded_placement": excluded_placement
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedPlacements/excluded_placement/token": token
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedPlacements/excluded_placement/type": type
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedUserLists": excluded_user_lists
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedUserLists/excluded_user_list": excluded_user_list
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedVerticals": excluded_verticals
+"/adexchangebuyer:v1.3/PretargetingConfig/excludedVerticals/excluded_vertical": excluded_vertical
+"/adexchangebuyer:v1.3/PretargetingConfig/geoCriteriaIds": geo_criteria_ids
+"/adexchangebuyer:v1.3/PretargetingConfig/geoCriteriaIds/geo_criteria_id": geo_criteria_id
+"/adexchangebuyer:v1.3/PretargetingConfig/isActive": is_active
+"/adexchangebuyer:v1.3/PretargetingConfig/kind": kind
+"/adexchangebuyer:v1.3/PretargetingConfig/languages": languages
+"/adexchangebuyer:v1.3/PretargetingConfig/languages/language": language
+"/adexchangebuyer:v1.3/PretargetingConfig/mobileCarriers": mobile_carriers
+"/adexchangebuyer:v1.3/PretargetingConfig/mobileCarriers/mobile_carrier": mobile_carrier
+"/adexchangebuyer:v1.3/PretargetingConfig/mobileDevices": mobile_devices
+"/adexchangebuyer:v1.3/PretargetingConfig/mobileDevices/mobile_device": mobile_device
+"/adexchangebuyer:v1.3/PretargetingConfig/mobileOperatingSystemVersions": mobile_operating_system_versions
+"/adexchangebuyer:v1.3/PretargetingConfig/mobileOperatingSystemVersions/mobile_operating_system_version": mobile_operating_system_version
+"/adexchangebuyer:v1.3/PretargetingConfig/placements": placements
+"/adexchangebuyer:v1.3/PretargetingConfig/placements/placement": placement
+"/adexchangebuyer:v1.3/PretargetingConfig/placements/placement/token": token
+"/adexchangebuyer:v1.3/PretargetingConfig/placements/placement/type": type
+"/adexchangebuyer:v1.3/PretargetingConfig/platforms": platforms
+"/adexchangebuyer:v1.3/PretargetingConfig/platforms/platform": platform
+"/adexchangebuyer:v1.3/PretargetingConfig/supportedCreativeAttributes": supported_creative_attributes
+"/adexchangebuyer:v1.3/PretargetingConfig/supportedCreativeAttributes/supported_creative_attribute": supported_creative_attribute
+"/adexchangebuyer:v1.3/PretargetingConfig/userLists": user_lists
+"/adexchangebuyer:v1.3/PretargetingConfig/userLists/user_list": user_list
+"/adexchangebuyer:v1.3/PretargetingConfig/vendorTypes": vendor_types
+"/adexchangebuyer:v1.3/PretargetingConfig/vendorTypes/vendor_type": vendor_type
+"/adexchangebuyer:v1.3/PretargetingConfig/verticals": verticals
+"/adexchangebuyer:v1.3/PretargetingConfig/verticals/vertical": vertical
+"/adexchangebuyer:v1.3/PretargetingConfigList": pretargeting_config_list
+"/adexchangebuyer:v1.3/PretargetingConfigList/items": items
+"/adexchangebuyer:v1.3/PretargetingConfigList/items/item": item
+"/adexchangebuyer:v1.3/PretargetingConfigList/kind": kind
+"/adexchangeseller:v2.0/fields": fields
+"/adexchangeseller:v2.0/key": key
+"/adexchangeseller:v2.0/quotaUser": quota_user
+"/adexchangeseller:v2.0/userIp": user_ip
+"/adexchangeseller:v2.0/adexchangeseller.accounts.get": get_account
+"/adexchangeseller:v2.0/adexchangeseller.accounts.get/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.list": list_accounts
+"/adexchangeseller:v2.0/adexchangeseller.accounts.list/maxResults": max_results
+"/adexchangeseller:v2.0/adexchangeseller.accounts.list/pageToken": page_token
+"/adexchangeseller:v2.0/adexchangeseller.accounts.adclients.list/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.adclients.list/maxResults": max_results
+"/adexchangeseller:v2.0/adexchangeseller.accounts.adclients.list/pageToken": page_token
+"/adexchangeseller:v2.0/adexchangeseller.accounts.alerts.list": list_account_alerts
+"/adexchangeseller:v2.0/adexchangeseller.accounts.alerts.list/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.alerts.list/locale": locale
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.get/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.get/adClientId": ad_client_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.get/customChannelId": custom_channel_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.list/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.list/adClientId": ad_client_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.list/maxResults": max_results
+"/adexchangeseller:v2.0/adexchangeseller.accounts.customchannels.list/pageToken": page_token
+"/adexchangeseller:v2.0/adexchangeseller.accounts.metadata.dimensions.list/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.metadata.metrics.list/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.preferreddeals.get/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.preferreddeals.get/dealId": deal_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.preferreddeals.list/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate": generate_account_report
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate/dimension": dimension
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate/endDate": end_date
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate/filter": filter
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate/locale": locale
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate/maxResults": max_results
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate/metric": metric
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate/sort": sort
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate/startDate": start_date
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.generate/startIndex": start_index
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.generate/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.generate/locale": locale
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.generate/maxResults": max_results
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.generate/savedReportId": saved_report_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.generate/startIndex": start_index
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.list/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.list/maxResults": max_results
+"/adexchangeseller:v2.0/adexchangeseller.accounts.reports.saved.list/pageToken": page_token
+"/adexchangeseller:v2.0/adexchangeseller.accounts.urlchannels.list/accountId": account_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.urlchannels.list/adClientId": ad_client_id
+"/adexchangeseller:v2.0/adexchangeseller.accounts.urlchannels.list/maxResults": max_results
+"/adexchangeseller:v2.0/adexchangeseller.accounts.urlchannels.list/pageToken": page_token
+"/adexchangeseller:v2.0/Account": account
+"/adexchangeseller:v2.0/Account/id": id
+"/adexchangeseller:v2.0/Account/kind": kind
+"/adexchangeseller:v2.0/Account/name": name
+"/adexchangeseller:v2.0/Accounts": accounts
+"/adexchangeseller:v2.0/Accounts/etag": etag
+"/adexchangeseller:v2.0/Accounts/items": items
+"/adexchangeseller:v2.0/Accounts/items/item": item
+"/adexchangeseller:v2.0/Accounts/kind": kind
+"/adexchangeseller:v2.0/Accounts/nextPageToken": next_page_token
+"/adexchangeseller:v2.0/AdClient": ad_client
+"/adexchangeseller:v2.0/AdClient/arcOptIn": arc_opt_in
+"/adexchangeseller:v2.0/AdClient/id": id
+"/adexchangeseller:v2.0/AdClient/kind": kind
+"/adexchangeseller:v2.0/AdClient/productCode": product_code
+"/adexchangeseller:v2.0/AdClient/supportsReporting": supports_reporting
+"/adexchangeseller:v2.0/AdClients": ad_clients
+"/adexchangeseller:v2.0/AdClients/etag": etag
+"/adexchangeseller:v2.0/AdClients/items": items
+"/adexchangeseller:v2.0/AdClients/items/item": item
+"/adexchangeseller:v2.0/AdClients/kind": kind
+"/adexchangeseller:v2.0/AdClients/nextPageToken": next_page_token
+"/adexchangeseller:v2.0/Alert": alert
+"/adexchangeseller:v2.0/Alert/id": id
+"/adexchangeseller:v2.0/Alert/kind": kind
+"/adexchangeseller:v2.0/Alert/message": message
+"/adexchangeseller:v2.0/Alert/severity": severity
+"/adexchangeseller:v2.0/Alert/type": type
+"/adexchangeseller:v2.0/Alerts": alerts
+"/adexchangeseller:v2.0/Alerts/items": items
+"/adexchangeseller:v2.0/Alerts/items/item": item
+"/adexchangeseller:v2.0/Alerts/kind": kind
+"/adexchangeseller:v2.0/CustomChannel": custom_channel
+"/adexchangeseller:v2.0/CustomChannel/code": code
+"/adexchangeseller:v2.0/CustomChannel/id": id
+"/adexchangeseller:v2.0/CustomChannel/kind": kind
+"/adexchangeseller:v2.0/CustomChannel/name": name
+"/adexchangeseller:v2.0/CustomChannel/targetingInfo": targeting_info
+"/adexchangeseller:v2.0/CustomChannel/targetingInfo/adsAppearOn": ads_appear_on
+"/adexchangeseller:v2.0/CustomChannel/targetingInfo/description": description
+"/adexchangeseller:v2.0/CustomChannel/targetingInfo/location": location
+"/adexchangeseller:v2.0/CustomChannel/targetingInfo/siteLanguage": site_language
+"/adexchangeseller:v2.0/CustomChannels": custom_channels
+"/adexchangeseller:v2.0/CustomChannels/etag": etag
+"/adexchangeseller:v2.0/CustomChannels/items": items
+"/adexchangeseller:v2.0/CustomChannels/items/item": item
+"/adexchangeseller:v2.0/CustomChannels/kind": kind
+"/adexchangeseller:v2.0/CustomChannels/nextPageToken": next_page_token
+"/adexchangeseller:v2.0/Metadata": metadata
+"/adexchangeseller:v2.0/Metadata/items": items
+"/adexchangeseller:v2.0/Metadata/items/item": item
+"/adexchangeseller:v2.0/Metadata/kind": kind
+"/adexchangeseller:v2.0/PreferredDeal": preferred_deal
+"/adexchangeseller:v2.0/PreferredDeal/advertiserName": advertiser_name
+"/adexchangeseller:v2.0/PreferredDeal/buyerNetworkName": buyer_network_name
+"/adexchangeseller:v2.0/PreferredDeal/currencyCode": currency_code
+"/adexchangeseller:v2.0/PreferredDeal/endTime": end_time
+"/adexchangeseller:v2.0/PreferredDeal/fixedCpm": fixed_cpm
+"/adexchangeseller:v2.0/PreferredDeal/id": id
+"/adexchangeseller:v2.0/PreferredDeal/kind": kind
+"/adexchangeseller:v2.0/PreferredDeal/startTime": start_time
+"/adexchangeseller:v2.0/PreferredDeals": preferred_deals
+"/adexchangeseller:v2.0/PreferredDeals/items": items
+"/adexchangeseller:v2.0/PreferredDeals/items/item": item
+"/adexchangeseller:v2.0/PreferredDeals/kind": kind
+"/adexchangeseller:v2.0/Report": report
+"/adexchangeseller:v2.0/Report/averages": averages
+"/adexchangeseller:v2.0/Report/averages/average": average
+"/adexchangeseller:v2.0/Report/headers": headers
+"/adexchangeseller:v2.0/Report/headers/header": header
+"/adexchangeseller:v2.0/Report/headers/header/currency": currency
+"/adexchangeseller:v2.0/Report/headers/header/name": name
+"/adexchangeseller:v2.0/Report/headers/header/type": type
+"/adexchangeseller:v2.0/Report/kind": kind
+"/adexchangeseller:v2.0/Report/rows": rows
+"/adexchangeseller:v2.0/Report/rows/row": row
+"/adexchangeseller:v2.0/Report/rows/row/row": row
+"/adexchangeseller:v2.0/Report/totalMatchedRows": total_matched_rows
+"/adexchangeseller:v2.0/Report/totals": totals
+"/adexchangeseller:v2.0/Report/totals/total": total
+"/adexchangeseller:v2.0/Report/warnings": warnings
+"/adexchangeseller:v2.0/Report/warnings/warning": warning
+"/adexchangeseller:v2.0/ReportingMetadataEntry": reporting_metadata_entry
+"/adexchangeseller:v2.0/ReportingMetadataEntry/compatibleDimensions": compatible_dimensions
+"/adexchangeseller:v2.0/ReportingMetadataEntry/compatibleDimensions/compatible_dimension": compatible_dimension
+"/adexchangeseller:v2.0/ReportingMetadataEntry/compatibleMetrics": compatible_metrics
+"/adexchangeseller:v2.0/ReportingMetadataEntry/compatibleMetrics/compatible_metric": compatible_metric
+"/adexchangeseller:v2.0/ReportingMetadataEntry/id": id
+"/adexchangeseller:v2.0/ReportingMetadataEntry/kind": kind
+"/adexchangeseller:v2.0/ReportingMetadataEntry/requiredDimensions": required_dimensions
+"/adexchangeseller:v2.0/ReportingMetadataEntry/requiredDimensions/required_dimension": required_dimension
+"/adexchangeseller:v2.0/ReportingMetadataEntry/requiredMetrics": required_metrics
+"/adexchangeseller:v2.0/ReportingMetadataEntry/requiredMetrics/required_metric": required_metric
+"/adexchangeseller:v2.0/ReportingMetadataEntry/supportedProducts": supported_products
+"/adexchangeseller:v2.0/ReportingMetadataEntry/supportedProducts/supported_product": supported_product
+"/adexchangeseller:v2.0/SavedReport": saved_report
+"/adexchangeseller:v2.0/SavedReport/id": id
+"/adexchangeseller:v2.0/SavedReport/kind": kind
+"/adexchangeseller:v2.0/SavedReport/name": name
+"/adexchangeseller:v2.0/SavedReports": saved_reports
+"/adexchangeseller:v2.0/SavedReports/etag": etag
+"/adexchangeseller:v2.0/SavedReports/items": items
+"/adexchangeseller:v2.0/SavedReports/items/item": item
+"/adexchangeseller:v2.0/SavedReports/kind": kind
+"/adexchangeseller:v2.0/SavedReports/nextPageToken": next_page_token
+"/adexchangeseller:v2.0/UrlChannel": url_channel
+"/adexchangeseller:v2.0/UrlChannel/id": id
+"/adexchangeseller:v2.0/UrlChannel/kind": kind
+"/adexchangeseller:v2.0/UrlChannel/urlPattern": url_pattern
+"/adexchangeseller:v2.0/UrlChannels": url_channels
+"/adexchangeseller:v2.0/UrlChannels/etag": etag
+"/adexchangeseller:v2.0/UrlChannels/items": items
+"/adexchangeseller:v2.0/UrlChannels/items/item": item
+"/adexchangeseller:v2.0/UrlChannels/kind": kind
+"/adexchangeseller:v2.0/UrlChannels/nextPageToken": next_page_token
+"/admin:directory_v1/fields": fields
+"/admin:directory_v1/key": key
+"/admin:directory_v1/quotaUser": quota_user
+"/admin:directory_v1/userIp": user_ip
+"/admin:directory_v1/directory.asps.delete": delete_asp
+"/admin:directory_v1/directory.asps.delete/codeId": code_id
+"/admin:directory_v1/directory.asps.delete/userKey": user_key
+"/admin:directory_v1/directory.asps.get": get_asp
+"/admin:directory_v1/directory.asps.get/codeId": code_id
+"/admin:directory_v1/directory.asps.get/userKey": user_key
+"/admin:directory_v1/directory.asps.list": list_asps
+"/admin:directory_v1/directory.asps.list/userKey": user_key
+"/admin:directory_v1/admin.channels.stop": stop_channel
+"/admin:directory_v1/directory.chromeosdevices.get/customerId": customer_id
+"/admin:directory_v1/directory.chromeosdevices.get/deviceId": device_id
+"/admin:directory_v1/directory.chromeosdevices.get/projection": projection
+"/admin:directory_v1/directory.chromeosdevices.list/customerId": customer_id
+"/admin:directory_v1/directory.chromeosdevices.list/maxResults": max_results
+"/admin:directory_v1/directory.chromeosdevices.list/orderBy": order_by
+"/admin:directory_v1/directory.chromeosdevices.list/pageToken": page_token
+"/admin:directory_v1/directory.chromeosdevices.list/projection": projection
+"/admin:directory_v1/directory.chromeosdevices.list/query": query
+"/admin:directory_v1/directory.chromeosdevices.list/sortOrder": sort_order
+"/admin:directory_v1/directory.chromeosdevices.patch/customerId": customer_id
+"/admin:directory_v1/directory.chromeosdevices.patch/deviceId": device_id
+"/admin:directory_v1/directory.chromeosdevices.patch/projection": projection
+"/admin:directory_v1/directory.chromeosdevices.update/customerId": customer_id
+"/admin:directory_v1/directory.chromeosdevices.update/deviceId": device_id
+"/admin:directory_v1/directory.chromeosdevices.update/projection": projection
+"/admin:directory_v1/directory.groups.delete": delete_group
+"/admin:directory_v1/directory.groups.delete/groupKey": group_key
+"/admin:directory_v1/directory.groups.get": get_group
+"/admin:directory_v1/directory.groups.get/groupKey": group_key
+"/admin:directory_v1/directory.groups.insert": insert_group
+"/admin:directory_v1/directory.groups.list": list_groups
+"/admin:directory_v1/directory.groups.list/customer": customer
+"/admin:directory_v1/directory.groups.list/domain": domain
+"/admin:directory_v1/directory.groups.list/maxResults": max_results
+"/admin:directory_v1/directory.groups.list/pageToken": page_token
+"/admin:directory_v1/directory.groups.list/userKey": user_key
+"/admin:directory_v1/directory.groups.patch": patch_group
+"/admin:directory_v1/directory.groups.patch/groupKey": group_key
+"/admin:directory_v1/directory.groups.update": update_group
+"/admin:directory_v1/directory.groups.update/groupKey": group_key
+"/admin:directory_v1/directory.groups.aliases.delete": delete_group_alias
+"/admin:directory_v1/directory.groups.aliases.delete/groupKey": group_key
+"/admin:directory_v1/directory.groups.aliases.insert": insert_group_alias
+"/admin:directory_v1/directory.groups.aliases.insert/groupKey": group_key
+"/admin:directory_v1/directory.groups.aliases.list": list_group_aliases
+"/admin:directory_v1/directory.groups.aliases.list/groupKey": group_key
+"/admin:directory_v1/directory.members.delete": delete_member
+"/admin:directory_v1/directory.members.delete/groupKey": group_key
+"/admin:directory_v1/directory.members.delete/memberKey": member_key
+"/admin:directory_v1/directory.members.get": get_member
+"/admin:directory_v1/directory.members.get/groupKey": group_key
+"/admin:directory_v1/directory.members.get/memberKey": member_key
+"/admin:directory_v1/directory.members.insert": insert_member
+"/admin:directory_v1/directory.members.insert/groupKey": group_key
+"/admin:directory_v1/directory.members.list": list_members
+"/admin:directory_v1/directory.members.list/groupKey": group_key
+"/admin:directory_v1/directory.members.list/maxResults": max_results
+"/admin:directory_v1/directory.members.list/pageToken": page_token
+"/admin:directory_v1/directory.members.list/roles": roles
+"/admin:directory_v1/directory.members.patch": patch_member
+"/admin:directory_v1/directory.members.patch/groupKey": group_key
+"/admin:directory_v1/directory.members.patch/memberKey": member_key
+"/admin:directory_v1/directory.members.update": update_member
+"/admin:directory_v1/directory.members.update/groupKey": group_key
+"/admin:directory_v1/directory.members.update/memberKey": member_key
+"/admin:directory_v1/directory.mobiledevices.action/customerId": customer_id
+"/admin:directory_v1/directory.mobiledevices.action/resourceId": resource_id
+"/admin:directory_v1/directory.mobiledevices.delete/customerId": customer_id
+"/admin:directory_v1/directory.mobiledevices.delete/resourceId": resource_id
+"/admin:directory_v1/directory.mobiledevices.get/customerId": customer_id
+"/admin:directory_v1/directory.mobiledevices.get/projection": projection
+"/admin:directory_v1/directory.mobiledevices.get/resourceId": resource_id
+"/admin:directory_v1/directory.mobiledevices.list/customerId": customer_id
+"/admin:directory_v1/directory.mobiledevices.list/maxResults": max_results
+"/admin:directory_v1/directory.mobiledevices.list/orderBy": order_by
+"/admin:directory_v1/directory.mobiledevices.list/pageToken": page_token
+"/admin:directory_v1/directory.mobiledevices.list/projection": projection
+"/admin:directory_v1/directory.mobiledevices.list/query": query
+"/admin:directory_v1/directory.mobiledevices.list/sortOrder": sort_order
+"/admin:directory_v1/directory.notifications.delete": delete_notification
+"/admin:directory_v1/directory.notifications.delete/customer": customer
+"/admin:directory_v1/directory.notifications.delete/notificationId": notification_id
+"/admin:directory_v1/directory.notifications.get": get_notification
+"/admin:directory_v1/directory.notifications.get/customer": customer
+"/admin:directory_v1/directory.notifications.get/notificationId": notification_id
+"/admin:directory_v1/directory.notifications.list": list_notifications
+"/admin:directory_v1/directory.notifications.list/customer": customer
+"/admin:directory_v1/directory.notifications.list/language": language
+"/admin:directory_v1/directory.notifications.list/maxResults": max_results
+"/admin:directory_v1/directory.notifications.list/pageToken": page_token
+"/admin:directory_v1/directory.notifications.patch": patch_notification
+"/admin:directory_v1/directory.notifications.patch/customer": customer
+"/admin:directory_v1/directory.notifications.patch/notificationId": notification_id
+"/admin:directory_v1/directory.notifications.update": update_notification
+"/admin:directory_v1/directory.notifications.update/customer": customer
+"/admin:directory_v1/directory.notifications.update/notificationId": notification_id
+"/admin:directory_v1/directory.orgunits.delete/customerId": customer_id
+"/admin:directory_v1/directory.orgunits.delete/orgUnitPath": org_unit_path
+"/admin:directory_v1/directory.orgunits.get/customerId": customer_id
+"/admin:directory_v1/directory.orgunits.get/orgUnitPath": org_unit_path
+"/admin:directory_v1/directory.orgunits.insert/customerId": customer_id
+"/admin:directory_v1/directory.orgunits.list/customerId": customer_id
+"/admin:directory_v1/directory.orgunits.list/orgUnitPath": org_unit_path
+"/admin:directory_v1/directory.orgunits.list/type": type
+"/admin:directory_v1/directory.orgunits.patch/customerId": customer_id
+"/admin:directory_v1/directory.orgunits.patch/orgUnitPath": org_unit_path
+"/admin:directory_v1/directory.orgunits.update/customerId": customer_id
+"/admin:directory_v1/directory.orgunits.update/orgUnitPath": org_unit_path
+"/admin:directory_v1/directory.schemas.delete": delete_schema
+"/admin:directory_v1/directory.schemas.delete/customerId": customer_id
+"/admin:directory_v1/directory.schemas.delete/schemaKey": schema_key
+"/admin:directory_v1/directory.schemas.get": get_schema
+"/admin:directory_v1/directory.schemas.get/customerId": customer_id
+"/admin:directory_v1/directory.schemas.get/schemaKey": schema_key
+"/admin:directory_v1/directory.schemas.insert": insert_schema
+"/admin:directory_v1/directory.schemas.insert/customerId": customer_id
+"/admin:directory_v1/directory.schemas.list": list_schemas
+"/admin:directory_v1/directory.schemas.list/customerId": customer_id
+"/admin:directory_v1/directory.schemas.patch": patch_schema
+"/admin:directory_v1/directory.schemas.patch/customerId": customer_id
+"/admin:directory_v1/directory.schemas.patch/schemaKey": schema_key
+"/admin:directory_v1/directory.schemas.update": update_schema
+"/admin:directory_v1/directory.schemas.update/customerId": customer_id
+"/admin:directory_v1/directory.schemas.update/schemaKey": schema_key
+"/admin:directory_v1/directory.tokens.delete": delete_token
+"/admin:directory_v1/directory.tokens.delete/clientId": client_id
+"/admin:directory_v1/directory.tokens.delete/userKey": user_key
+"/admin:directory_v1/directory.tokens.get": get_token
+"/admin:directory_v1/directory.tokens.get/clientId": client_id
+"/admin:directory_v1/directory.tokens.get/userKey": user_key
+"/admin:directory_v1/directory.tokens.list": list_tokens
+"/admin:directory_v1/directory.tokens.list/userKey": user_key
+"/admin:directory_v1/directory.users.delete": delete_user
+"/admin:directory_v1/directory.users.delete/userKey": user_key
+"/admin:directory_v1/directory.users.get": get_user
+"/admin:directory_v1/directory.users.get/customFieldMask": custom_field_mask
+"/admin:directory_v1/directory.users.get/projection": projection
+"/admin:directory_v1/directory.users.get/userKey": user_key
+"/admin:directory_v1/directory.users.get/viewType": view_type
+"/admin:directory_v1/directory.users.insert": insert_user
+"/admin:directory_v1/directory.users.list": list_users
+"/admin:directory_v1/directory.users.list/customFieldMask": custom_field_mask
+"/admin:directory_v1/directory.users.list/customer": customer
+"/admin:directory_v1/directory.users.list/domain": domain
+"/admin:directory_v1/directory.users.list/event": event
+"/admin:directory_v1/directory.users.list/maxResults": max_results
+"/admin:directory_v1/directory.users.list/orderBy": order_by
+"/admin:directory_v1/directory.users.list/pageToken": page_token
+"/admin:directory_v1/directory.users.list/projection": projection
+"/admin:directory_v1/directory.users.list/query": query
+"/admin:directory_v1/directory.users.list/showDeleted": show_deleted
+"/admin:directory_v1/directory.users.list/sortOrder": sort_order
+"/admin:directory_v1/directory.users.list/viewType": view_type
+"/admin:directory_v1/directory.users.makeAdmin": make_admin_user
+"/admin:directory_v1/directory.users.makeAdmin/userKey": user_key
+"/admin:directory_v1/directory.users.patch": patch_user
+"/admin:directory_v1/directory.users.patch/userKey": user_key
+"/admin:directory_v1/directory.users.undelete": undelete_user
+"/admin:directory_v1/directory.users.undelete/userKey": user_key
+"/admin:directory_v1/directory.users.update": update_user
+"/admin:directory_v1/directory.users.update/userKey": user_key
+"/admin:directory_v1/directory.users.watch": watch_user
+"/admin:directory_v1/directory.users.watch/customFieldMask": custom_field_mask
+"/admin:directory_v1/directory.users.watch/customer": customer
+"/admin:directory_v1/directory.users.watch/domain": domain
+"/admin:directory_v1/directory.users.watch/event": event
+"/admin:directory_v1/directory.users.watch/maxResults": max_results
+"/admin:directory_v1/directory.users.watch/orderBy": order_by
+"/admin:directory_v1/directory.users.watch/pageToken": page_token
+"/admin:directory_v1/directory.users.watch/projection": projection
+"/admin:directory_v1/directory.users.watch/query": query
+"/admin:directory_v1/directory.users.watch/showDeleted": show_deleted
+"/admin:directory_v1/directory.users.watch/sortOrder": sort_order
+"/admin:directory_v1/directory.users.watch/viewType": view_type
+"/admin:directory_v1/directory.users.aliases.delete": delete_user_alias
+"/admin:directory_v1/directory.users.aliases.delete/userKey": user_key
+"/admin:directory_v1/directory.users.aliases.insert": insert_user_alias
+"/admin:directory_v1/directory.users.aliases.insert/userKey": user_key
+"/admin:directory_v1/directory.users.aliases.list": list_user_aliases
+"/admin:directory_v1/directory.users.aliases.list/event": event
+"/admin:directory_v1/directory.users.aliases.list/userKey": user_key
+"/admin:directory_v1/directory.users.aliases.watch": watch_user_alias
+"/admin:directory_v1/directory.users.aliases.watch/event": event
+"/admin:directory_v1/directory.users.aliases.watch/userKey": user_key
+"/admin:directory_v1/directory.users.photos.delete": delete_user_photo
+"/admin:directory_v1/directory.users.photos.delete/userKey": user_key
+"/admin:directory_v1/directory.users.photos.get": get_user_photo
+"/admin:directory_v1/directory.users.photos.get/userKey": user_key
+"/admin:directory_v1/directory.users.photos.patch": patch_user_photo
+"/admin:directory_v1/directory.users.photos.patch/userKey": user_key
+"/admin:directory_v1/directory.users.photos.update": update_user_photo
+"/admin:directory_v1/directory.users.photos.update/userKey": user_key
+"/admin:directory_v1/directory.verificationCodes.generate": generate_verification_code
+"/admin:directory_v1/directory.verificationCodes.generate/userKey": user_key
+"/admin:directory_v1/directory.verificationCodes.invalidate": invalidate_verification_code
+"/admin:directory_v1/directory.verificationCodes.invalidate/userKey": user_key
+"/admin:directory_v1/directory.verificationCodes.list": list_verification_codes
+"/admin:directory_v1/directory.verificationCodes.list/userKey": user_key
+"/admin:directory_v1/Alias": alias
+"/admin:directory_v1/Alias/alias": alias
+"/admin:directory_v1/Alias/etag": etag
+"/admin:directory_v1/Alias/id": id
+"/admin:directory_v1/Alias/kind": kind
+"/admin:directory_v1/Alias/primaryEmail": primary_email
+"/admin:directory_v1/Aliases": aliases
+"/admin:directory_v1/Aliases/aliases": aliases
+"/admin:directory_v1/Aliases/aliases/alias": alias
+"/admin:directory_v1/Aliases/etag": etag
+"/admin:directory_v1/Aliases/kind": kind
+"/admin:directory_v1/Asp": asp
+"/admin:directory_v1/Asp/codeId": code_id
+"/admin:directory_v1/Asp/creationTime": creation_time
+"/admin:directory_v1/Asp/etag": etag
+"/admin:directory_v1/Asp/kind": kind
+"/admin:directory_v1/Asp/lastTimeUsed": last_time_used
+"/admin:directory_v1/Asp/name": name
+"/admin:directory_v1/Asp/userKey": user_key
+"/admin:directory_v1/Asps": asps
+"/admin:directory_v1/Asps/etag": etag
+"/admin:directory_v1/Asps/items": items
+"/admin:directory_v1/Asps/items/item": item
+"/admin:directory_v1/Asps/kind": kind
+"/admin:directory_v1/Channel": channel
+"/admin:directory_v1/Channel/address": address
+"/admin:directory_v1/Channel/expiration": expiration
+"/admin:directory_v1/Channel/id": id
+"/admin:directory_v1/Channel/kind": kind
+"/admin:directory_v1/Channel/params": params
+"/admin:directory_v1/Channel/params/param": param
+"/admin:directory_v1/Channel/payload": payload
+"/admin:directory_v1/Channel/resourceId": resource_id
+"/admin:directory_v1/Channel/resourceUri": resource_uri
+"/admin:directory_v1/Channel/token": token
+"/admin:directory_v1/Channel/type": type
+"/admin:directory_v1/ChromeOsDevice": chrome_os_device
+"/admin:directory_v1/ChromeOsDevice/activeTimeRanges": active_time_ranges
+"/admin:directory_v1/ChromeOsDevice/activeTimeRanges/active_time_range": active_time_range
+"/admin:directory_v1/ChromeOsDevice/activeTimeRanges/active_time_range/activeTime": active_time
+"/admin:directory_v1/ChromeOsDevice/activeTimeRanges/active_time_range/date": date
+"/admin:directory_v1/ChromeOsDevice/annotatedAssetId": annotated_asset_id
+"/admin:directory_v1/ChromeOsDevice/annotatedLocation": annotated_location
+"/admin:directory_v1/ChromeOsDevice/annotatedUser": annotated_user
+"/admin:directory_v1/ChromeOsDevice/bootMode": boot_mode
+"/admin:directory_v1/ChromeOsDevice/deviceId": device_id
+"/admin:directory_v1/ChromeOsDevice/etag": etag
+"/admin:directory_v1/ChromeOsDevice/ethernetMacAddress": ethernet_mac_address
+"/admin:directory_v1/ChromeOsDevice/firmwareVersion": firmware_version
+"/admin:directory_v1/ChromeOsDevice/kind": kind
+"/admin:directory_v1/ChromeOsDevice/lastEnrollmentTime": last_enrollment_time
+"/admin:directory_v1/ChromeOsDevice/lastSync": last_sync
+"/admin:directory_v1/ChromeOsDevice/macAddress": mac_address
+"/admin:directory_v1/ChromeOsDevice/meid": meid
+"/admin:directory_v1/ChromeOsDevice/model": model
+"/admin:directory_v1/ChromeOsDevice/notes": notes
+"/admin:directory_v1/ChromeOsDevice/orderNumber": order_number
+"/admin:directory_v1/ChromeOsDevice/orgUnitPath": org_unit_path
+"/admin:directory_v1/ChromeOsDevice/osVersion": os_version
+"/admin:directory_v1/ChromeOsDevice/platformVersion": platform_version
+"/admin:directory_v1/ChromeOsDevice/recentUsers": recent_users
+"/admin:directory_v1/ChromeOsDevice/recentUsers/recent_user": recent_user
+"/admin:directory_v1/ChromeOsDevice/recentUsers/recent_user/email": email
+"/admin:directory_v1/ChromeOsDevice/recentUsers/recent_user/type": type
+"/admin:directory_v1/ChromeOsDevice/serialNumber": serial_number
+"/admin:directory_v1/ChromeOsDevice/status": status
+"/admin:directory_v1/ChromeOsDevice/supportEndDate": support_end_date
+"/admin:directory_v1/ChromeOsDevice/willAutoRenew": will_auto_renew
+"/admin:directory_v1/ChromeOsDevices": chrome_os_devices
+"/admin:directory_v1/ChromeOsDevices/chromeosdevices": chromeosdevices
+"/admin:directory_v1/ChromeOsDevices/chromeosdevices/chromeosdevice": chromeosdevice
+"/admin:directory_v1/ChromeOsDevices/etag": etag
+"/admin:directory_v1/ChromeOsDevices/kind": kind
+"/admin:directory_v1/ChromeOsDevices/nextPageToken": next_page_token
+"/admin:directory_v1/Group": group
+"/admin:directory_v1/Group/adminCreated": admin_created
+"/admin:directory_v1/Group/aliases": aliases
+"/admin:directory_v1/Group/aliases/alias": alias
+"/admin:directory_v1/Group/description": description
+"/admin:directory_v1/Group/directMembersCount": direct_members_count
+"/admin:directory_v1/Group/email": email
+"/admin:directory_v1/Group/etag": etag
+"/admin:directory_v1/Group/id": id
+"/admin:directory_v1/Group/kind": kind
+"/admin:directory_v1/Group/name": name
+"/admin:directory_v1/Group/nonEditableAliases": non_editable_aliases
+"/admin:directory_v1/Group/nonEditableAliases/non_editable_alias": non_editable_alias
+"/admin:directory_v1/Groups": groups
+"/admin:directory_v1/Groups/etag": etag
+"/admin:directory_v1/Groups/groups": groups
+"/admin:directory_v1/Groups/groups/group": group
+"/admin:directory_v1/Groups/kind": kind
+"/admin:directory_v1/Groups/nextPageToken": next_page_token
+"/admin:directory_v1/Member": member
+"/admin:directory_v1/Member/email": email
+"/admin:directory_v1/Member/etag": etag
+"/admin:directory_v1/Member/id": id
+"/admin:directory_v1/Member/kind": kind
+"/admin:directory_v1/Member/role": role
+"/admin:directory_v1/Member/type": type
+"/admin:directory_v1/Members": members
+"/admin:directory_v1/Members/etag": etag
+"/admin:directory_v1/Members/kind": kind
+"/admin:directory_v1/Members/members": members
+"/admin:directory_v1/Members/members/member": member
+"/admin:directory_v1/Members/nextPageToken": next_page_token
+"/admin:directory_v1/MobileDevice": mobile_device
+"/admin:directory_v1/MobileDevice/applications": applications
+"/admin:directory_v1/MobileDevice/applications/application": application
+"/admin:directory_v1/MobileDevice/applications/application/displayName": display_name
+"/admin:directory_v1/MobileDevice/applications/application/packageName": package_name
+"/admin:directory_v1/MobileDevice/applications/application/permission": permission
+"/admin:directory_v1/MobileDevice/applications/application/permission/permission": permission
+"/admin:directory_v1/MobileDevice/applications/application/versionCode": version_code
+"/admin:directory_v1/MobileDevice/applications/application/versionName": version_name
+"/admin:directory_v1/MobileDevice/basebandVersion": baseband_version
+"/admin:directory_v1/MobileDevice/buildNumber": build_number
+"/admin:directory_v1/MobileDevice/defaultLanguage": default_language
+"/admin:directory_v1/MobileDevice/deviceCompromisedStatus": device_compromised_status
+"/admin:directory_v1/MobileDevice/deviceId": device_id
+"/admin:directory_v1/MobileDevice/email": email
+"/admin:directory_v1/MobileDevice/email/email": email
+"/admin:directory_v1/MobileDevice/etag": etag
+"/admin:directory_v1/MobileDevice/firstSync": first_sync
+"/admin:directory_v1/MobileDevice/hardwareId": hardware_id
+"/admin:directory_v1/MobileDevice/imei": imei
+"/admin:directory_v1/MobileDevice/kernelVersion": kernel_version
+"/admin:directory_v1/MobileDevice/kind": kind
+"/admin:directory_v1/MobileDevice/lastSync": last_sync
+"/admin:directory_v1/MobileDevice/managedAccountIsOnOwnerProfile": managed_account_is_on_owner_profile
+"/admin:directory_v1/MobileDevice/meid": meid
+"/admin:directory_v1/MobileDevice/model": model
+"/admin:directory_v1/MobileDevice/name": name
+"/admin:directory_v1/MobileDevice/name/name": name
+"/admin:directory_v1/MobileDevice/networkOperator": network_operator
+"/admin:directory_v1/MobileDevice/os": os
+"/admin:directory_v1/MobileDevice/resourceId": resource_id
+"/admin:directory_v1/MobileDevice/serialNumber": serial_number
+"/admin:directory_v1/MobileDevice/status": status
+"/admin:directory_v1/MobileDevice/type": type
+"/admin:directory_v1/MobileDevice/userAgent": user_agent
+"/admin:directory_v1/MobileDevice/wifiMacAddress": wifi_mac_address
+"/admin:directory_v1/MobileDeviceAction": mobile_device_action
+"/admin:directory_v1/MobileDeviceAction/action": action
+"/admin:directory_v1/MobileDevices": mobile_devices
+"/admin:directory_v1/MobileDevices/etag": etag
+"/admin:directory_v1/MobileDevices/kind": kind
+"/admin:directory_v1/MobileDevices/mobiledevices": mobiledevices
+"/admin:directory_v1/MobileDevices/mobiledevices/mobiledevice": mobiledevice
+"/admin:directory_v1/MobileDevices/nextPageToken": next_page_token
+"/admin:directory_v1/Notification": notification
+"/admin:directory_v1/Notification/body": body
+"/admin:directory_v1/Notification/etag": etag
+"/admin:directory_v1/Notification/fromAddress": from_address
+"/admin:directory_v1/Notification/isUnread": is_unread
+"/admin:directory_v1/Notification/kind": kind
+"/admin:directory_v1/Notification/notificationId": notification_id
+"/admin:directory_v1/Notification/sendTime": send_time
+"/admin:directory_v1/Notification/subject": subject
+"/admin:directory_v1/Notifications": notifications
+"/admin:directory_v1/Notifications/etag": etag
+"/admin:directory_v1/Notifications/items": items
+"/admin:directory_v1/Notifications/items/item": item
+"/admin:directory_v1/Notifications/kind": kind
+"/admin:directory_v1/Notifications/nextPageToken": next_page_token
+"/admin:directory_v1/Notifications/unreadNotificationsCount": unread_notifications_count
+"/admin:directory_v1/OrgUnit": org_unit
+"/admin:directory_v1/OrgUnit/blockInheritance": block_inheritance
+"/admin:directory_v1/OrgUnit/description": description
+"/admin:directory_v1/OrgUnit/etag": etag
+"/admin:directory_v1/OrgUnit/kind": kind
+"/admin:directory_v1/OrgUnit/name": name
+"/admin:directory_v1/OrgUnit/orgUnitId": org_unit_id
+"/admin:directory_v1/OrgUnit/orgUnitPath": org_unit_path
+"/admin:directory_v1/OrgUnit/parentOrgUnitId": parent_org_unit_id
+"/admin:directory_v1/OrgUnit/parentOrgUnitPath": parent_org_unit_path
+"/admin:directory_v1/OrgUnits": org_units
+"/admin:directory_v1/OrgUnits/etag": etag
+"/admin:directory_v1/OrgUnits/kind": kind
+"/admin:directory_v1/OrgUnits/organizationUnits": organization_units
+"/admin:directory_v1/OrgUnits/organizationUnits/organization_unit": organization_unit
+"/admin:directory_v1/Schema": schema
+"/admin:directory_v1/Schema/etag": etag
+"/admin:directory_v1/Schema/fields": fields
+"/admin:directory_v1/Schema/fields/field": field
+"/admin:directory_v1/Schema/kind": kind
+"/admin:directory_v1/Schema/schemaId": schema_id
+"/admin:directory_v1/Schema/schemaName": schema_name
+"/admin:directory_v1/SchemaFieldSpec": schema_field_spec
+"/admin:directory_v1/SchemaFieldSpec/etag": etag
+"/admin:directory_v1/SchemaFieldSpec/fieldId": field_id
+"/admin:directory_v1/SchemaFieldSpec/fieldName": field_name
+"/admin:directory_v1/SchemaFieldSpec/fieldType": field_type
+"/admin:directory_v1/SchemaFieldSpec/indexed": indexed
+"/admin:directory_v1/SchemaFieldSpec/kind": kind
+"/admin:directory_v1/SchemaFieldSpec/multiValued": multi_valued
+"/admin:directory_v1/SchemaFieldSpec/numericIndexingSpec": numeric_indexing_spec
+"/admin:directory_v1/SchemaFieldSpec/numericIndexingSpec/maxValue": max_value
+"/admin:directory_v1/SchemaFieldSpec/numericIndexingSpec/minValue": min_value
+"/admin:directory_v1/SchemaFieldSpec/readAccessType": read_access_type
+"/admin:directory_v1/Schemas": schemas
+"/admin:directory_v1/Schemas/etag": etag
+"/admin:directory_v1/Schemas/kind": kind
+"/admin:directory_v1/Schemas/schemas": schemas
+"/admin:directory_v1/Schemas/schemas/schema": schema
+"/admin:directory_v1/Token": token
+"/admin:directory_v1/Token/anonymous": anonymous
+"/admin:directory_v1/Token/clientId": client_id
+"/admin:directory_v1/Token/displayText": display_text
+"/admin:directory_v1/Token/etag": etag
+"/admin:directory_v1/Token/kind": kind
+"/admin:directory_v1/Token/nativeApp": native_app
+"/admin:directory_v1/Token/scopes": scopes
+"/admin:directory_v1/Token/scopes/scope": scope
+"/admin:directory_v1/Token/userKey": user_key
+"/admin:directory_v1/Tokens": tokens
+"/admin:directory_v1/Tokens/etag": etag
+"/admin:directory_v1/Tokens/items": items
+"/admin:directory_v1/Tokens/items/item": item
+"/admin:directory_v1/Tokens/kind": kind
+"/admin:directory_v1/User": user
+"/admin:directory_v1/User/addresses": addresses
+"/admin:directory_v1/User/agreedToTerms": agreed_to_terms
+"/admin:directory_v1/User/aliases": aliases
+"/admin:directory_v1/User/aliases/alias": alias
+"/admin:directory_v1/User/changePasswordAtNextLogin": change_password_at_next_login
+"/admin:directory_v1/User/creationTime": creation_time
+"/admin:directory_v1/User/customSchemas": custom_schemas
+"/admin:directory_v1/User/customSchemas/custom_schema": custom_schema
+"/admin:directory_v1/User/customerId": customer_id
+"/admin:directory_v1/User/deletionTime": deletion_time
+"/admin:directory_v1/User/emails": emails
+"/admin:directory_v1/User/etag": etag
+"/admin:directory_v1/User/externalIds": external_ids
+"/admin:directory_v1/User/hashFunction": hash_function
+"/admin:directory_v1/User/id": id
+"/admin:directory_v1/User/ims": ims
+"/admin:directory_v1/User/includeInGlobalAddressList": include_in_global_address_list
+"/admin:directory_v1/User/ipWhitelisted": ip_whitelisted
+"/admin:directory_v1/User/isAdmin": is_admin
+"/admin:directory_v1/User/isDelegatedAdmin": is_delegated_admin
+"/admin:directory_v1/User/isMailboxSetup": is_mailbox_setup
+"/admin:directory_v1/User/kind": kind
+"/admin:directory_v1/User/lastLoginTime": last_login_time
+"/admin:directory_v1/User/name": name
+"/admin:directory_v1/User/nonEditableAliases": non_editable_aliases
+"/admin:directory_v1/User/nonEditableAliases/non_editable_alias": non_editable_alias
+"/admin:directory_v1/User/notes": notes
+"/admin:directory_v1/User/orgUnitPath": org_unit_path
+"/admin:directory_v1/User/organizations": organizations
+"/admin:directory_v1/User/password": password
+"/admin:directory_v1/User/phones": phones
+"/admin:directory_v1/User/primaryEmail": primary_email
+"/admin:directory_v1/User/relations": relations
+"/admin:directory_v1/User/suspended": suspended
+"/admin:directory_v1/User/suspensionReason": suspension_reason
+"/admin:directory_v1/User/thumbnailPhotoEtag": thumbnail_photo_etag
+"/admin:directory_v1/User/thumbnailPhotoUrl": thumbnail_photo_url
+"/admin:directory_v1/User/websites": websites
+"/admin:directory_v1/UserAbout": user_about
+"/admin:directory_v1/UserAbout/contentType": content_type
+"/admin:directory_v1/UserAbout/value": value
+"/admin:directory_v1/UserAddress": user_address
+"/admin:directory_v1/UserAddress/country": country
+"/admin:directory_v1/UserAddress/countryCode": country_code
+"/admin:directory_v1/UserAddress/customType": custom_type
+"/admin:directory_v1/UserAddress/extendedAddress": extended_address
+"/admin:directory_v1/UserAddress/formatted": formatted
+"/admin:directory_v1/UserAddress/locality": locality
+"/admin:directory_v1/UserAddress/poBox": po_box
+"/admin:directory_v1/UserAddress/postalCode": postal_code
+"/admin:directory_v1/UserAddress/primary": primary
+"/admin:directory_v1/UserAddress/region": region
+"/admin:directory_v1/UserAddress/sourceIsStructured": source_is_structured
+"/admin:directory_v1/UserAddress/streetAddress": street_address
+"/admin:directory_v1/UserAddress/type": type
+"/admin:directory_v1/UserCustomProperties": user_custom_properties
+"/admin:directory_v1/UserCustomProperties/user_custom_property": user_custom_property
+"/admin:directory_v1/UserEmail": user_email
+"/admin:directory_v1/UserEmail/address": address
+"/admin:directory_v1/UserEmail/customType": custom_type
+"/admin:directory_v1/UserEmail/primary": primary
+"/admin:directory_v1/UserEmail/type": type
+"/admin:directory_v1/UserExternalId": user_external_id
+"/admin:directory_v1/UserExternalId/customType": custom_type
+"/admin:directory_v1/UserExternalId/type": type
+"/admin:directory_v1/UserExternalId/value": value
+"/admin:directory_v1/UserIm": user_im
+"/admin:directory_v1/UserIm/customProtocol": custom_protocol
+"/admin:directory_v1/UserIm/customType": custom_type
+"/admin:directory_v1/UserIm/im": im
+"/admin:directory_v1/UserIm/primary": primary
+"/admin:directory_v1/UserIm/protocol": protocol
+"/admin:directory_v1/UserIm/type": type
+"/admin:directory_v1/UserMakeAdmin": user_make_admin
+"/admin:directory_v1/UserMakeAdmin/status": status
+"/admin:directory_v1/UserName": user_name
+"/admin:directory_v1/UserName/familyName": family_name
+"/admin:directory_v1/UserName/fullName": full_name
+"/admin:directory_v1/UserName/givenName": given_name
+"/admin:directory_v1/UserOrganization": user_organization
+"/admin:directory_v1/UserOrganization/costCenter": cost_center
+"/admin:directory_v1/UserOrganization/customType": custom_type
+"/admin:directory_v1/UserOrganization/department": department
+"/admin:directory_v1/UserOrganization/description": description
+"/admin:directory_v1/UserOrganization/domain": domain
+"/admin:directory_v1/UserOrganization/location": location
+"/admin:directory_v1/UserOrganization/name": name
+"/admin:directory_v1/UserOrganization/primary": primary
+"/admin:directory_v1/UserOrganization/symbol": symbol
+"/admin:directory_v1/UserOrganization/title": title
+"/admin:directory_v1/UserOrganization/type": type
+"/admin:directory_v1/UserPhone": user_phone
+"/admin:directory_v1/UserPhone/customType": custom_type
+"/admin:directory_v1/UserPhone/primary": primary
+"/admin:directory_v1/UserPhone/type": type
+"/admin:directory_v1/UserPhone/value": value
+"/admin:directory_v1/UserPhoto": user_photo
+"/admin:directory_v1/UserPhoto/etag": etag
+"/admin:directory_v1/UserPhoto/height": height
+"/admin:directory_v1/UserPhoto/id": id
+"/admin:directory_v1/UserPhoto/kind": kind
+"/admin:directory_v1/UserPhoto/mimeType": mime_type
+"/admin:directory_v1/UserPhoto/photoData": photo_data
+"/admin:directory_v1/UserPhoto/primaryEmail": primary_email
+"/admin:directory_v1/UserPhoto/width": width
+"/admin:directory_v1/UserRelation": user_relation
+"/admin:directory_v1/UserRelation/customType": custom_type
+"/admin:directory_v1/UserRelation/type": type
+"/admin:directory_v1/UserRelation/value": value
+"/admin:directory_v1/UserUndelete": user_undelete
+"/admin:directory_v1/UserUndelete/orgUnitPath": org_unit_path
+"/admin:directory_v1/UserWebsite": user_website
+"/admin:directory_v1/UserWebsite/customType": custom_type
+"/admin:directory_v1/UserWebsite/primary": primary
+"/admin:directory_v1/UserWebsite/type": type
+"/admin:directory_v1/UserWebsite/value": value
+"/admin:directory_v1/Users": users
+"/admin:directory_v1/Users/etag": etag
+"/admin:directory_v1/Users/kind": kind
+"/admin:directory_v1/Users/nextPageToken": next_page_token
+"/admin:directory_v1/Users/trigger_event": trigger_event
+"/admin:directory_v1/Users/users": users
+"/admin:directory_v1/Users/users/user": user
+"/admin:directory_v1/VerificationCode": verification_code
+"/admin:directory_v1/VerificationCode/etag": etag
+"/admin:directory_v1/VerificationCode/kind": kind
+"/admin:directory_v1/VerificationCode/userId": user_id
+"/admin:directory_v1/VerificationCode/verificationCode": verification_code
+"/admin:directory_v1/VerificationCodes": verification_codes
+"/admin:directory_v1/VerificationCodes/etag": etag
+"/admin:directory_v1/VerificationCodes/items": items
+"/admin:directory_v1/VerificationCodes/items/item": item
+"/admin:directory_v1/VerificationCodes/kind": kind
+"/admin:reports_v1/fields": fields
+"/admin:reports_v1/key": key
+"/admin:reports_v1/quotaUser": quota_user
+"/admin:reports_v1/userIp": user_ip
+"/admin:reports_v1/reports.activities.list": list_activities
+"/admin:reports_v1/reports.activities.list/actorIpAddress": actor_ip_address
+"/admin:reports_v1/reports.activities.list/applicationName": application_name
+"/admin:reports_v1/reports.activities.list/customerId": customer_id
+"/admin:reports_v1/reports.activities.list/endTime": end_time
+"/admin:reports_v1/reports.activities.list/eventName": event_name
+"/admin:reports_v1/reports.activities.list/filters": filters
+"/admin:reports_v1/reports.activities.list/maxResults": max_results
+"/admin:reports_v1/reports.activities.list/pageToken": page_token
+"/admin:reports_v1/reports.activities.list/startTime": start_time
+"/admin:reports_v1/reports.activities.list/userKey": user_key
+"/admin:reports_v1/reports.activities.watch": watch_activity
+"/admin:reports_v1/reports.activities.watch/actorIpAddress": actor_ip_address
+"/admin:reports_v1/reports.activities.watch/applicationName": application_name
+"/admin:reports_v1/reports.activities.watch/customerId": customer_id
+"/admin:reports_v1/reports.activities.watch/endTime": end_time
+"/admin:reports_v1/reports.activities.watch/eventName": event_name
+"/admin:reports_v1/reports.activities.watch/filters": filters
+"/admin:reports_v1/reports.activities.watch/maxResults": max_results
+"/admin:reports_v1/reports.activities.watch/pageToken": page_token
+"/admin:reports_v1/reports.activities.watch/startTime": start_time
+"/admin:reports_v1/reports.activities.watch/userKey": user_key
+"/admin:reports_v1/admin.channels.stop": stop_channel
+"/admin:reports_v1/reports.customerUsageReports.get": get_customer_usage_report
+"/admin:reports_v1/reports.customerUsageReports.get/customerId": customer_id
+"/admin:reports_v1/reports.customerUsageReports.get/date": date
+"/admin:reports_v1/reports.customerUsageReports.get/pageToken": page_token
+"/admin:reports_v1/reports.customerUsageReports.get/parameters": parameters
+"/admin:reports_v1/reports.userUsageReport.get": get_user_usage_report
+"/admin:reports_v1/reports.userUsageReport.get/customerId": customer_id
+"/admin:reports_v1/reports.userUsageReport.get/date": date
+"/admin:reports_v1/reports.userUsageReport.get/filters": filters
+"/admin:reports_v1/reports.userUsageReport.get/maxResults": max_results
+"/admin:reports_v1/reports.userUsageReport.get/pageToken": page_token
+"/admin:reports_v1/reports.userUsageReport.get/parameters": parameters
+"/admin:reports_v1/reports.userUsageReport.get/userKey": user_key
+"/admin:reports_v1/Activities": activities
+"/admin:reports_v1/Activities/etag": etag
+"/admin:reports_v1/Activities/items": items
+"/admin:reports_v1/Activities/items/item": item
+"/admin:reports_v1/Activities/kind": kind
+"/admin:reports_v1/Activities/nextPageToken": next_page_token
+"/admin:reports_v1/Activity": activity
+"/admin:reports_v1/Activity/actor": actor
+"/admin:reports_v1/Activity/actor/callerType": caller_type
+"/admin:reports_v1/Activity/actor/email": email
+"/admin:reports_v1/Activity/actor/key": key
+"/admin:reports_v1/Activity/actor/profileId": profile_id
+"/admin:reports_v1/Activity/etag": etag
+"/admin:reports_v1/Activity/events": events
+"/admin:reports_v1/Activity/events/event": event
+"/admin:reports_v1/Activity/events/event/name": name
+"/admin:reports_v1/Activity/events/event/parameters": parameters
+"/admin:reports_v1/Activity/events/event/parameters/parameter": parameter
+"/admin:reports_v1/Activity/events/event/parameters/parameter/boolValue": bool_value
+"/admin:reports_v1/Activity/events/event/parameters/parameter/intValue": int_value
+"/admin:reports_v1/Activity/events/event/parameters/parameter/multiIntValue": multi_int_value
+"/admin:reports_v1/Activity/events/event/parameters/parameter/multiIntValue/multi_int_value": multi_int_value
+"/admin:reports_v1/Activity/events/event/parameters/parameter/multiValue": multi_value
+"/admin:reports_v1/Activity/events/event/parameters/parameter/multiValue/multi_value": multi_value
+"/admin:reports_v1/Activity/events/event/parameters/parameter/name": name
+"/admin:reports_v1/Activity/events/event/parameters/parameter/value": value
+"/admin:reports_v1/Activity/events/event/type": type
+"/admin:reports_v1/Activity/id": id
+"/admin:reports_v1/Activity/id/applicationName": application_name
+"/admin:reports_v1/Activity/id/customerId": customer_id
+"/admin:reports_v1/Activity/id/time": time
+"/admin:reports_v1/Activity/id/uniqueQualifier": unique_qualifier
+"/admin:reports_v1/Activity/ipAddress": ip_address
+"/admin:reports_v1/Activity/kind": kind
+"/admin:reports_v1/Activity/ownerDomain": owner_domain
+"/admin:reports_v1/Channel": channel
+"/admin:reports_v1/Channel/address": address
+"/admin:reports_v1/Channel/expiration": expiration
+"/admin:reports_v1/Channel/id": id
+"/admin:reports_v1/Channel/kind": kind
+"/admin:reports_v1/Channel/params": params
+"/admin:reports_v1/Channel/params/param": param
+"/admin:reports_v1/Channel/payload": payload
+"/admin:reports_v1/Channel/resourceId": resource_id
+"/admin:reports_v1/Channel/resourceUri": resource_uri
+"/admin:reports_v1/Channel/token": token
+"/admin:reports_v1/Channel/type": type
+"/admin:reports_v1/UsageReport": usage_report
+"/admin:reports_v1/UsageReport/date": date
+"/admin:reports_v1/UsageReport/entity": entity
+"/admin:reports_v1/UsageReport/entity/customerId": customer_id
+"/admin:reports_v1/UsageReport/entity/profileId": profile_id
+"/admin:reports_v1/UsageReport/entity/type": type
+"/admin:reports_v1/UsageReport/entity/userEmail": user_email
+"/admin:reports_v1/UsageReport/etag": etag
+"/admin:reports_v1/UsageReport/kind": kind
+"/admin:reports_v1/UsageReport/parameters": parameters
+"/admin:reports_v1/UsageReport/parameters/parameter": parameter
+"/admin:reports_v1/UsageReport/parameters/parameter/boolValue": bool_value
+"/admin:reports_v1/UsageReport/parameters/parameter/datetimeValue": datetime_value
+"/admin:reports_v1/UsageReport/parameters/parameter/intValue": int_value
+"/admin:reports_v1/UsageReport/parameters/parameter/msgValue": msg_value
+"/admin:reports_v1/UsageReport/parameters/parameter/msgValue/msg_value": msg_value
+"/admin:reports_v1/UsageReport/parameters/parameter/msgValue/msg_value/msg_value": msg_value
+"/admin:reports_v1/UsageReport/parameters/parameter/name": name
+"/admin:reports_v1/UsageReport/parameters/parameter/stringValue": string_value
+"/admin:reports_v1/UsageReports": usage_reports
+"/admin:reports_v1/UsageReports/etag": etag
+"/admin:reports_v1/UsageReports/kind": kind
+"/admin:reports_v1/UsageReports/nextPageToken": next_page_token
+"/admin:reports_v1/UsageReports/usageReports": usage_reports
+"/admin:reports_v1/UsageReports/usageReports/usage_report": usage_report
+"/admin:reports_v1/UsageReports/warnings": warnings
+"/admin:reports_v1/UsageReports/warnings/warning": warning
+"/admin:reports_v1/UsageReports/warnings/warning/code": code
+"/admin:reports_v1/UsageReports/warnings/warning/data": data
+"/admin:reports_v1/UsageReports/warnings/warning/data/datum": datum
+"/admin:reports_v1/UsageReports/warnings/warning/data/datum/key": key
+"/admin:reports_v1/UsageReports/warnings/warning/data/datum/value": value
+"/admin:reports_v1/UsageReports/warnings/warning/message": message
+"/adsense:v1.4/fields": fields
+"/adsense:v1.4/key": key
+"/adsense:v1.4/quotaUser": quota_user
+"/adsense:v1.4/userIp": user_ip
+"/adsense:v1.4/adsense.accounts.get": get_account
+"/adsense:v1.4/adsense.accounts.get/accountId": account_id
+"/adsense:v1.4/adsense.accounts.get/tree": tree
+"/adsense:v1.4/adsense.accounts.list": list_accounts
+"/adsense:v1.4/adsense.accounts.list/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.list/pageToken": page_token
+"/adsense:v1.4/adsense.accounts.adclients.list/accountId": account_id
+"/adsense:v1.4/adsense.accounts.adclients.list/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.adclients.list/pageToken": page_token
+"/adsense:v1.4/adsense.accounts.adunits.get/accountId": account_id
+"/adsense:v1.4/adsense.accounts.adunits.get/adClientId": ad_client_id
+"/adsense:v1.4/adsense.accounts.adunits.get/adUnitId": ad_unit_id
+"/adsense:v1.4/adsense.accounts.adunits.getAdCode/accountId": account_id
+"/adsense:v1.4/adsense.accounts.adunits.getAdCode/adClientId": ad_client_id
+"/adsense:v1.4/adsense.accounts.adunits.getAdCode/adUnitId": ad_unit_id
+"/adsense:v1.4/adsense.accounts.adunits.list/accountId": account_id
+"/adsense:v1.4/adsense.accounts.adunits.list/adClientId": ad_client_id
+"/adsense:v1.4/adsense.accounts.adunits.list/includeInactive": include_inactive
+"/adsense:v1.4/adsense.accounts.adunits.list/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.adunits.list/pageToken": page_token
+"/adsense:v1.4/adsense.accounts.adunits.customchannels.list/accountId": account_id
+"/adsense:v1.4/adsense.accounts.adunits.customchannels.list/adClientId": ad_client_id
+"/adsense:v1.4/adsense.accounts.adunits.customchannels.list/adUnitId": ad_unit_id
+"/adsense:v1.4/adsense.accounts.adunits.customchannels.list/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.adunits.customchannels.list/pageToken": page_token
+"/adsense:v1.4/adsense.accounts.alerts.delete": delete_account_alert
+"/adsense:v1.4/adsense.accounts.alerts.delete/accountId": account_id
+"/adsense:v1.4/adsense.accounts.alerts.delete/alertId": alert_id
+"/adsense:v1.4/adsense.accounts.alerts.list": list_account_alerts
+"/adsense:v1.4/adsense.accounts.alerts.list/accountId": account_id
+"/adsense:v1.4/adsense.accounts.alerts.list/locale": locale
+"/adsense:v1.4/adsense.accounts.customchannels.get/accountId": account_id
+"/adsense:v1.4/adsense.accounts.customchannels.get/adClientId": ad_client_id
+"/adsense:v1.4/adsense.accounts.customchannels.get/customChannelId": custom_channel_id
+"/adsense:v1.4/adsense.accounts.customchannels.list/accountId": account_id
+"/adsense:v1.4/adsense.accounts.customchannels.list/adClientId": ad_client_id
+"/adsense:v1.4/adsense.accounts.customchannels.list/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.customchannels.list/pageToken": page_token
+"/adsense:v1.4/adsense.accounts.customchannels.adunits.list/accountId": account_id
+"/adsense:v1.4/adsense.accounts.customchannels.adunits.list/adClientId": ad_client_id
+"/adsense:v1.4/adsense.accounts.customchannels.adunits.list/customChannelId": custom_channel_id
+"/adsense:v1.4/adsense.accounts.customchannels.adunits.list/includeInactive": include_inactive
+"/adsense:v1.4/adsense.accounts.customchannels.adunits.list/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.customchannels.adunits.list/pageToken": page_token
+"/adsense:v1.4/adsense.accounts.payments.list": list_account_payments
+"/adsense:v1.4/adsense.accounts.payments.list/accountId": account_id
+"/adsense:v1.4/adsense.accounts.reports.generate": generate_account_report
+"/adsense:v1.4/adsense.accounts.reports.generate/accountId": account_id
+"/adsense:v1.4/adsense.accounts.reports.generate/currency": currency
+"/adsense:v1.4/adsense.accounts.reports.generate/dimension": dimension
+"/adsense:v1.4/adsense.accounts.reports.generate/endDate": end_date
+"/adsense:v1.4/adsense.accounts.reports.generate/filter": filter
+"/adsense:v1.4/adsense.accounts.reports.generate/locale": locale
+"/adsense:v1.4/adsense.accounts.reports.generate/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.reports.generate/metric": metric
+"/adsense:v1.4/adsense.accounts.reports.generate/sort": sort
+"/adsense:v1.4/adsense.accounts.reports.generate/startDate": start_date
+"/adsense:v1.4/adsense.accounts.reports.generate/startIndex": start_index
+"/adsense:v1.4/adsense.accounts.reports.generate/useTimezoneReporting": use_timezone_reporting
+"/adsense:v1.4/adsense.accounts.reports.saved.generate/accountId": account_id
+"/adsense:v1.4/adsense.accounts.reports.saved.generate/locale": locale
+"/adsense:v1.4/adsense.accounts.reports.saved.generate/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.reports.saved.generate/savedReportId": saved_report_id
+"/adsense:v1.4/adsense.accounts.reports.saved.generate/startIndex": start_index
+"/adsense:v1.4/adsense.accounts.reports.saved.list/accountId": account_id
+"/adsense:v1.4/adsense.accounts.reports.saved.list/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.reports.saved.list/pageToken": page_token
+"/adsense:v1.4/adsense.accounts.savedadstyles.get/accountId": account_id
+"/adsense:v1.4/adsense.accounts.savedadstyles.get/savedAdStyleId": saved_ad_style_id
+"/adsense:v1.4/adsense.accounts.savedadstyles.list/accountId": account_id
+"/adsense:v1.4/adsense.accounts.savedadstyles.list/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.savedadstyles.list/pageToken": page_token
+"/adsense:v1.4/adsense.accounts.urlchannels.list/accountId": account_id
+"/adsense:v1.4/adsense.accounts.urlchannels.list/adClientId": ad_client_id
+"/adsense:v1.4/adsense.accounts.urlchannels.list/maxResults": max_results
+"/adsense:v1.4/adsense.accounts.urlchannels.list/pageToken": page_token
+"/adsense:v1.4/adsense.adclients.list/maxResults": max_results
+"/adsense:v1.4/adsense.adclients.list/pageToken": page_token
+"/adsense:v1.4/adsense.adunits.get/adClientId": ad_client_id
+"/adsense:v1.4/adsense.adunits.get/adUnitId": ad_unit_id
+"/adsense:v1.4/adsense.adunits.getAdCode/adClientId": ad_client_id
+"/adsense:v1.4/adsense.adunits.getAdCode/adUnitId": ad_unit_id
+"/adsense:v1.4/adsense.adunits.list/adClientId": ad_client_id
+"/adsense:v1.4/adsense.adunits.list/includeInactive": include_inactive
+"/adsense:v1.4/adsense.adunits.list/maxResults": max_results
+"/adsense:v1.4/adsense.adunits.list/pageToken": page_token
+"/adsense:v1.4/adsense.adunits.customchannels.list/adClientId": ad_client_id
+"/adsense:v1.4/adsense.adunits.customchannels.list/adUnitId": ad_unit_id
+"/adsense:v1.4/adsense.adunits.customchannels.list/maxResults": max_results
+"/adsense:v1.4/adsense.adunits.customchannels.list/pageToken": page_token
+"/adsense:v1.4/adsense.alerts.delete": delete_alert
+"/adsense:v1.4/adsense.alerts.delete/alertId": alert_id
+"/adsense:v1.4/adsense.alerts.list": list_alerts
+"/adsense:v1.4/adsense.alerts.list/locale": locale
+"/adsense:v1.4/adsense.customchannels.get/adClientId": ad_client_id
+"/adsense:v1.4/adsense.customchannels.get/customChannelId": custom_channel_id
+"/adsense:v1.4/adsense.customchannels.list/adClientId": ad_client_id
+"/adsense:v1.4/adsense.customchannels.list/maxResults": max_results
+"/adsense:v1.4/adsense.customchannels.list/pageToken": page_token
+"/adsense:v1.4/adsense.customchannels.adunits.list/adClientId": ad_client_id
+"/adsense:v1.4/adsense.customchannels.adunits.list/customChannelId": custom_channel_id
+"/adsense:v1.4/adsense.customchannels.adunits.list/includeInactive": include_inactive
+"/adsense:v1.4/adsense.customchannels.adunits.list/maxResults": max_results
+"/adsense:v1.4/adsense.customchannels.adunits.list/pageToken": page_token
+"/adsense:v1.4/adsense.payments.list": list_payments
+"/adsense:v1.4/adsense.reports.generate": generate_report
+"/adsense:v1.4/adsense.reports.generate/accountId": account_id
+"/adsense:v1.4/adsense.reports.generate/currency": currency
+"/adsense:v1.4/adsense.reports.generate/dimension": dimension
+"/adsense:v1.4/adsense.reports.generate/endDate": end_date
+"/adsense:v1.4/adsense.reports.generate/filter": filter
+"/adsense:v1.4/adsense.reports.generate/locale": locale
+"/adsense:v1.4/adsense.reports.generate/maxResults": max_results
+"/adsense:v1.4/adsense.reports.generate/metric": metric
+"/adsense:v1.4/adsense.reports.generate/sort": sort
+"/adsense:v1.4/adsense.reports.generate/startDate": start_date
+"/adsense:v1.4/adsense.reports.generate/startIndex": start_index
+"/adsense:v1.4/adsense.reports.generate/useTimezoneReporting": use_timezone_reporting
+"/adsense:v1.4/adsense.reports.saved.generate/locale": locale
+"/adsense:v1.4/adsense.reports.saved.generate/maxResults": max_results
+"/adsense:v1.4/adsense.reports.saved.generate/savedReportId": saved_report_id
+"/adsense:v1.4/adsense.reports.saved.generate/startIndex": start_index
+"/adsense:v1.4/adsense.reports.saved.list/maxResults": max_results
+"/adsense:v1.4/adsense.reports.saved.list/pageToken": page_token
+"/adsense:v1.4/adsense.savedadstyles.get/savedAdStyleId": saved_ad_style_id
+"/adsense:v1.4/adsense.savedadstyles.list/maxResults": max_results
+"/adsense:v1.4/adsense.savedadstyles.list/pageToken": page_token
+"/adsense:v1.4/adsense.urlchannels.list/adClientId": ad_client_id
+"/adsense:v1.4/adsense.urlchannels.list/maxResults": max_results
+"/adsense:v1.4/adsense.urlchannels.list/pageToken": page_token
+"/adsense:v1.4/Account": account
+"/adsense:v1.4/Account/id": id
+"/adsense:v1.4/Account/kind": kind
+"/adsense:v1.4/Account/name": name
+"/adsense:v1.4/Account/premium": premium
+"/adsense:v1.4/Account/subAccounts": sub_accounts
+"/adsense:v1.4/Account/subAccounts/sub_account": sub_account
+"/adsense:v1.4/Account/timezone": timezone
+"/adsense:v1.4/Accounts": accounts
+"/adsense:v1.4/Accounts/etag": etag
+"/adsense:v1.4/Accounts/items": items
+"/adsense:v1.4/Accounts/items/item": item
+"/adsense:v1.4/Accounts/kind": kind
+"/adsense:v1.4/Accounts/nextPageToken": next_page_token
+"/adsense:v1.4/AdClient": ad_client
+"/adsense:v1.4/AdClient/arcOptIn": arc_opt_in
+"/adsense:v1.4/AdClient/arcReviewMode": arc_review_mode
+"/adsense:v1.4/AdClient/id": id
+"/adsense:v1.4/AdClient/kind": kind
+"/adsense:v1.4/AdClient/productCode": product_code
+"/adsense:v1.4/AdClient/supportsReporting": supports_reporting
+"/adsense:v1.4/AdClients": ad_clients
+"/adsense:v1.4/AdClients/etag": etag
+"/adsense:v1.4/AdClients/items": items
+"/adsense:v1.4/AdClients/items/item": item
+"/adsense:v1.4/AdClients/kind": kind
+"/adsense:v1.4/AdClients/nextPageToken": next_page_token
+"/adsense:v1.4/AdCode": ad_code
+"/adsense:v1.4/AdCode/adCode": ad_code
+"/adsense:v1.4/AdCode/kind": kind
+"/adsense:v1.4/AdStyle": ad_style
+"/adsense:v1.4/AdStyle/colors": colors
+"/adsense:v1.4/AdStyle/colors/background": background
+"/adsense:v1.4/AdStyle/colors/border": border
+"/adsense:v1.4/AdStyle/colors/text": text
+"/adsense:v1.4/AdStyle/colors/title": title
+"/adsense:v1.4/AdStyle/colors/url": url
+"/adsense:v1.4/AdStyle/corners": corners
+"/adsense:v1.4/AdStyle/font": font
+"/adsense:v1.4/AdStyle/font/family": family
+"/adsense:v1.4/AdStyle/font/size": size
+"/adsense:v1.4/AdStyle/kind": kind
+"/adsense:v1.4/AdUnit": ad_unit
+"/adsense:v1.4/AdUnit/code": code
+"/adsense:v1.4/AdUnit/contentAdsSettings": content_ads_settings
+"/adsense:v1.4/AdUnit/contentAdsSettings/backupOption": backup_option
+"/adsense:v1.4/AdUnit/contentAdsSettings/backupOption/color": color
+"/adsense:v1.4/AdUnit/contentAdsSettings/backupOption/type": type
+"/adsense:v1.4/AdUnit/contentAdsSettings/backupOption/url": url
+"/adsense:v1.4/AdUnit/contentAdsSettings/size": size
+"/adsense:v1.4/AdUnit/contentAdsSettings/type": type
+"/adsense:v1.4/AdUnit/customStyle": custom_style
+"/adsense:v1.4/AdUnit/feedAdsSettings": feed_ads_settings
+"/adsense:v1.4/AdUnit/feedAdsSettings/adPosition": ad_position
+"/adsense:v1.4/AdUnit/feedAdsSettings/frequency": frequency
+"/adsense:v1.4/AdUnit/feedAdsSettings/minimumWordCount": minimum_word_count
+"/adsense:v1.4/AdUnit/feedAdsSettings/type": type
+"/adsense:v1.4/AdUnit/id": id
+"/adsense:v1.4/AdUnit/kind": kind
+"/adsense:v1.4/AdUnit/mobileContentAdsSettings": mobile_content_ads_settings
+"/adsense:v1.4/AdUnit/mobileContentAdsSettings/markupLanguage": markup_language
+"/adsense:v1.4/AdUnit/mobileContentAdsSettings/scriptingLanguage": scripting_language
+"/adsense:v1.4/AdUnit/mobileContentAdsSettings/size": size
+"/adsense:v1.4/AdUnit/mobileContentAdsSettings/type": type
+"/adsense:v1.4/AdUnit/name": name
+"/adsense:v1.4/AdUnit/savedStyleId": saved_style_id
+"/adsense:v1.4/AdUnit/status": status
+"/adsense:v1.4/AdUnits": ad_units
+"/adsense:v1.4/AdUnits/etag": etag
+"/adsense:v1.4/AdUnits/items": items
+"/adsense:v1.4/AdUnits/items/item": item
+"/adsense:v1.4/AdUnits/kind": kind
+"/adsense:v1.4/AdUnits/nextPageToken": next_page_token
+"/adsense:v1.4/AdsenseReportsGenerateResponse/averages": averages
+"/adsense:v1.4/AdsenseReportsGenerateResponse/averages/average": average
+"/adsense:v1.4/AdsenseReportsGenerateResponse/endDate": end_date
+"/adsense:v1.4/AdsenseReportsGenerateResponse/headers": headers
+"/adsense:v1.4/AdsenseReportsGenerateResponse/headers/header": header
+"/adsense:v1.4/AdsenseReportsGenerateResponse/headers/header/currency": currency
+"/adsense:v1.4/AdsenseReportsGenerateResponse/headers/header/name": name
+"/adsense:v1.4/AdsenseReportsGenerateResponse/headers/header/type": type
+"/adsense:v1.4/AdsenseReportsGenerateResponse/kind": kind
+"/adsense:v1.4/AdsenseReportsGenerateResponse/rows": rows
+"/adsense:v1.4/AdsenseReportsGenerateResponse/rows/row": row
+"/adsense:v1.4/AdsenseReportsGenerateResponse/rows/row/row": row
+"/adsense:v1.4/AdsenseReportsGenerateResponse/startDate": start_date
+"/adsense:v1.4/AdsenseReportsGenerateResponse/totalMatchedRows": total_matched_rows
+"/adsense:v1.4/AdsenseReportsGenerateResponse/totals": totals
+"/adsense:v1.4/AdsenseReportsGenerateResponse/totals/total": total
+"/adsense:v1.4/AdsenseReportsGenerateResponse/warnings": warnings
+"/adsense:v1.4/AdsenseReportsGenerateResponse/warnings/warning": warning
+"/adsense:v1.4/Alert": alert
+"/adsense:v1.4/Alert/id": id
+"/adsense:v1.4/Alert/isDismissible": is_dismissible
+"/adsense:v1.4/Alert/kind": kind
+"/adsense:v1.4/Alert/message": message
+"/adsense:v1.4/Alert/severity": severity
+"/adsense:v1.4/Alert/type": type
+"/adsense:v1.4/Alerts": alerts
+"/adsense:v1.4/Alerts/items": items
+"/adsense:v1.4/Alerts/items/item": item
+"/adsense:v1.4/Alerts/kind": kind
+"/adsense:v1.4/CustomChannel": custom_channel
+"/adsense:v1.4/CustomChannel/code": code
+"/adsense:v1.4/CustomChannel/id": id
+"/adsense:v1.4/CustomChannel/kind": kind
+"/adsense:v1.4/CustomChannel/name": name
+"/adsense:v1.4/CustomChannel/targetingInfo": targeting_info
+"/adsense:v1.4/CustomChannel/targetingInfo/adsAppearOn": ads_appear_on
+"/adsense:v1.4/CustomChannel/targetingInfo/description": description
+"/adsense:v1.4/CustomChannel/targetingInfo/location": location
+"/adsense:v1.4/CustomChannel/targetingInfo/siteLanguage": site_language
+"/adsense:v1.4/CustomChannels": custom_channels
+"/adsense:v1.4/CustomChannels/etag": etag
+"/adsense:v1.4/CustomChannels/items": items
+"/adsense:v1.4/CustomChannels/items/item": item
+"/adsense:v1.4/CustomChannels/kind": kind
+"/adsense:v1.4/CustomChannels/nextPageToken": next_page_token
+"/adsense:v1.4/Metadata": metadata
+"/adsense:v1.4/Metadata/items": items
+"/adsense:v1.4/Metadata/items/item": item
+"/adsense:v1.4/Metadata/kind": kind
+"/adsense:v1.4/Payment": payment
+"/adsense:v1.4/Payment/id": id
+"/adsense:v1.4/Payment/kind": kind
+"/adsense:v1.4/Payment/paymentAmount": payment_amount
+"/adsense:v1.4/Payment/paymentAmountCurrencyCode": payment_amount_currency_code
+"/adsense:v1.4/Payment/paymentDate": payment_date
+"/adsense:v1.4/Payments": payments
+"/adsense:v1.4/Payments/items": items
+"/adsense:v1.4/Payments/items/item": item
+"/adsense:v1.4/Payments/kind": kind
+"/adsense:v1.4/ReportingMetadataEntry": reporting_metadata_entry
+"/adsense:v1.4/ReportingMetadataEntry/compatibleDimensions": compatible_dimensions
+"/adsense:v1.4/ReportingMetadataEntry/compatibleDimensions/compatible_dimension": compatible_dimension
+"/adsense:v1.4/ReportingMetadataEntry/compatibleMetrics": compatible_metrics
+"/adsense:v1.4/ReportingMetadataEntry/compatibleMetrics/compatible_metric": compatible_metric
+"/adsense:v1.4/ReportingMetadataEntry/id": id
+"/adsense:v1.4/ReportingMetadataEntry/kind": kind
+"/adsense:v1.4/ReportingMetadataEntry/requiredDimensions": required_dimensions
+"/adsense:v1.4/ReportingMetadataEntry/requiredDimensions/required_dimension": required_dimension
+"/adsense:v1.4/ReportingMetadataEntry/requiredMetrics": required_metrics
+"/adsense:v1.4/ReportingMetadataEntry/requiredMetrics/required_metric": required_metric
+"/adsense:v1.4/ReportingMetadataEntry/supportedProducts": supported_products
+"/adsense:v1.4/ReportingMetadataEntry/supportedProducts/supported_product": supported_product
+"/adsense:v1.4/SavedAdStyle": saved_ad_style
+"/adsense:v1.4/SavedAdStyle/adStyle": ad_style
+"/adsense:v1.4/SavedAdStyle/id": id
+"/adsense:v1.4/SavedAdStyle/kind": kind
+"/adsense:v1.4/SavedAdStyle/name": name
+"/adsense:v1.4/SavedAdStyles": saved_ad_styles
+"/adsense:v1.4/SavedAdStyles/etag": etag
+"/adsense:v1.4/SavedAdStyles/items": items
+"/adsense:v1.4/SavedAdStyles/items/item": item
+"/adsense:v1.4/SavedAdStyles/kind": kind
+"/adsense:v1.4/SavedAdStyles/nextPageToken": next_page_token
+"/adsense:v1.4/SavedReport": saved_report
+"/adsense:v1.4/SavedReport/id": id
+"/adsense:v1.4/SavedReport/kind": kind
+"/adsense:v1.4/SavedReport/name": name
+"/adsense:v1.4/SavedReports": saved_reports
+"/adsense:v1.4/SavedReports/etag": etag
+"/adsense:v1.4/SavedReports/items": items
+"/adsense:v1.4/SavedReports/items/item": item
+"/adsense:v1.4/SavedReports/kind": kind
+"/adsense:v1.4/SavedReports/nextPageToken": next_page_token
+"/adsense:v1.4/UrlChannel": url_channel
+"/adsense:v1.4/UrlChannel/id": id
+"/adsense:v1.4/UrlChannel/kind": kind
+"/adsense:v1.4/UrlChannel/urlPattern": url_pattern
+"/adsense:v1.4/UrlChannels": url_channels
+"/adsense:v1.4/UrlChannels/etag": etag
+"/adsense:v1.4/UrlChannels/items": items
+"/adsense:v1.4/UrlChannels/items/item": item
+"/adsense:v1.4/UrlChannels/kind": kind
+"/adsense:v1.4/UrlChannels/nextPageToken": next_page_token
+"/adsensehost:v4.1/fields": fields
+"/adsensehost:v4.1/key": key
+"/adsensehost:v4.1/quotaUser": quota_user
+"/adsensehost:v4.1/userIp": user_ip
+"/adsensehost:v4.1/adsensehost.accounts.get": get_account
+"/adsensehost:v4.1/adsensehost.accounts.get/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.list": list_accounts
+"/adsensehost:v4.1/adsensehost.accounts.list/filterAdClientId": filter_ad_client_id
+"/adsensehost:v4.1/adsensehost.accounts.adclients.get/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.adclients.get/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.accounts.adclients.list/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.adclients.list/maxResults": max_results
+"/adsensehost:v4.1/adsensehost.accounts.adclients.list/pageToken": page_token
+"/adsensehost:v4.1/adsensehost.accounts.adunits.delete/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.delete/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.delete/adUnitId": ad_unit_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.get/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.get/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.get/adUnitId": ad_unit_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.getAdCode/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.getAdCode/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.getAdCode/adUnitId": ad_unit_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.getAdCode/hostCustomChannelId": host_custom_channel_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.insert/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.insert/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.list/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.list/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.list/includeInactive": include_inactive
+"/adsensehost:v4.1/adsensehost.accounts.adunits.list/maxResults": max_results
+"/adsensehost:v4.1/adsensehost.accounts.adunits.list/pageToken": page_token
+"/adsensehost:v4.1/adsensehost.accounts.adunits.patch/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.patch/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.patch/adUnitId": ad_unit_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.update/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.adunits.update/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate": generate_account_report
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate/accountId": account_id
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate/dimension": dimension
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate/endDate": end_date
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate/filter": filter
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate/locale": locale
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate/maxResults": max_results
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate/metric": metric
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate/sort": sort
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate/startDate": start_date
+"/adsensehost:v4.1/adsensehost.accounts.reports.generate/startIndex": start_index
+"/adsensehost:v4.1/adsensehost.adclients.get/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.adclients.list/maxResults": max_results
+"/adsensehost:v4.1/adsensehost.adclients.list/pageToken": page_token
+"/adsensehost:v4.1/adsensehost.associationsessions.start/productCode": product_code
+"/adsensehost:v4.1/adsensehost.associationsessions.start/userLocale": user_locale
+"/adsensehost:v4.1/adsensehost.associationsessions.start/websiteLocale": website_locale
+"/adsensehost:v4.1/adsensehost.associationsessions.start/websiteUrl": website_url
+"/adsensehost:v4.1/adsensehost.associationsessions.verify/token": token
+"/adsensehost:v4.1/adsensehost.customchannels.delete/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.customchannels.delete/customChannelId": custom_channel_id
+"/adsensehost:v4.1/adsensehost.customchannels.get/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.customchannels.get/customChannelId": custom_channel_id
+"/adsensehost:v4.1/adsensehost.customchannels.insert/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.customchannels.list/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.customchannels.list/maxResults": max_results
+"/adsensehost:v4.1/adsensehost.customchannels.list/pageToken": page_token
+"/adsensehost:v4.1/adsensehost.customchannels.patch/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.customchannels.patch/customChannelId": custom_channel_id
+"/adsensehost:v4.1/adsensehost.customchannels.update/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.reports.generate": generate_report
+"/adsensehost:v4.1/adsensehost.reports.generate/dimension": dimension
+"/adsensehost:v4.1/adsensehost.reports.generate/endDate": end_date
+"/adsensehost:v4.1/adsensehost.reports.generate/filter": filter
+"/adsensehost:v4.1/adsensehost.reports.generate/locale": locale
+"/adsensehost:v4.1/adsensehost.reports.generate/maxResults": max_results
+"/adsensehost:v4.1/adsensehost.reports.generate/metric": metric
+"/adsensehost:v4.1/adsensehost.reports.generate/sort": sort
+"/adsensehost:v4.1/adsensehost.reports.generate/startDate": start_date
+"/adsensehost:v4.1/adsensehost.reports.generate/startIndex": start_index
+"/adsensehost:v4.1/adsensehost.urlchannels.delete/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.urlchannels.delete/urlChannelId": url_channel_id
+"/adsensehost:v4.1/adsensehost.urlchannels.insert/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.urlchannels.list/adClientId": ad_client_id
+"/adsensehost:v4.1/adsensehost.urlchannels.list/maxResults": max_results
+"/adsensehost:v4.1/adsensehost.urlchannels.list/pageToken": page_token
+"/adsensehost:v4.1/Account": account
+"/adsensehost:v4.1/Account/id": id
+"/adsensehost:v4.1/Account/kind": kind
+"/adsensehost:v4.1/Account/name": name
+"/adsensehost:v4.1/Account/status": status
+"/adsensehost:v4.1/Accounts": accounts
+"/adsensehost:v4.1/Accounts/etag": etag
+"/adsensehost:v4.1/Accounts/items": items
+"/adsensehost:v4.1/Accounts/items/item": item
+"/adsensehost:v4.1/Accounts/kind": kind
+"/adsensehost:v4.1/AdClient": ad_client
+"/adsensehost:v4.1/AdClient/arcOptIn": arc_opt_in
+"/adsensehost:v4.1/AdClient/id": id
+"/adsensehost:v4.1/AdClient/kind": kind
+"/adsensehost:v4.1/AdClient/productCode": product_code
+"/adsensehost:v4.1/AdClient/supportsReporting": supports_reporting
+"/adsensehost:v4.1/AdClients": ad_clients
+"/adsensehost:v4.1/AdClients/etag": etag
+"/adsensehost:v4.1/AdClients/items": items
+"/adsensehost:v4.1/AdClients/items/item": item
+"/adsensehost:v4.1/AdClients/kind": kind
+"/adsensehost:v4.1/AdClients/nextPageToken": next_page_token
+"/adsensehost:v4.1/AdCode": ad_code
+"/adsensehost:v4.1/AdCode/adCode": ad_code
+"/adsensehost:v4.1/AdCode/kind": kind
+"/adsensehost:v4.1/AdStyle": ad_style
+"/adsensehost:v4.1/AdStyle/colors": colors
+"/adsensehost:v4.1/AdStyle/colors/background": background
+"/adsensehost:v4.1/AdStyle/colors/border": border
+"/adsensehost:v4.1/AdStyle/colors/text": text
+"/adsensehost:v4.1/AdStyle/colors/title": title
+"/adsensehost:v4.1/AdStyle/colors/url": url
+"/adsensehost:v4.1/AdStyle/corners": corners
+"/adsensehost:v4.1/AdStyle/font": font
+"/adsensehost:v4.1/AdStyle/font/family": family
+"/adsensehost:v4.1/AdStyle/font/size": size
+"/adsensehost:v4.1/AdStyle/kind": kind
+"/adsensehost:v4.1/AdUnit": ad_unit
+"/adsensehost:v4.1/AdUnit/code": code
+"/adsensehost:v4.1/AdUnit/contentAdsSettings": content_ads_settings
+"/adsensehost:v4.1/AdUnit/contentAdsSettings/backupOption": backup_option
+"/adsensehost:v4.1/AdUnit/contentAdsSettings/backupOption/color": color
+"/adsensehost:v4.1/AdUnit/contentAdsSettings/backupOption/type": type
+"/adsensehost:v4.1/AdUnit/contentAdsSettings/backupOption/url": url
+"/adsensehost:v4.1/AdUnit/contentAdsSettings/size": size
+"/adsensehost:v4.1/AdUnit/contentAdsSettings/type": type
+"/adsensehost:v4.1/AdUnit/customStyle": custom_style
+"/adsensehost:v4.1/AdUnit/id": id
+"/adsensehost:v4.1/AdUnit/kind": kind
+"/adsensehost:v4.1/AdUnit/mobileContentAdsSettings": mobile_content_ads_settings
+"/adsensehost:v4.1/AdUnit/mobileContentAdsSettings/markupLanguage": markup_language
+"/adsensehost:v4.1/AdUnit/mobileContentAdsSettings/scriptingLanguage": scripting_language
+"/adsensehost:v4.1/AdUnit/mobileContentAdsSettings/size": size
+"/adsensehost:v4.1/AdUnit/mobileContentAdsSettings/type": type
+"/adsensehost:v4.1/AdUnit/name": name
+"/adsensehost:v4.1/AdUnit/status": status
+"/adsensehost:v4.1/AdUnits": ad_units
+"/adsensehost:v4.1/AdUnits/etag": etag
+"/adsensehost:v4.1/AdUnits/items": items
+"/adsensehost:v4.1/AdUnits/items/item": item
+"/adsensehost:v4.1/AdUnits/kind": kind
+"/adsensehost:v4.1/AdUnits/nextPageToken": next_page_token
+"/adsensehost:v4.1/AssociationSession": association_session
+"/adsensehost:v4.1/AssociationSession/accountId": account_id
+"/adsensehost:v4.1/AssociationSession/id": id
+"/adsensehost:v4.1/AssociationSession/kind": kind
+"/adsensehost:v4.1/AssociationSession/productCodes": product_codes
+"/adsensehost:v4.1/AssociationSession/productCodes/product_code": product_code
+"/adsensehost:v4.1/AssociationSession/redirectUrl": redirect_url
+"/adsensehost:v4.1/AssociationSession/status": status
+"/adsensehost:v4.1/AssociationSession/userLocale": user_locale
+"/adsensehost:v4.1/AssociationSession/websiteLocale": website_locale
+"/adsensehost:v4.1/AssociationSession/websiteUrl": website_url
+"/adsensehost:v4.1/CustomChannel": custom_channel
+"/adsensehost:v4.1/CustomChannel/code": code
+"/adsensehost:v4.1/CustomChannel/id": id
+"/adsensehost:v4.1/CustomChannel/kind": kind
+"/adsensehost:v4.1/CustomChannel/name": name
+"/adsensehost:v4.1/CustomChannels": custom_channels
+"/adsensehost:v4.1/CustomChannels/etag": etag
+"/adsensehost:v4.1/CustomChannels/items": items
+"/adsensehost:v4.1/CustomChannels/items/item": item
+"/adsensehost:v4.1/CustomChannels/kind": kind
+"/adsensehost:v4.1/CustomChannels/nextPageToken": next_page_token
+"/adsensehost:v4.1/Report": report
+"/adsensehost:v4.1/Report/averages": averages
+"/adsensehost:v4.1/Report/averages/average": average
+"/adsensehost:v4.1/Report/headers": headers
+"/adsensehost:v4.1/Report/headers/header": header
+"/adsensehost:v4.1/Report/headers/header/currency": currency
+"/adsensehost:v4.1/Report/headers/header/name": name
+"/adsensehost:v4.1/Report/headers/header/type": type
+"/adsensehost:v4.1/Report/kind": kind
+"/adsensehost:v4.1/Report/rows": rows
+"/adsensehost:v4.1/Report/rows/row": row
+"/adsensehost:v4.1/Report/rows/row/row": row
+"/adsensehost:v4.1/Report/totalMatchedRows": total_matched_rows
+"/adsensehost:v4.1/Report/totals": totals
+"/adsensehost:v4.1/Report/totals/total": total
+"/adsensehost:v4.1/Report/warnings": warnings
+"/adsensehost:v4.1/Report/warnings/warning": warning
+"/adsensehost:v4.1/UrlChannel": url_channel
+"/adsensehost:v4.1/UrlChannel/id": id
+"/adsensehost:v4.1/UrlChannel/kind": kind
+"/adsensehost:v4.1/UrlChannel/urlPattern": url_pattern
+"/adsensehost:v4.1/UrlChannels": url_channels
+"/adsensehost:v4.1/UrlChannels/etag": etag
+"/adsensehost:v4.1/UrlChannels/items": items
+"/adsensehost:v4.1/UrlChannels/items/item": item
+"/adsensehost:v4.1/UrlChannels/kind": kind
+"/adsensehost:v4.1/UrlChannels/nextPageToken": next_page_token
+"/analytics:v3/fields": fields
+"/analytics:v3/key": key
+"/analytics:v3/quotaUser": quota_user
+"/analytics:v3/userIp": user_ip
+"/analytics:v3/analytics.data.ga.get/dimensions": dimensions
+"/analytics:v3/analytics.data.ga.get/end-date": end_date
+"/analytics:v3/analytics.data.ga.get/filters": filters
+"/analytics:v3/analytics.data.ga.get/ids": ids
+"/analytics:v3/analytics.data.ga.get/max-results": max_results
+"/analytics:v3/analytics.data.ga.get/metrics": metrics
+"/analytics:v3/analytics.data.ga.get/output": output
+"/analytics:v3/analytics.data.ga.get/samplingLevel": sampling_level
+"/analytics:v3/analytics.data.ga.get/segment": segment
+"/analytics:v3/analytics.data.ga.get/sort": sort
+"/analytics:v3/analytics.data.ga.get/start-date": start_date
+"/analytics:v3/analytics.data.ga.get/start-index": start_index
+"/analytics:v3/analytics.data.mcf.get/dimensions": dimensions
+"/analytics:v3/analytics.data.mcf.get/end-date": end_date
+"/analytics:v3/analytics.data.mcf.get/filters": filters
+"/analytics:v3/analytics.data.mcf.get/ids": ids
+"/analytics:v3/analytics.data.mcf.get/max-results": max_results
+"/analytics:v3/analytics.data.mcf.get/metrics": metrics
+"/analytics:v3/analytics.data.mcf.get/samplingLevel": sampling_level
+"/analytics:v3/analytics.data.mcf.get/sort": sort
+"/analytics:v3/analytics.data.mcf.get/start-date": start_date
+"/analytics:v3/analytics.data.mcf.get/start-index": start_index
+"/analytics:v3/analytics.data.realtime.get/dimensions": dimensions
+"/analytics:v3/analytics.data.realtime.get/filters": filters
+"/analytics:v3/analytics.data.realtime.get/ids": ids
+"/analytics:v3/analytics.data.realtime.get/max-results": max_results
+"/analytics:v3/analytics.data.realtime.get/metrics": metrics
+"/analytics:v3/analytics.data.realtime.get/sort": sort
+"/analytics:v3/analytics.management.accountSummaries.list/max-results": max_results
+"/analytics:v3/analytics.management.accountSummaries.list/start-index": start_index
+"/analytics:v3/analytics.management.accountUserLinks.delete/accountId": account_id
+"/analytics:v3/analytics.management.accountUserLinks.delete/linkId": link_id
+"/analytics:v3/analytics.management.accountUserLinks.insert/accountId": account_id
+"/analytics:v3/analytics.management.accountUserLinks.list/accountId": account_id
+"/analytics:v3/analytics.management.accountUserLinks.list/max-results": max_results
+"/analytics:v3/analytics.management.accountUserLinks.list/start-index": start_index
+"/analytics:v3/analytics.management.accountUserLinks.update/accountId": account_id
+"/analytics:v3/analytics.management.accountUserLinks.update/linkId": link_id
+"/analytics:v3/analytics.management.accounts.list/max-results": max_results
+"/analytics:v3/analytics.management.accounts.list/start-index": start_index
+"/analytics:v3/analytics.management.customDataSources.list/accountId": account_id
+"/analytics:v3/analytics.management.customDataSources.list/max-results": max_results
+"/analytics:v3/analytics.management.customDataSources.list/start-index": start_index
+"/analytics:v3/analytics.management.customDataSources.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.customDimensions.get/accountId": account_id
+"/analytics:v3/analytics.management.customDimensions.get/customDimensionId": custom_dimension_id
+"/analytics:v3/analytics.management.customDimensions.get/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.customDimensions.insert/accountId": account_id
+"/analytics:v3/analytics.management.customDimensions.insert/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.customDimensions.list/accountId": account_id
+"/analytics:v3/analytics.management.customDimensions.list/max-results": max_results
+"/analytics:v3/analytics.management.customDimensions.list/start-index": start_index
+"/analytics:v3/analytics.management.customDimensions.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.customDimensions.patch/accountId": account_id
+"/analytics:v3/analytics.management.customDimensions.patch/customDimensionId": custom_dimension_id
+"/analytics:v3/analytics.management.customDimensions.patch/ignoreCustomDataSourceLinks": ignore_custom_data_source_links
+"/analytics:v3/analytics.management.customDimensions.patch/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.customDimensions.update/accountId": account_id
+"/analytics:v3/analytics.management.customDimensions.update/customDimensionId": custom_dimension_id
+"/analytics:v3/analytics.management.customDimensions.update/ignoreCustomDataSourceLinks": ignore_custom_data_source_links
+"/analytics:v3/analytics.management.customDimensions.update/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.customMetrics.get/accountId": account_id
+"/analytics:v3/analytics.management.customMetrics.get/customMetricId": custom_metric_id
+"/analytics:v3/analytics.management.customMetrics.get/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.customMetrics.insert/accountId": account_id
+"/analytics:v3/analytics.management.customMetrics.insert/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.customMetrics.list/accountId": account_id
+"/analytics:v3/analytics.management.customMetrics.list/max-results": max_results
+"/analytics:v3/analytics.management.customMetrics.list/start-index": start_index
+"/analytics:v3/analytics.management.customMetrics.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.customMetrics.patch/accountId": account_id
+"/analytics:v3/analytics.management.customMetrics.patch/customMetricId": custom_metric_id
+"/analytics:v3/analytics.management.customMetrics.patch/ignoreCustomDataSourceLinks": ignore_custom_data_source_links
+"/analytics:v3/analytics.management.customMetrics.patch/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.customMetrics.update/accountId": account_id
+"/analytics:v3/analytics.management.customMetrics.update/customMetricId": custom_metric_id
+"/analytics:v3/analytics.management.customMetrics.update/ignoreCustomDataSourceLinks": ignore_custom_data_source_links
+"/analytics:v3/analytics.management.customMetrics.update/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.experiments.delete/accountId": account_id
+"/analytics:v3/analytics.management.experiments.delete/experimentId": experiment_id
+"/analytics:v3/analytics.management.experiments.delete/profileId": profile_id
+"/analytics:v3/analytics.management.experiments.delete/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.experiments.get/accountId": account_id
+"/analytics:v3/analytics.management.experiments.get/experimentId": experiment_id
+"/analytics:v3/analytics.management.experiments.get/profileId": profile_id
+"/analytics:v3/analytics.management.experiments.get/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.experiments.insert/accountId": account_id
+"/analytics:v3/analytics.management.experiments.insert/profileId": profile_id
+"/analytics:v3/analytics.management.experiments.insert/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.experiments.list/accountId": account_id
+"/analytics:v3/analytics.management.experiments.list/max-results": max_results
+"/analytics:v3/analytics.management.experiments.list/profileId": profile_id
+"/analytics:v3/analytics.management.experiments.list/start-index": start_index
+"/analytics:v3/analytics.management.experiments.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.experiments.patch/accountId": account_id
+"/analytics:v3/analytics.management.experiments.patch/experimentId": experiment_id
+"/analytics:v3/analytics.management.experiments.patch/profileId": profile_id
+"/analytics:v3/analytics.management.experiments.patch/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.experiments.update/accountId": account_id
+"/analytics:v3/analytics.management.experiments.update/experimentId": experiment_id
+"/analytics:v3/analytics.management.experiments.update/profileId": profile_id
+"/analytics:v3/analytics.management.experiments.update/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.filters.delete/accountId": account_id
+"/analytics:v3/analytics.management.filters.delete/filterId": filter_id
+"/analytics:v3/analytics.management.filters.get/accountId": account_id
+"/analytics:v3/analytics.management.filters.get/filterId": filter_id
+"/analytics:v3/analytics.management.filters.insert/accountId": account_id
+"/analytics:v3/analytics.management.filters.list/accountId": account_id
+"/analytics:v3/analytics.management.filters.list/max-results": max_results
+"/analytics:v3/analytics.management.filters.list/start-index": start_index
+"/analytics:v3/analytics.management.filters.patch/accountId": account_id
+"/analytics:v3/analytics.management.filters.patch/filterId": filter_id
+"/analytics:v3/analytics.management.filters.update/accountId": account_id
+"/analytics:v3/analytics.management.filters.update/filterId": filter_id
+"/analytics:v3/analytics.management.goals.get/accountId": account_id
+"/analytics:v3/analytics.management.goals.get/goalId": goal_id
+"/analytics:v3/analytics.management.goals.get/profileId": profile_id
+"/analytics:v3/analytics.management.goals.get/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.goals.insert/accountId": account_id
+"/analytics:v3/analytics.management.goals.insert/profileId": profile_id
+"/analytics:v3/analytics.management.goals.insert/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.goals.list/accountId": account_id
+"/analytics:v3/analytics.management.goals.list/max-results": max_results
+"/analytics:v3/analytics.management.goals.list/profileId": profile_id
+"/analytics:v3/analytics.management.goals.list/start-index": start_index
+"/analytics:v3/analytics.management.goals.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.goals.patch/accountId": account_id
+"/analytics:v3/analytics.management.goals.patch/goalId": goal_id
+"/analytics:v3/analytics.management.goals.patch/profileId": profile_id
+"/analytics:v3/analytics.management.goals.patch/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.goals.update/accountId": account_id
+"/analytics:v3/analytics.management.goals.update/goalId": goal_id
+"/analytics:v3/analytics.management.goals.update/profileId": profile_id
+"/analytics:v3/analytics.management.goals.update/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profileFilterLinks.delete/accountId": account_id
+"/analytics:v3/analytics.management.profileFilterLinks.delete/linkId": link_id
+"/analytics:v3/analytics.management.profileFilterLinks.delete/profileId": profile_id
+"/analytics:v3/analytics.management.profileFilterLinks.delete/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profileFilterLinks.get/accountId": account_id
+"/analytics:v3/analytics.management.profileFilterLinks.get/linkId": link_id
+"/analytics:v3/analytics.management.profileFilterLinks.get/profileId": profile_id
+"/analytics:v3/analytics.management.profileFilterLinks.get/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profileFilterLinks.insert/accountId": account_id
+"/analytics:v3/analytics.management.profileFilterLinks.insert/profileId": profile_id
+"/analytics:v3/analytics.management.profileFilterLinks.insert/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profileFilterLinks.list/accountId": account_id
+"/analytics:v3/analytics.management.profileFilterLinks.list/max-results": max_results
+"/analytics:v3/analytics.management.profileFilterLinks.list/profileId": profile_id
+"/analytics:v3/analytics.management.profileFilterLinks.list/start-index": start_index
+"/analytics:v3/analytics.management.profileFilterLinks.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profileFilterLinks.patch/accountId": account_id
+"/analytics:v3/analytics.management.profileFilterLinks.patch/linkId": link_id
+"/analytics:v3/analytics.management.profileFilterLinks.patch/profileId": profile_id
+"/analytics:v3/analytics.management.profileFilterLinks.patch/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profileFilterLinks.update/accountId": account_id
+"/analytics:v3/analytics.management.profileFilterLinks.update/linkId": link_id
+"/analytics:v3/analytics.management.profileFilterLinks.update/profileId": profile_id
+"/analytics:v3/analytics.management.profileFilterLinks.update/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profileUserLinks.delete/accountId": account_id
+"/analytics:v3/analytics.management.profileUserLinks.delete/linkId": link_id
+"/analytics:v3/analytics.management.profileUserLinks.delete/profileId": profile_id
+"/analytics:v3/analytics.management.profileUserLinks.delete/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profileUserLinks.insert/accountId": account_id
+"/analytics:v3/analytics.management.profileUserLinks.insert/profileId": profile_id
+"/analytics:v3/analytics.management.profileUserLinks.insert/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profileUserLinks.list/accountId": account_id
+"/analytics:v3/analytics.management.profileUserLinks.list/max-results": max_results
+"/analytics:v3/analytics.management.profileUserLinks.list/profileId": profile_id
+"/analytics:v3/analytics.management.profileUserLinks.list/start-index": start_index
+"/analytics:v3/analytics.management.profileUserLinks.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profileUserLinks.update/accountId": account_id
+"/analytics:v3/analytics.management.profileUserLinks.update/linkId": link_id
+"/analytics:v3/analytics.management.profileUserLinks.update/profileId": profile_id
+"/analytics:v3/analytics.management.profileUserLinks.update/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profiles.delete/accountId": account_id
+"/analytics:v3/analytics.management.profiles.delete/profileId": profile_id
+"/analytics:v3/analytics.management.profiles.delete/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profiles.get/accountId": account_id
+"/analytics:v3/analytics.management.profiles.get/profileId": profile_id
+"/analytics:v3/analytics.management.profiles.get/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profiles.insert/accountId": account_id
+"/analytics:v3/analytics.management.profiles.insert/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profiles.list/accountId": account_id
+"/analytics:v3/analytics.management.profiles.list/max-results": max_results
+"/analytics:v3/analytics.management.profiles.list/start-index": start_index
+"/analytics:v3/analytics.management.profiles.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profiles.patch/accountId": account_id
+"/analytics:v3/analytics.management.profiles.patch/profileId": profile_id
+"/analytics:v3/analytics.management.profiles.patch/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.profiles.update/accountId": account_id
+"/analytics:v3/analytics.management.profiles.update/profileId": profile_id
+"/analytics:v3/analytics.management.profiles.update/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.segments.list/max-results": max_results
+"/analytics:v3/analytics.management.segments.list/start-index": start_index
+"/analytics:v3/analytics.management.unsampledReports.get/accountId": account_id
+"/analytics:v3/analytics.management.unsampledReports.get/profileId": profile_id
+"/analytics:v3/analytics.management.unsampledReports.get/unsampledReportId": unsampled_report_id
+"/analytics:v3/analytics.management.unsampledReports.get/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.unsampledReports.insert/accountId": account_id
+"/analytics:v3/analytics.management.unsampledReports.insert/profileId": profile_id
+"/analytics:v3/analytics.management.unsampledReports.insert/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.unsampledReports.list/accountId": account_id
+"/analytics:v3/analytics.management.unsampledReports.list/max-results": max_results
+"/analytics:v3/analytics.management.unsampledReports.list/profileId": profile_id
+"/analytics:v3/analytics.management.unsampledReports.list/start-index": start_index
+"/analytics:v3/analytics.management.unsampledReports.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.uploads.deleteUploadData/accountId": account_id
+"/analytics:v3/analytics.management.uploads.deleteUploadData/customDataSourceId": custom_data_source_id
+"/analytics:v3/analytics.management.uploads.deleteUploadData/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.uploads.get/accountId": account_id
+"/analytics:v3/analytics.management.uploads.get/customDataSourceId": custom_data_source_id
+"/analytics:v3/analytics.management.uploads.get/uploadId": upload_id
+"/analytics:v3/analytics.management.uploads.get/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.uploads.list/accountId": account_id
+"/analytics:v3/analytics.management.uploads.list/customDataSourceId": custom_data_source_id
+"/analytics:v3/analytics.management.uploads.list/max-results": max_results
+"/analytics:v3/analytics.management.uploads.list/start-index": start_index
+"/analytics:v3/analytics.management.uploads.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.uploads.uploadData/accountId": account_id
+"/analytics:v3/analytics.management.uploads.uploadData/customDataSourceId": custom_data_source_id
+"/analytics:v3/analytics.management.uploads.uploadData/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.delete/accountId": account_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.delete/webPropertyAdWordsLinkId": web_property_ad_words_link_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.delete/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.get/accountId": account_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.get/webPropertyAdWordsLinkId": web_property_ad_words_link_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.get/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.insert/accountId": account_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.insert/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.list/accountId": account_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.list/max-results": max_results
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.list/start-index": start_index
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.patch/accountId": account_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.patch/webPropertyAdWordsLinkId": web_property_ad_words_link_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.patch/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.update/accountId": account_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.update/webPropertyAdWordsLinkId": web_property_ad_words_link_id
+"/analytics:v3/analytics.management.webPropertyAdWordsLinks.update/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webproperties.get/accountId": account_id
+"/analytics:v3/analytics.management.webproperties.get/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webproperties.insert/accountId": account_id
+"/analytics:v3/analytics.management.webproperties.list/accountId": account_id
+"/analytics:v3/analytics.management.webproperties.list/max-results": max_results
+"/analytics:v3/analytics.management.webproperties.list/start-index": start_index
+"/analytics:v3/analytics.management.webproperties.patch/accountId": account_id
+"/analytics:v3/analytics.management.webproperties.patch/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webproperties.update/accountId": account_id
+"/analytics:v3/analytics.management.webproperties.update/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webpropertyUserLinks.delete/accountId": account_id
+"/analytics:v3/analytics.management.webpropertyUserLinks.delete/linkId": link_id
+"/analytics:v3/analytics.management.webpropertyUserLinks.delete/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webpropertyUserLinks.insert/accountId": account_id
+"/analytics:v3/analytics.management.webpropertyUserLinks.insert/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webpropertyUserLinks.list/accountId": account_id
+"/analytics:v3/analytics.management.webpropertyUserLinks.list/max-results": max_results
+"/analytics:v3/analytics.management.webpropertyUserLinks.list/start-index": start_index
+"/analytics:v3/analytics.management.webpropertyUserLinks.list/webPropertyId": web_property_id
+"/analytics:v3/analytics.management.webpropertyUserLinks.update/accountId": account_id
+"/analytics:v3/analytics.management.webpropertyUserLinks.update/linkId": link_id
+"/analytics:v3/analytics.management.webpropertyUserLinks.update/webPropertyId": web_property_id
+"/analytics:v3/analytics.metadata.columns.list/reportType": report_type
+"/analytics:v3/Account": account
+"/analytics:v3/Account/childLink": child_link
+"/analytics:v3/Account/childLink/href": href
+"/analytics:v3/Account/childLink/type": type
+"/analytics:v3/Account/created": created
+"/analytics:v3/Account/id": id
+"/analytics:v3/Account/kind": kind
+"/analytics:v3/Account/name": name
+"/analytics:v3/Account/permissions": permissions
+"/analytics:v3/Account/permissions/effective": effective
+"/analytics:v3/Account/permissions/effective/effective": effective
+"/analytics:v3/Account/selfLink": self_link
+"/analytics:v3/Account/updated": updated
+"/analytics:v3/AccountRef": account_ref
+"/analytics:v3/AccountRef/href": href
+"/analytics:v3/AccountRef/id": id
+"/analytics:v3/AccountRef/kind": kind
+"/analytics:v3/AccountRef/name": name
+"/analytics:v3/AccountSummaries": account_summaries
+"/analytics:v3/AccountSummaries/items": items
+"/analytics:v3/AccountSummaries/items/item": item
+"/analytics:v3/AccountSummaries/itemsPerPage": items_per_page
+"/analytics:v3/AccountSummaries/kind": kind
+"/analytics:v3/AccountSummaries/nextLink": next_link
+"/analytics:v3/AccountSummaries/previousLink": previous_link
+"/analytics:v3/AccountSummaries/startIndex": start_index
+"/analytics:v3/AccountSummaries/totalResults": total_results
+"/analytics:v3/AccountSummaries/username": username
+"/analytics:v3/AccountSummary": account_summary
+"/analytics:v3/AccountSummary/id": id
+"/analytics:v3/AccountSummary/kind": kind
+"/analytics:v3/AccountSummary/name": name
+"/analytics:v3/AccountSummary/webProperties": web_properties
+"/analytics:v3/AccountSummary/webProperties/web_property": web_property
+"/analytics:v3/AccountTicket": account_ticket
+"/analytics:v3/AccountTicket/account": account
+"/analytics:v3/AccountTicket/id": id
+"/analytics:v3/AccountTicket/kind": kind
+"/analytics:v3/AccountTicket/profile": profile
+"/analytics:v3/AccountTicket/redirectUri": redirect_uri
+"/analytics:v3/AccountTicket/webproperty": webproperty
+"/analytics:v3/Accounts": accounts
+"/analytics:v3/Accounts/items": items
+"/analytics:v3/Accounts/items/item": item
+"/analytics:v3/Accounts/itemsPerPage": items_per_page
+"/analytics:v3/Accounts/kind": kind
+"/analytics:v3/Accounts/nextLink": next_link
+"/analytics:v3/Accounts/previousLink": previous_link
+"/analytics:v3/Accounts/startIndex": start_index
+"/analytics:v3/Accounts/totalResults": total_results
+"/analytics:v3/Accounts/username": username
+"/analytics:v3/AdWordsAccount": ad_words_account
+"/analytics:v3/AdWordsAccount/autoTaggingEnabled": auto_tagging_enabled
+"/analytics:v3/AdWordsAccount/customerId": customer_id
+"/analytics:v3/AdWordsAccount/kind": kind
+"/analytics:v3/AnalyticsDataimportDeleteUploadDataRequest/customDataImportUids": custom_data_import_uids
+"/analytics:v3/AnalyticsDataimportDeleteUploadDataRequest/customDataImportUids/custom_data_import_uid": custom_data_import_uid
+"/analytics:v3/Column": column
+"/analytics:v3/Column/attributes": attributes
+"/analytics:v3/Column/attributes/attribute": attribute
+"/analytics:v3/Column/id": id
+"/analytics:v3/Column/kind": kind
+"/analytics:v3/Columns": columns
+"/analytics:v3/Columns/attributeNames": attribute_names
+"/analytics:v3/Columns/attributeNames/attribute_name": attribute_name
+"/analytics:v3/Columns/etag": etag
+"/analytics:v3/Columns/items": items
+"/analytics:v3/Columns/items/item": item
+"/analytics:v3/Columns/kind": kind
+"/analytics:v3/Columns/totalResults": total_results
+"/analytics:v3/CustomDataSource": custom_data_source
+"/analytics:v3/CustomDataSource/accountId": account_id
+"/analytics:v3/CustomDataSource/childLink": child_link
+"/analytics:v3/CustomDataSource/childLink/href": href
+"/analytics:v3/CustomDataSource/childLink/type": type
+"/analytics:v3/CustomDataSource/created": created
+"/analytics:v3/CustomDataSource/description": description
+"/analytics:v3/CustomDataSource/id": id
+"/analytics:v3/CustomDataSource/importBehavior": import_behavior
+"/analytics:v3/CustomDataSource/kind": kind
+"/analytics:v3/CustomDataSource/name": name
+"/analytics:v3/CustomDataSource/parentLink": parent_link
+"/analytics:v3/CustomDataSource/parentLink/href": href
+"/analytics:v3/CustomDataSource/parentLink/type": type
+"/analytics:v3/CustomDataSource/profilesLinked": profiles_linked
+"/analytics:v3/CustomDataSource/profilesLinked/profiles_linked": profiles_linked
+"/analytics:v3/CustomDataSource/selfLink": self_link
+"/analytics:v3/CustomDataSource/type": type
+"/analytics:v3/CustomDataSource/updated": updated
+"/analytics:v3/CustomDataSource/uploadType": upload_type
+"/analytics:v3/CustomDataSource/webPropertyId": web_property_id
+"/analytics:v3/CustomDataSources": custom_data_sources
+"/analytics:v3/CustomDataSources/items": items
+"/analytics:v3/CustomDataSources/items/item": item
+"/analytics:v3/CustomDataSources/itemsPerPage": items_per_page
+"/analytics:v3/CustomDataSources/kind": kind
+"/analytics:v3/CustomDataSources/nextLink": next_link
+"/analytics:v3/CustomDataSources/previousLink": previous_link
+"/analytics:v3/CustomDataSources/startIndex": start_index
+"/analytics:v3/CustomDataSources/totalResults": total_results
+"/analytics:v3/CustomDataSources/username": username
+"/analytics:v3/CustomDimension": custom_dimension
+"/analytics:v3/CustomDimension/accountId": account_id
+"/analytics:v3/CustomDimension/active": active
+"/analytics:v3/CustomDimension/created": created
+"/analytics:v3/CustomDimension/id": id
+"/analytics:v3/CustomDimension/index": index
+"/analytics:v3/CustomDimension/kind": kind
+"/analytics:v3/CustomDimension/name": name
+"/analytics:v3/CustomDimension/parentLink": parent_link
+"/analytics:v3/CustomDimension/parentLink/href": href
+"/analytics:v3/CustomDimension/parentLink/type": type
+"/analytics:v3/CustomDimension/scope": scope
+"/analytics:v3/CustomDimension/selfLink": self_link
+"/analytics:v3/CustomDimension/updated": updated
+"/analytics:v3/CustomDimension/webPropertyId": web_property_id
+"/analytics:v3/CustomDimensions": custom_dimensions
+"/analytics:v3/CustomDimensions/items": items
+"/analytics:v3/CustomDimensions/items/item": item
+"/analytics:v3/CustomDimensions/itemsPerPage": items_per_page
+"/analytics:v3/CustomDimensions/kind": kind
+"/analytics:v3/CustomDimensions/nextLink": next_link
+"/analytics:v3/CustomDimensions/previousLink": previous_link
+"/analytics:v3/CustomDimensions/startIndex": start_index
+"/analytics:v3/CustomDimensions/totalResults": total_results
+"/analytics:v3/CustomDimensions/username": username
+"/analytics:v3/CustomMetric": custom_metric
+"/analytics:v3/CustomMetric/accountId": account_id
+"/analytics:v3/CustomMetric/active": active
+"/analytics:v3/CustomMetric/created": created
+"/analytics:v3/CustomMetric/id": id
+"/analytics:v3/CustomMetric/index": index
+"/analytics:v3/CustomMetric/kind": kind
+"/analytics:v3/CustomMetric/max_value": max_value
+"/analytics:v3/CustomMetric/min_value": min_value
+"/analytics:v3/CustomMetric/name": name
+"/analytics:v3/CustomMetric/parentLink": parent_link
+"/analytics:v3/CustomMetric/parentLink/href": href
+"/analytics:v3/CustomMetric/parentLink/type": type
+"/analytics:v3/CustomMetric/scope": scope
+"/analytics:v3/CustomMetric/selfLink": self_link
+"/analytics:v3/CustomMetric/type": type
+"/analytics:v3/CustomMetric/updated": updated
+"/analytics:v3/CustomMetric/webPropertyId": web_property_id
+"/analytics:v3/CustomMetrics": custom_metrics
+"/analytics:v3/CustomMetrics/items": items
+"/analytics:v3/CustomMetrics/items/item": item
+"/analytics:v3/CustomMetrics/itemsPerPage": items_per_page
+"/analytics:v3/CustomMetrics/kind": kind
+"/analytics:v3/CustomMetrics/nextLink": next_link
+"/analytics:v3/CustomMetrics/previousLink": previous_link
+"/analytics:v3/CustomMetrics/startIndex": start_index
+"/analytics:v3/CustomMetrics/totalResults": total_results
+"/analytics:v3/CustomMetrics/username": username
+"/analytics:v3/EntityAdWordsLink": entity_ad_words_link
+"/analytics:v3/EntityAdWordsLink/adWordsAccounts": ad_words_accounts
+"/analytics:v3/EntityAdWordsLink/adWordsAccounts/ad_words_account": ad_words_account
+"/analytics:v3/EntityAdWordsLink/entity": entity
+"/analytics:v3/EntityAdWordsLink/entity/webPropertyRef": web_property_ref
+"/analytics:v3/EntityAdWordsLink/id": id
+"/analytics:v3/EntityAdWordsLink/kind": kind
+"/analytics:v3/EntityAdWordsLink/name": name
+"/analytics:v3/EntityAdWordsLink/profileIds": profile_ids
+"/analytics:v3/EntityAdWordsLink/profileIds/profile_id": profile_id
+"/analytics:v3/EntityAdWordsLink/selfLink": self_link
+"/analytics:v3/EntityAdWordsLinks": entity_ad_words_links
+"/analytics:v3/EntityAdWordsLinks/items": items
+"/analytics:v3/EntityAdWordsLinks/items/item": item
+"/analytics:v3/EntityAdWordsLinks/itemsPerPage": items_per_page
+"/analytics:v3/EntityAdWordsLinks/kind": kind
+"/analytics:v3/EntityAdWordsLinks/nextLink": next_link
+"/analytics:v3/EntityAdWordsLinks/previousLink": previous_link
+"/analytics:v3/EntityAdWordsLinks/startIndex": start_index
+"/analytics:v3/EntityAdWordsLinks/totalResults": total_results
+"/analytics:v3/EntityUserLink": entity_user_link
+"/analytics:v3/EntityUserLink/entity": entity
+"/analytics:v3/EntityUserLink/entity/accountRef": account_ref
+"/analytics:v3/EntityUserLink/entity/profileRef": profile_ref
+"/analytics:v3/EntityUserLink/entity/webPropertyRef": web_property_ref
+"/analytics:v3/EntityUserLink/id": id
+"/analytics:v3/EntityUserLink/kind": kind
+"/analytics:v3/EntityUserLink/permissions": permissions
+"/analytics:v3/EntityUserLink/permissions/effective": effective
+"/analytics:v3/EntityUserLink/permissions/effective/effective": effective
+"/analytics:v3/EntityUserLink/permissions/local": local
+"/analytics:v3/EntityUserLink/permissions/local/local": local
+"/analytics:v3/EntityUserLink/selfLink": self_link
+"/analytics:v3/EntityUserLink/userRef": user_ref
+"/analytics:v3/EntityUserLinks": entity_user_links
+"/analytics:v3/EntityUserLinks/items": items
+"/analytics:v3/EntityUserLinks/items/item": item
+"/analytics:v3/EntityUserLinks/itemsPerPage": items_per_page
+"/analytics:v3/EntityUserLinks/kind": kind
+"/analytics:v3/EntityUserLinks/nextLink": next_link
+"/analytics:v3/EntityUserLinks/previousLink": previous_link
+"/analytics:v3/EntityUserLinks/startIndex": start_index
+"/analytics:v3/EntityUserLinks/totalResults": total_results
+"/analytics:v3/Experiment": experiment
+"/analytics:v3/Experiment/accountId": account_id
+"/analytics:v3/Experiment/created": created
+"/analytics:v3/Experiment/description": description
+"/analytics:v3/Experiment/editableInGaUi": editable_in_ga_ui
+"/analytics:v3/Experiment/endTime": end_time
+"/analytics:v3/Experiment/equalWeighting": equal_weighting
+"/analytics:v3/Experiment/id": id
+"/analytics:v3/Experiment/internalWebPropertyId": internal_web_property_id
+"/analytics:v3/Experiment/kind": kind
+"/analytics:v3/Experiment/minimumExperimentLengthInDays": minimum_experiment_length_in_days
+"/analytics:v3/Experiment/name": name
+"/analytics:v3/Experiment/objectiveMetric": objective_metric
+"/analytics:v3/Experiment/optimizationType": optimization_type
+"/analytics:v3/Experiment/parentLink": parent_link
+"/analytics:v3/Experiment/parentLink/href": href
+"/analytics:v3/Experiment/parentLink/type": type
+"/analytics:v3/Experiment/profileId": profile_id
+"/analytics:v3/Experiment/reasonExperimentEnded": reason_experiment_ended
+"/analytics:v3/Experiment/rewriteVariationUrlsAsOriginal": rewrite_variation_urls_as_original
+"/analytics:v3/Experiment/selfLink": self_link
+"/analytics:v3/Experiment/servingFramework": serving_framework
+"/analytics:v3/Experiment/snippet": snippet
+"/analytics:v3/Experiment/startTime": start_time
+"/analytics:v3/Experiment/status": status
+"/analytics:v3/Experiment/trafficCoverage": traffic_coverage
+"/analytics:v3/Experiment/updated": updated
+"/analytics:v3/Experiment/variations": variations
+"/analytics:v3/Experiment/variations/variation": variation
+"/analytics:v3/Experiment/variations/variation/name": name
+"/analytics:v3/Experiment/variations/variation/status": status
+"/analytics:v3/Experiment/variations/variation/url": url
+"/analytics:v3/Experiment/variations/variation/weight": weight
+"/analytics:v3/Experiment/variations/variation/won": won
+"/analytics:v3/Experiment/webPropertyId": web_property_id
+"/analytics:v3/Experiment/winnerConfidenceLevel": winner_confidence_level
+"/analytics:v3/Experiment/winnerFound": winner_found
+"/analytics:v3/Experiments": experiments
+"/analytics:v3/Experiments/items": items
+"/analytics:v3/Experiments/items/item": item
+"/analytics:v3/Experiments/itemsPerPage": items_per_page
+"/analytics:v3/Experiments/kind": kind
+"/analytics:v3/Experiments/nextLink": next_link
+"/analytics:v3/Experiments/previousLink": previous_link
+"/analytics:v3/Experiments/startIndex": start_index
+"/analytics:v3/Experiments/totalResults": total_results
+"/analytics:v3/Experiments/username": username
+"/analytics:v3/Filter": filter
+"/analytics:v3/Filter/accountId": account_id
+"/analytics:v3/Filter/advancedDetails": advanced_details
+"/analytics:v3/Filter/advancedDetails/caseSensitive": case_sensitive
+"/analytics:v3/Filter/advancedDetails/extractA": extract_a
+"/analytics:v3/Filter/advancedDetails/extractB": extract_b
+"/analytics:v3/Filter/advancedDetails/fieldA": field_a
+"/analytics:v3/Filter/advancedDetails/fieldAIndex": field_a_index
+"/analytics:v3/Filter/advancedDetails/fieldARequired": field_a_required
+"/analytics:v3/Filter/advancedDetails/fieldB": field_b
+"/analytics:v3/Filter/advancedDetails/fieldBIndex": field_b_index
+"/analytics:v3/Filter/advancedDetails/fieldBRequired": field_b_required
+"/analytics:v3/Filter/advancedDetails/outputConstructor": output_constructor
+"/analytics:v3/Filter/advancedDetails/outputToField": output_to_field
+"/analytics:v3/Filter/advancedDetails/outputToFieldIndex": output_to_field_index
+"/analytics:v3/Filter/advancedDetails/overrideOutputField": override_output_field
+"/analytics:v3/Filter/created": created
+"/analytics:v3/Filter/excludeDetails": exclude_details
+"/analytics:v3/Filter/id": id
+"/analytics:v3/Filter/includeDetails": include_details
+"/analytics:v3/Filter/kind": kind
+"/analytics:v3/Filter/lowercaseDetails": lowercase_details
+"/analytics:v3/Filter/lowercaseDetails/field": field
+"/analytics:v3/Filter/lowercaseDetails/fieldIndex": field_index
+"/analytics:v3/Filter/name": name
+"/analytics:v3/Filter/parentLink": parent_link
+"/analytics:v3/Filter/parentLink/href": href
+"/analytics:v3/Filter/parentLink/type": type
+"/analytics:v3/Filter/searchAndReplaceDetails": search_and_replace_details
+"/analytics:v3/Filter/searchAndReplaceDetails/caseSensitive": case_sensitive
+"/analytics:v3/Filter/searchAndReplaceDetails/field": field
+"/analytics:v3/Filter/searchAndReplaceDetails/fieldIndex": field_index
+"/analytics:v3/Filter/searchAndReplaceDetails/replaceString": replace_string
+"/analytics:v3/Filter/searchAndReplaceDetails/searchString": search_string
+"/analytics:v3/Filter/selfLink": self_link
+"/analytics:v3/Filter/type": type
+"/analytics:v3/Filter/updated": updated
+"/analytics:v3/Filter/uppercaseDetails": uppercase_details
+"/analytics:v3/Filter/uppercaseDetails/field": field
+"/analytics:v3/Filter/uppercaseDetails/fieldIndex": field_index
+"/analytics:v3/FilterExpression": filter_expression
+"/analytics:v3/FilterExpression/caseSensitive": case_sensitive
+"/analytics:v3/FilterExpression/expressionValue": expression_value
+"/analytics:v3/FilterExpression/field": field
+"/analytics:v3/FilterExpression/fieldIndex": field_index
+"/analytics:v3/FilterExpression/kind": kind
+"/analytics:v3/FilterExpression/matchType": match_type
+"/analytics:v3/FilterRef": filter_ref
+"/analytics:v3/FilterRef/accountId": account_id
+"/analytics:v3/FilterRef/href": href
+"/analytics:v3/FilterRef/id": id
+"/analytics:v3/FilterRef/kind": kind
+"/analytics:v3/FilterRef/name": name
+"/analytics:v3/Filters": filters
+"/analytics:v3/Filters/items": items
+"/analytics:v3/Filters/items/item": item
+"/analytics:v3/Filters/itemsPerPage": items_per_page
+"/analytics:v3/Filters/kind": kind
+"/analytics:v3/Filters/nextLink": next_link
+"/analytics:v3/Filters/previousLink": previous_link
+"/analytics:v3/Filters/startIndex": start_index
+"/analytics:v3/Filters/totalResults": total_results
+"/analytics:v3/Filters/username": username
+"/analytics:v3/GaData": ga_data
+"/analytics:v3/GaData/columnHeaders": column_headers
+"/analytics:v3/GaData/columnHeaders/column_header": column_header
+"/analytics:v3/GaData/columnHeaders/column_header/columnType": column_type
+"/analytics:v3/GaData/columnHeaders/column_header/dataType": data_type
+"/analytics:v3/GaData/columnHeaders/column_header/name": name
+"/analytics:v3/GaData/containsSampledData": contains_sampled_data
+"/analytics:v3/GaData/dataTable": data_table
+"/analytics:v3/GaData/dataTable/cols": cols
+"/analytics:v3/GaData/dataTable/cols/col": col
+"/analytics:v3/GaData/dataTable/cols/col/id": id
+"/analytics:v3/GaData/dataTable/cols/col/label": label
+"/analytics:v3/GaData/dataTable/cols/col/type": type
+"/analytics:v3/GaData/dataTable/rows": rows
+"/analytics:v3/GaData/dataTable/rows/row": row
+"/analytics:v3/GaData/dataTable/rows/row/c": c
+"/analytics:v3/GaData/dataTable/rows/row/c/c": c
+"/analytics:v3/GaData/dataTable/rows/row/c/c/v": v
+"/analytics:v3/GaData/id": id
+"/analytics:v3/GaData/itemsPerPage": items_per_page
+"/analytics:v3/GaData/kind": kind
+"/analytics:v3/GaData/nextLink": next_link
+"/analytics:v3/GaData/previousLink": previous_link
+"/analytics:v3/GaData/profileInfo": profile_info
+"/analytics:v3/GaData/profileInfo/accountId": account_id
+"/analytics:v3/GaData/profileInfo/internalWebPropertyId": internal_web_property_id
+"/analytics:v3/GaData/profileInfo/profileId": profile_id
+"/analytics:v3/GaData/profileInfo/profileName": profile_name
+"/analytics:v3/GaData/profileInfo/tableId": table_id
+"/analytics:v3/GaData/profileInfo/webPropertyId": web_property_id
+"/analytics:v3/GaData/query": query
+"/analytics:v3/GaData/query/dimensions": dimensions
+"/analytics:v3/GaData/query/end-date": end_date
+"/analytics:v3/GaData/query/filters": filters
+"/analytics:v3/GaData/query/ids": ids
+"/analytics:v3/GaData/query/max-results": max_results
+"/analytics:v3/GaData/query/metrics": metrics
+"/analytics:v3/GaData/query/metrics/metric": metric
+"/analytics:v3/GaData/query/samplingLevel": sampling_level
+"/analytics:v3/GaData/query/segment": segment
+"/analytics:v3/GaData/query/sort": sort
+"/analytics:v3/GaData/query/sort/sort": sort
+"/analytics:v3/GaData/query/start-date": start_date
+"/analytics:v3/GaData/query/start-index": start_index
+"/analytics:v3/GaData/rows": rows
+"/analytics:v3/GaData/rows/row": row
+"/analytics:v3/GaData/rows/row/row": row
+"/analytics:v3/GaData/sampleSize": sample_size
+"/analytics:v3/GaData/sampleSpace": sample_space
+"/analytics:v3/GaData/selfLink": self_link
+"/analytics:v3/GaData/totalResults": total_results
+"/analytics:v3/GaData/totalsForAllResults": totals_for_all_results
+"/analytics:v3/GaData/totalsForAllResults/totals_for_all_result": totals_for_all_result
+"/analytics:v3/Goal": goal
+"/analytics:v3/Goal/accountId": account_id
+"/analytics:v3/Goal/active": active
+"/analytics:v3/Goal/created": created
+"/analytics:v3/Goal/eventDetails": event_details
+"/analytics:v3/Goal/eventDetails/eventConditions": event_conditions
+"/analytics:v3/Goal/eventDetails/eventConditions/event_condition": event_condition
+"/analytics:v3/Goal/eventDetails/eventConditions/event_condition/comparisonType": comparison_type
+"/analytics:v3/Goal/eventDetails/eventConditions/event_condition/comparisonValue": comparison_value
+"/analytics:v3/Goal/eventDetails/eventConditions/event_condition/expression": expression
+"/analytics:v3/Goal/eventDetails/eventConditions/event_condition/matchType": match_type
+"/analytics:v3/Goal/eventDetails/eventConditions/event_condition/type": type
+"/analytics:v3/Goal/eventDetails/useEventValue": use_event_value
+"/analytics:v3/Goal/id": id
+"/analytics:v3/Goal/internalWebPropertyId": internal_web_property_id
+"/analytics:v3/Goal/kind": kind
+"/analytics:v3/Goal/name": name
+"/analytics:v3/Goal/parentLink": parent_link
+"/analytics:v3/Goal/parentLink/href": href
+"/analytics:v3/Goal/parentLink/type": type
+"/analytics:v3/Goal/profileId": profile_id
+"/analytics:v3/Goal/selfLink": self_link
+"/analytics:v3/Goal/type": type
+"/analytics:v3/Goal/updated": updated
+"/analytics:v3/Goal/urlDestinationDetails": url_destination_details
+"/analytics:v3/Goal/urlDestinationDetails/caseSensitive": case_sensitive
+"/analytics:v3/Goal/urlDestinationDetails/firstStepRequired": first_step_required
+"/analytics:v3/Goal/urlDestinationDetails/matchType": match_type
+"/analytics:v3/Goal/urlDestinationDetails/steps": steps
+"/analytics:v3/Goal/urlDestinationDetails/steps/step": step
+"/analytics:v3/Goal/urlDestinationDetails/steps/step/name": name
+"/analytics:v3/Goal/urlDestinationDetails/steps/step/number": number
+"/analytics:v3/Goal/urlDestinationDetails/steps/step/url": url
+"/analytics:v3/Goal/urlDestinationDetails/url": url
+"/analytics:v3/Goal/value": value
+"/analytics:v3/Goal/visitNumPagesDetails": visit_num_pages_details
+"/analytics:v3/Goal/visitNumPagesDetails/comparisonType": comparison_type
+"/analytics:v3/Goal/visitNumPagesDetails/comparisonValue": comparison_value
+"/analytics:v3/Goal/visitTimeOnSiteDetails": visit_time_on_site_details
+"/analytics:v3/Goal/visitTimeOnSiteDetails/comparisonType": comparison_type
+"/analytics:v3/Goal/visitTimeOnSiteDetails/comparisonValue": comparison_value
+"/analytics:v3/Goal/webPropertyId": web_property_id
+"/analytics:v3/Goals": goals
+"/analytics:v3/Goals/items": items
+"/analytics:v3/Goals/items/item": item
+"/analytics:v3/Goals/itemsPerPage": items_per_page
+"/analytics:v3/Goals/kind": kind
+"/analytics:v3/Goals/nextLink": next_link
+"/analytics:v3/Goals/previousLink": previous_link
+"/analytics:v3/Goals/startIndex": start_index
+"/analytics:v3/Goals/totalResults": total_results
+"/analytics:v3/Goals/username": username
+"/analytics:v3/McfData": mcf_data
+"/analytics:v3/McfData/columnHeaders": column_headers
+"/analytics:v3/McfData/columnHeaders/column_header": column_header
+"/analytics:v3/McfData/columnHeaders/column_header/columnType": column_type
+"/analytics:v3/McfData/columnHeaders/column_header/dataType": data_type
+"/analytics:v3/McfData/columnHeaders/column_header/name": name
+"/analytics:v3/McfData/containsSampledData": contains_sampled_data
+"/analytics:v3/McfData/id": id
+"/analytics:v3/McfData/itemsPerPage": items_per_page
+"/analytics:v3/McfData/kind": kind
+"/analytics:v3/McfData/nextLink": next_link
+"/analytics:v3/McfData/previousLink": previous_link
+"/analytics:v3/McfData/profileInfo": profile_info
+"/analytics:v3/McfData/profileInfo/accountId": account_id
+"/analytics:v3/McfData/profileInfo/internalWebPropertyId": internal_web_property_id
+"/analytics:v3/McfData/profileInfo/profileId": profile_id
+"/analytics:v3/McfData/profileInfo/profileName": profile_name
+"/analytics:v3/McfData/profileInfo/tableId": table_id
+"/analytics:v3/McfData/profileInfo/webPropertyId": web_property_id
+"/analytics:v3/McfData/query": query
+"/analytics:v3/McfData/query/dimensions": dimensions
+"/analytics:v3/McfData/query/end-date": end_date
+"/analytics:v3/McfData/query/filters": filters
+"/analytics:v3/McfData/query/ids": ids
+"/analytics:v3/McfData/query/max-results": max_results
+"/analytics:v3/McfData/query/metrics": metrics
+"/analytics:v3/McfData/query/metrics/metric": metric
+"/analytics:v3/McfData/query/samplingLevel": sampling_level
+"/analytics:v3/McfData/query/segment": segment
+"/analytics:v3/McfData/query/sort": sort
+"/analytics:v3/McfData/query/sort/sort": sort
+"/analytics:v3/McfData/query/start-date": start_date
+"/analytics:v3/McfData/query/start-index": start_index
+"/analytics:v3/McfData/rows": rows
+"/analytics:v3/McfData/rows/row": row
+"/analytics:v3/McfData/rows/row/row": row
+"/analytics:v3/McfData/rows/row/row/conversionPathValue": conversion_path_value
+"/analytics:v3/McfData/rows/row/row/conversionPathValue/conversion_path_value": conversion_path_value
+"/analytics:v3/McfData/rows/row/row/conversionPathValue/conversion_path_value/interactionType": interaction_type
+"/analytics:v3/McfData/rows/row/row/conversionPathValue/conversion_path_value/nodeValue": node_value
+"/analytics:v3/McfData/rows/row/row/primitiveValue": primitive_value
+"/analytics:v3/McfData/sampleSize": sample_size
+"/analytics:v3/McfData/sampleSpace": sample_space
+"/analytics:v3/McfData/selfLink": self_link
+"/analytics:v3/McfData/totalResults": total_results
+"/analytics:v3/McfData/totalsForAllResults": totals_for_all_results
+"/analytics:v3/McfData/totalsForAllResults/totals_for_all_result": totals_for_all_result
+"/analytics:v3/Profile": profile
+"/analytics:v3/Profile/accountId": account_id
+"/analytics:v3/Profile/childLink": child_link
+"/analytics:v3/Profile/childLink/href": href
+"/analytics:v3/Profile/childLink/type": type
+"/analytics:v3/Profile/created": created
+"/analytics:v3/Profile/currency": currency
+"/analytics:v3/Profile/defaultPage": default_page
+"/analytics:v3/Profile/eCommerceTracking": e_commerce_tracking
+"/analytics:v3/Profile/enhancedECommerceTracking": enhanced_e_commerce_tracking
+"/analytics:v3/Profile/excludeQueryParameters": exclude_query_parameters
+"/analytics:v3/Profile/id": id
+"/analytics:v3/Profile/internalWebPropertyId": internal_web_property_id
+"/analytics:v3/Profile/kind": kind
+"/analytics:v3/Profile/name": name
+"/analytics:v3/Profile/parentLink": parent_link
+"/analytics:v3/Profile/parentLink/href": href
+"/analytics:v3/Profile/parentLink/type": type
+"/analytics:v3/Profile/permissions": permissions
+"/analytics:v3/Profile/permissions/effective": effective
+"/analytics:v3/Profile/permissions/effective/effective": effective
+"/analytics:v3/Profile/selfLink": self_link
+"/analytics:v3/Profile/siteSearchCategoryParameters": site_search_category_parameters
+"/analytics:v3/Profile/siteSearchQueryParameters": site_search_query_parameters
+"/analytics:v3/Profile/stripSiteSearchCategoryParameters": strip_site_search_category_parameters
+"/analytics:v3/Profile/stripSiteSearchQueryParameters": strip_site_search_query_parameters
+"/analytics:v3/Profile/timezone": timezone
+"/analytics:v3/Profile/type": type
+"/analytics:v3/Profile/updated": updated
+"/analytics:v3/Profile/webPropertyId": web_property_id
+"/analytics:v3/Profile/websiteUrl": website_url
+"/analytics:v3/ProfileFilterLink": profile_filter_link
+"/analytics:v3/ProfileFilterLink/filterRef": filter_ref
+"/analytics:v3/ProfileFilterLink/id": id
+"/analytics:v3/ProfileFilterLink/kind": kind
+"/analytics:v3/ProfileFilterLink/profileRef": profile_ref
+"/analytics:v3/ProfileFilterLink/rank": rank
+"/analytics:v3/ProfileFilterLink/selfLink": self_link
+"/analytics:v3/ProfileFilterLinks": profile_filter_links
+"/analytics:v3/ProfileFilterLinks/items": items
+"/analytics:v3/ProfileFilterLinks/items/item": item
+"/analytics:v3/ProfileFilterLinks/itemsPerPage": items_per_page
+"/analytics:v3/ProfileFilterLinks/kind": kind
+"/analytics:v3/ProfileFilterLinks/nextLink": next_link
+"/analytics:v3/ProfileFilterLinks/previousLink": previous_link
+"/analytics:v3/ProfileFilterLinks/startIndex": start_index
+"/analytics:v3/ProfileFilterLinks/totalResults": total_results
+"/analytics:v3/ProfileFilterLinks/username": username
+"/analytics:v3/ProfileRef": profile_ref
+"/analytics:v3/ProfileRef/accountId": account_id
+"/analytics:v3/ProfileRef/href": href
+"/analytics:v3/ProfileRef/id": id
+"/analytics:v3/ProfileRef/internalWebPropertyId": internal_web_property_id
+"/analytics:v3/ProfileRef/kind": kind
+"/analytics:v3/ProfileRef/name": name
+"/analytics:v3/ProfileRef/webPropertyId": web_property_id
+"/analytics:v3/ProfileSummary": profile_summary
+"/analytics:v3/ProfileSummary/id": id
+"/analytics:v3/ProfileSummary/kind": kind
+"/analytics:v3/ProfileSummary/name": name
+"/analytics:v3/ProfileSummary/type": type
+"/analytics:v3/Profiles": profiles
+"/analytics:v3/Profiles/items": items
+"/analytics:v3/Profiles/items/item": item
+"/analytics:v3/Profiles/itemsPerPage": items_per_page
+"/analytics:v3/Profiles/kind": kind
+"/analytics:v3/Profiles/nextLink": next_link
+"/analytics:v3/Profiles/previousLink": previous_link
+"/analytics:v3/Profiles/startIndex": start_index
+"/analytics:v3/Profiles/totalResults": total_results
+"/analytics:v3/Profiles/username": username
+"/analytics:v3/RealtimeData": realtime_data
+"/analytics:v3/RealtimeData/columnHeaders": column_headers
+"/analytics:v3/RealtimeData/columnHeaders/column_header": column_header
+"/analytics:v3/RealtimeData/columnHeaders/column_header/columnType": column_type
+"/analytics:v3/RealtimeData/columnHeaders/column_header/dataType": data_type
+"/analytics:v3/RealtimeData/columnHeaders/column_header/name": name
+"/analytics:v3/RealtimeData/id": id
+"/analytics:v3/RealtimeData/kind": kind
+"/analytics:v3/RealtimeData/profileInfo": profile_info
+"/analytics:v3/RealtimeData/profileInfo/accountId": account_id
+"/analytics:v3/RealtimeData/profileInfo/internalWebPropertyId": internal_web_property_id
+"/analytics:v3/RealtimeData/profileInfo/profileId": profile_id
+"/analytics:v3/RealtimeData/profileInfo/profileName": profile_name
+"/analytics:v3/RealtimeData/profileInfo/tableId": table_id
+"/analytics:v3/RealtimeData/profileInfo/webPropertyId": web_property_id
+"/analytics:v3/RealtimeData/query": query
+"/analytics:v3/RealtimeData/query/dimensions": dimensions
+"/analytics:v3/RealtimeData/query/filters": filters
+"/analytics:v3/RealtimeData/query/ids": ids
+"/analytics:v3/RealtimeData/query/max-results": max_results
+"/analytics:v3/RealtimeData/query/metrics": metrics
+"/analytics:v3/RealtimeData/query/metrics/metric": metric
+"/analytics:v3/RealtimeData/query/sort": sort
+"/analytics:v3/RealtimeData/query/sort/sort": sort
+"/analytics:v3/RealtimeData/rows": rows
+"/analytics:v3/RealtimeData/rows/row": row
+"/analytics:v3/RealtimeData/rows/row/row": row
+"/analytics:v3/RealtimeData/selfLink": self_link
+"/analytics:v3/RealtimeData/totalResults": total_results
+"/analytics:v3/RealtimeData/totalsForAllResults": totals_for_all_results
+"/analytics:v3/RealtimeData/totalsForAllResults/totals_for_all_result": totals_for_all_result
+"/analytics:v3/Segment": segment
+"/analytics:v3/Segment/created": created
+"/analytics:v3/Segment/definition": definition
+"/analytics:v3/Segment/id": id
+"/analytics:v3/Segment/kind": kind
+"/analytics:v3/Segment/name": name
+"/analytics:v3/Segment/segmentId": segment_id
+"/analytics:v3/Segment/selfLink": self_link
+"/analytics:v3/Segment/type": type
+"/analytics:v3/Segment/updated": updated
+"/analytics:v3/Segments": segments
+"/analytics:v3/Segments/items": items
+"/analytics:v3/Segments/items/item": item
+"/analytics:v3/Segments/itemsPerPage": items_per_page
+"/analytics:v3/Segments/kind": kind
+"/analytics:v3/Segments/nextLink": next_link
+"/analytics:v3/Segments/previousLink": previous_link
+"/analytics:v3/Segments/startIndex": start_index
+"/analytics:v3/Segments/totalResults": total_results
+"/analytics:v3/Segments/username": username
+"/analytics:v3/UnsampledReport": unsampled_report
+"/analytics:v3/UnsampledReport/accountId": account_id
+"/analytics:v3/UnsampledReport/cloudStorageDownloadDetails": cloud_storage_download_details
+"/analytics:v3/UnsampledReport/cloudStorageDownloadDetails/bucketId": bucket_id
+"/analytics:v3/UnsampledReport/created": created
+"/analytics:v3/UnsampledReport/dimensions": dimensions
+"/analytics:v3/UnsampledReport/downloadType": download_type
+"/analytics:v3/UnsampledReport/driveDownloadDetails": drive_download_details
+"/analytics:v3/UnsampledReport/driveDownloadDetails/documentId": document_id
+"/analytics:v3/UnsampledReport/end-date": end_date
+"/analytics:v3/UnsampledReport/filters": filters
+"/analytics:v3/UnsampledReport/id": id
+"/analytics:v3/UnsampledReport/kind": kind
+"/analytics:v3/UnsampledReport/metrics": metrics
+"/analytics:v3/UnsampledReport/profileId": profile_id
+"/analytics:v3/UnsampledReport/segment": segment
+"/analytics:v3/UnsampledReport/selfLink": self_link
+"/analytics:v3/UnsampledReport/start-date": start_date
+"/analytics:v3/UnsampledReport/status": status
+"/analytics:v3/UnsampledReport/title": title
+"/analytics:v3/UnsampledReport/updated": updated
+"/analytics:v3/UnsampledReport/webPropertyId": web_property_id
+"/analytics:v3/UnsampledReports": unsampled_reports
+"/analytics:v3/UnsampledReports/items": items
+"/analytics:v3/UnsampledReports/items/item": item
+"/analytics:v3/UnsampledReports/itemsPerPage": items_per_page
+"/analytics:v3/UnsampledReports/kind": kind
+"/analytics:v3/UnsampledReports/nextLink": next_link
+"/analytics:v3/UnsampledReports/previousLink": previous_link
+"/analytics:v3/UnsampledReports/startIndex": start_index
+"/analytics:v3/UnsampledReports/totalResults": total_results
+"/analytics:v3/UnsampledReports/username": username
+"/analytics:v3/Upload": upload
+"/analytics:v3/Upload/accountId": account_id
+"/analytics:v3/Upload/customDataSourceId": custom_data_source_id
+"/analytics:v3/Upload/errors": errors
+"/analytics:v3/Upload/errors/error": error
+"/analytics:v3/Upload/id": id
+"/analytics:v3/Upload/kind": kind
+"/analytics:v3/Upload/status": status
+"/analytics:v3/Uploads": uploads
+"/analytics:v3/Uploads/items": items
+"/analytics:v3/Uploads/items/item": item
+"/analytics:v3/Uploads/itemsPerPage": items_per_page
+"/analytics:v3/Uploads/kind": kind
+"/analytics:v3/Uploads/nextLink": next_link
+"/analytics:v3/Uploads/previousLink": previous_link
+"/analytics:v3/Uploads/startIndex": start_index
+"/analytics:v3/Uploads/totalResults": total_results
+"/analytics:v3/UserRef": user_ref
+"/analytics:v3/UserRef/email": email
+"/analytics:v3/UserRef/id": id
+"/analytics:v3/UserRef/kind": kind
+"/analytics:v3/WebPropertyRef": web_property_ref
+"/analytics:v3/WebPropertyRef/accountId": account_id
+"/analytics:v3/WebPropertyRef/href": href
+"/analytics:v3/WebPropertyRef/id": id
+"/analytics:v3/WebPropertyRef/internalWebPropertyId": internal_web_property_id
+"/analytics:v3/WebPropertyRef/kind": kind
+"/analytics:v3/WebPropertyRef/name": name
+"/analytics:v3/WebPropertySummary": web_property_summary
+"/analytics:v3/WebPropertySummary/id": id
+"/analytics:v3/WebPropertySummary/internalWebPropertyId": internal_web_property_id
+"/analytics:v3/WebPropertySummary/kind": kind
+"/analytics:v3/WebPropertySummary/level": level
+"/analytics:v3/WebPropertySummary/name": name
+"/analytics:v3/WebPropertySummary/profiles": profiles
+"/analytics:v3/WebPropertySummary/profiles/profile": profile
+"/analytics:v3/WebPropertySummary/websiteUrl": website_url
+"/analytics:v3/Webproperties": webproperties
+"/analytics:v3/Webproperties/items": items
+"/analytics:v3/Webproperties/items/item": item
+"/analytics:v3/Webproperties/itemsPerPage": items_per_page
+"/analytics:v3/Webproperties/kind": kind
+"/analytics:v3/Webproperties/nextLink": next_link
+"/analytics:v3/Webproperties/previousLink": previous_link
+"/analytics:v3/Webproperties/startIndex": start_index
+"/analytics:v3/Webproperties/totalResults": total_results
+"/analytics:v3/Webproperties/username": username
+"/analytics:v3/Webproperty": webproperty
+"/analytics:v3/Webproperty/accountId": account_id
+"/analytics:v3/Webproperty/childLink": child_link
+"/analytics:v3/Webproperty/childLink/href": href
+"/analytics:v3/Webproperty/childLink/type": type
+"/analytics:v3/Webproperty/created": created
+"/analytics:v3/Webproperty/defaultProfileId": default_profile_id
+"/analytics:v3/Webproperty/id": id
+"/analytics:v3/Webproperty/industryVertical": industry_vertical
+"/analytics:v3/Webproperty/internalWebPropertyId": internal_web_property_id
+"/analytics:v3/Webproperty/kind": kind
+"/analytics:v3/Webproperty/level": level
+"/analytics:v3/Webproperty/name": name
+"/analytics:v3/Webproperty/parentLink": parent_link
+"/analytics:v3/Webproperty/parentLink/href": href
+"/analytics:v3/Webproperty/parentLink/type": type
+"/analytics:v3/Webproperty/permissions": permissions
+"/analytics:v3/Webproperty/permissions/effective": effective
+"/analytics:v3/Webproperty/permissions/effective/effective": effective
+"/analytics:v3/Webproperty/profileCount": profile_count
+"/analytics:v3/Webproperty/selfLink": self_link
+"/analytics:v3/Webproperty/updated": updated
+"/analytics:v3/Webproperty/websiteUrl": website_url
+"/androidenterprise:v1/fields": fields
+"/androidenterprise:v1/key": key
+"/androidenterprise:v1/quotaUser": quota_user
+"/androidenterprise:v1/userIp": user_ip
+"/androidenterprise:v1/androidenterprise.collections.delete": delete_collection
+"/androidenterprise:v1/androidenterprise.collections.delete/collectionId": collection_id
+"/androidenterprise:v1/androidenterprise.collections.delete/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collections.get": get_collection
+"/androidenterprise:v1/androidenterprise.collections.get/collectionId": collection_id
+"/androidenterprise:v1/androidenterprise.collections.get/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collections.insert": insert_collection
+"/androidenterprise:v1/androidenterprise.collections.insert/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collections.list": list_collections
+"/androidenterprise:v1/androidenterprise.collections.list/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collections.patch": patch_collection
+"/androidenterprise:v1/androidenterprise.collections.patch/collectionId": collection_id
+"/androidenterprise:v1/androidenterprise.collections.patch/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collections.update": update_collection
+"/androidenterprise:v1/androidenterprise.collections.update/collectionId": collection_id
+"/androidenterprise:v1/androidenterprise.collections.update/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.delete/collectionId": collection_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.delete/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.delete/userId": user_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.get/collectionId": collection_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.get/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.get/userId": user_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.list/collectionId": collection_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.list/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.patch/collectionId": collection_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.patch/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.patch/userId": user_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.update/collectionId": collection_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.update/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.collectionviewers.update/userId": user_id
+"/androidenterprise:v1/androidenterprise.devices.get": get_device
+"/androidenterprise:v1/androidenterprise.devices.get/deviceId": device_id
+"/androidenterprise:v1/androidenterprise.devices.get/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.devices.get/userId": user_id
+"/androidenterprise:v1/androidenterprise.devices.getState": get_state_device
+"/androidenterprise:v1/androidenterprise.devices.getState/deviceId": device_id
+"/androidenterprise:v1/androidenterprise.devices.getState/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.devices.getState/userId": user_id
+"/androidenterprise:v1/androidenterprise.devices.list": list_devices
+"/androidenterprise:v1/androidenterprise.devices.list/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.devices.list/userId": user_id
+"/androidenterprise:v1/androidenterprise.devices.setState": set_state_device
+"/androidenterprise:v1/androidenterprise.devices.setState/deviceId": device_id
+"/androidenterprise:v1/androidenterprise.devices.setState/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.devices.setState/userId": user_id
+"/androidenterprise:v1/androidenterprise.enterprises.delete": delete_enterprise
+"/androidenterprise:v1/androidenterprise.enterprises.delete/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.enterprises.enroll": enroll_enterprise
+"/androidenterprise:v1/androidenterprise.enterprises.enroll/token": token
+"/androidenterprise:v1/androidenterprise.enterprises.get": get_enterprise
+"/androidenterprise:v1/androidenterprise.enterprises.get/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.enterprises.insert": insert_enterprise
+"/androidenterprise:v1/androidenterprise.enterprises.insert/token": token
+"/androidenterprise:v1/androidenterprise.enterprises.list": list_enterprises
+"/androidenterprise:v1/androidenterprise.enterprises.list/domain": domain
+"/androidenterprise:v1/androidenterprise.enterprises.setAccount": set_account_enterprise
+"/androidenterprise:v1/androidenterprise.enterprises.setAccount/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.enterprises.unenroll": unenroll_enterprise
+"/androidenterprise:v1/androidenterprise.enterprises.unenroll/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.entitlements.delete": delete_entitlement
+"/androidenterprise:v1/androidenterprise.entitlements.delete/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.entitlements.delete/entitlementId": entitlement_id
+"/androidenterprise:v1/androidenterprise.entitlements.delete/userId": user_id
+"/androidenterprise:v1/androidenterprise.entitlements.get": get_entitlement
+"/androidenterprise:v1/androidenterprise.entitlements.get/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.entitlements.get/entitlementId": entitlement_id
+"/androidenterprise:v1/androidenterprise.entitlements.get/userId": user_id
+"/androidenterprise:v1/androidenterprise.entitlements.list": list_entitlements
+"/androidenterprise:v1/androidenterprise.entitlements.list/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.entitlements.list/userId": user_id
+"/androidenterprise:v1/androidenterprise.entitlements.patch": patch_entitlement
+"/androidenterprise:v1/androidenterprise.entitlements.patch/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.entitlements.patch/entitlementId": entitlement_id
+"/androidenterprise:v1/androidenterprise.entitlements.patch/install": install
+"/androidenterprise:v1/androidenterprise.entitlements.patch/userId": user_id
+"/androidenterprise:v1/androidenterprise.entitlements.update": update_entitlement
+"/androidenterprise:v1/androidenterprise.entitlements.update/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.entitlements.update/entitlementId": entitlement_id
+"/androidenterprise:v1/androidenterprise.entitlements.update/install": install
+"/androidenterprise:v1/androidenterprise.entitlements.update/userId": user_id
+"/androidenterprise:v1/androidenterprise.grouplicenses.get/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.grouplicenses.get/groupLicenseId": group_license_id
+"/androidenterprise:v1/androidenterprise.grouplicenses.list/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.grouplicenseusers.list/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.grouplicenseusers.list/groupLicenseId": group_license_id
+"/androidenterprise:v1/androidenterprise.installs.delete": delete_install
+"/androidenterprise:v1/androidenterprise.installs.delete/deviceId": device_id
+"/androidenterprise:v1/androidenterprise.installs.delete/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.installs.delete/installId": install_id
+"/androidenterprise:v1/androidenterprise.installs.delete/userId": user_id
+"/androidenterprise:v1/androidenterprise.installs.get": get_install
+"/androidenterprise:v1/androidenterprise.installs.get/deviceId": device_id
+"/androidenterprise:v1/androidenterprise.installs.get/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.installs.get/installId": install_id
+"/androidenterprise:v1/androidenterprise.installs.get/userId": user_id
+"/androidenterprise:v1/androidenterprise.installs.list": list_installs
+"/androidenterprise:v1/androidenterprise.installs.list/deviceId": device_id
+"/androidenterprise:v1/androidenterprise.installs.list/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.installs.list/userId": user_id
+"/androidenterprise:v1/androidenterprise.installs.patch": patch_install
+"/androidenterprise:v1/androidenterprise.installs.patch/deviceId": device_id
+"/androidenterprise:v1/androidenterprise.installs.patch/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.installs.patch/installId": install_id
+"/androidenterprise:v1/androidenterprise.installs.patch/userId": user_id
+"/androidenterprise:v1/androidenterprise.installs.update": update_install
+"/androidenterprise:v1/androidenterprise.installs.update/deviceId": device_id
+"/androidenterprise:v1/androidenterprise.installs.update/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.installs.update/installId": install_id
+"/androidenterprise:v1/androidenterprise.installs.update/userId": user_id
+"/androidenterprise:v1/androidenterprise.permissions.get": get_permission
+"/androidenterprise:v1/androidenterprise.permissions.get/language": language
+"/androidenterprise:v1/androidenterprise.permissions.get/permissionId": permission_id
+"/androidenterprise:v1/androidenterprise.products.approve": approve_product
+"/androidenterprise:v1/androidenterprise.products.approve/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.products.approve/productId": product_id
+"/androidenterprise:v1/androidenterprise.products.generateApprovalUrl/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.products.generateApprovalUrl/languageCode": language_code
+"/androidenterprise:v1/androidenterprise.products.generateApprovalUrl/productId": product_id
+"/androidenterprise:v1/androidenterprise.products.get": get_product
+"/androidenterprise:v1/androidenterprise.products.get/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.products.get/language": language
+"/androidenterprise:v1/androidenterprise.products.get/productId": product_id
+"/androidenterprise:v1/androidenterprise.products.getAppRestrictionsSchema/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.products.getAppRestrictionsSchema/language": language
+"/androidenterprise:v1/androidenterprise.products.getAppRestrictionsSchema/productId": product_id
+"/androidenterprise:v1/androidenterprise.products.getPermissions/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.products.getPermissions/productId": product_id
+"/androidenterprise:v1/androidenterprise.products.updatePermissions/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.products.updatePermissions/productId": product_id
+"/androidenterprise:v1/androidenterprise.users.generateToken/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.users.generateToken/userId": user_id
+"/androidenterprise:v1/androidenterprise.users.get": get_user
+"/androidenterprise:v1/androidenterprise.users.get/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.users.get/userId": user_id
+"/androidenterprise:v1/androidenterprise.users.list": list_users
+"/androidenterprise:v1/androidenterprise.users.list/email": email
+"/androidenterprise:v1/androidenterprise.users.list/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.users.revokeToken/enterpriseId": enterprise_id
+"/androidenterprise:v1/androidenterprise.users.revokeToken/userId": user_id
+"/androidenterprise:v1/AppRestrictionsSchema": app_restrictions_schema
+"/androidenterprise:v1/AppRestrictionsSchema/restrictions": restrictions
+"/androidenterprise:v1/AppRestrictionsSchema/restrictions/restriction": restriction
+"/androidenterprise:v1/AppRestrictionsSchemaRestriction": app_restrictions_schema_restriction
+"/androidenterprise:v1/AppRestrictionsSchemaRestriction/defaultValue": default_value
+"/androidenterprise:v1/AppRestrictionsSchemaRestriction/description": description
+"/androidenterprise:v1/AppRestrictionsSchemaRestriction/entry": entry
+"/androidenterprise:v1/AppRestrictionsSchemaRestriction/entry/entry": entry
+"/androidenterprise:v1/AppRestrictionsSchemaRestriction/entryValue": entry_value
+"/androidenterprise:v1/AppRestrictionsSchemaRestriction/entryValue/entry_value": entry_value
+"/androidenterprise:v1/AppRestrictionsSchemaRestriction/key": key
+"/androidenterprise:v1/AppRestrictionsSchemaRestriction/restrictionType": restriction_type
+"/androidenterprise:v1/AppRestrictionsSchemaRestriction/title": title
+"/androidenterprise:v1/AppRestrictionsSchemaRestrictionRestrictionValue": app_restrictions_schema_restriction_restriction_value
+"/androidenterprise:v1/AppRestrictionsSchemaRestrictionRestrictionValue/type": type
+"/androidenterprise:v1/AppRestrictionsSchemaRestrictionRestrictionValue/valueBool": value_bool
+"/androidenterprise:v1/AppRestrictionsSchemaRestrictionRestrictionValue/valueInteger": value_integer
+"/androidenterprise:v1/AppRestrictionsSchemaRestrictionRestrictionValue/valueMultiselect": value_multiselect
+"/androidenterprise:v1/AppRestrictionsSchemaRestrictionRestrictionValue/valueMultiselect/value_multiselect": value_multiselect
+"/androidenterprise:v1/AppRestrictionsSchemaRestrictionRestrictionValue/valueString": value_string
+"/androidenterprise:v1/AppVersion": app_version
+"/androidenterprise:v1/AppVersion/versionCode": version_code
+"/androidenterprise:v1/AppVersion/versionString": version_string
+"/androidenterprise:v1/ApprovalUrlInfo": approval_url_info
+"/androidenterprise:v1/ApprovalUrlInfo/approvalUrl": approval_url
+"/androidenterprise:v1/ApprovalUrlInfo/kind": kind
+"/androidenterprise:v1/Collection": collection
+"/androidenterprise:v1/Collection/collectionId": collection_id
+"/androidenterprise:v1/Collection/kind": kind
+"/androidenterprise:v1/Collection/name": name
+"/androidenterprise:v1/Collection/productId": product_id
+"/androidenterprise:v1/Collection/productId/product_id": product_id
+"/androidenterprise:v1/Collection/visibility": visibility
+"/androidenterprise:v1/CollectionViewersListResponse/kind": kind
+"/androidenterprise:v1/CollectionViewersListResponse/user": user
+"/androidenterprise:v1/CollectionViewersListResponse/user/user": user
+"/androidenterprise:v1/CollectionsListResponse/collection": collection
+"/androidenterprise:v1/CollectionsListResponse/collection/collection": collection
+"/androidenterprise:v1/CollectionsListResponse/kind": kind
+"/androidenterprise:v1/Device": device
+"/androidenterprise:v1/Device/androidId": android_id
+"/androidenterprise:v1/Device/kind": kind
+"/androidenterprise:v1/Device/managementType": management_type
+"/androidenterprise:v1/DeviceState": device_state
+"/androidenterprise:v1/DeviceState/accountState": account_state
+"/androidenterprise:v1/DeviceState/kind": kind
+"/androidenterprise:v1/DevicesListResponse/device": device
+"/androidenterprise:v1/DevicesListResponse/device/device": device
+"/androidenterprise:v1/DevicesListResponse/kind": kind
+"/androidenterprise:v1/Enterprise": enterprise
+"/androidenterprise:v1/Enterprise/id": id
+"/androidenterprise:v1/Enterprise/kind": kind
+"/androidenterprise:v1/Enterprise/name": name
+"/androidenterprise:v1/Enterprise/primaryDomain": primary_domain
+"/androidenterprise:v1/EnterpriseAccount": enterprise_account
+"/androidenterprise:v1/EnterpriseAccount/accountEmail": account_email
+"/androidenterprise:v1/EnterpriseAccount/kind": kind
+"/androidenterprise:v1/EnterprisesListResponse/enterprise": enterprise
+"/androidenterprise:v1/EnterprisesListResponse/enterprise/enterprise": enterprise
+"/androidenterprise:v1/EnterprisesListResponse/kind": kind
+"/androidenterprise:v1/Entitlement": entitlement
+"/androidenterprise:v1/Entitlement/kind": kind
+"/androidenterprise:v1/Entitlement/productId": product_id
+"/androidenterprise:v1/Entitlement/reason": reason
+"/androidenterprise:v1/EntitlementsListResponse/entitlement": entitlement
+"/androidenterprise:v1/EntitlementsListResponse/entitlement/entitlement": entitlement
+"/androidenterprise:v1/EntitlementsListResponse/kind": kind
+"/androidenterprise:v1/GroupLicense": group_license
+"/androidenterprise:v1/GroupLicense/acquisitionKind": acquisition_kind
+"/androidenterprise:v1/GroupLicense/approval": approval
+"/androidenterprise:v1/GroupLicense/kind": kind
+"/androidenterprise:v1/GroupLicense/numProvisioned": num_provisioned
+"/androidenterprise:v1/GroupLicense/numPurchased": num_purchased
+"/androidenterprise:v1/GroupLicense/productId": product_id
+"/androidenterprise:v1/GroupLicenseUsersListResponse/kind": kind
+"/androidenterprise:v1/GroupLicenseUsersListResponse/user": user
+"/androidenterprise:v1/GroupLicenseUsersListResponse/user/user": user
+"/androidenterprise:v1/GroupLicensesListResponse/groupLicense": group_license
+"/androidenterprise:v1/GroupLicensesListResponse/groupLicense/group_license": group_license
+"/androidenterprise:v1/GroupLicensesListResponse/kind": kind
+"/androidenterprise:v1/Install": install
+"/androidenterprise:v1/Install/installState": install_state
+"/androidenterprise:v1/Install/kind": kind
+"/androidenterprise:v1/Install/productId": product_id
+"/androidenterprise:v1/Install/versionCode": version_code
+"/androidenterprise:v1/InstallsListResponse/install": install
+"/androidenterprise:v1/InstallsListResponse/install/install": install
+"/androidenterprise:v1/InstallsListResponse/kind": kind
+"/androidenterprise:v1/Permission": permission
+"/androidenterprise:v1/Permission/description": description
+"/androidenterprise:v1/Permission/kind": kind
+"/androidenterprise:v1/Permission/name": name
+"/androidenterprise:v1/Permission/permissionId": permission_id
+"/androidenterprise:v1/Product": product
+"/androidenterprise:v1/Product/appVersion": app_version
+"/androidenterprise:v1/Product/appVersion/app_version": app_version
+"/androidenterprise:v1/Product/authorName": author_name
+"/androidenterprise:v1/Product/detailsUrl": details_url
+"/androidenterprise:v1/Product/distributionChannel": distribution_channel
+"/androidenterprise:v1/Product/iconUrl": icon_url
+"/androidenterprise:v1/Product/kind": kind
+"/androidenterprise:v1/Product/productId": product_id
+"/androidenterprise:v1/Product/requiresContainerApp": requires_container_app
+"/androidenterprise:v1/Product/title": title
+"/androidenterprise:v1/Product/workDetailsUrl": work_details_url
+"/androidenterprise:v1/ProductPermission": product_permission
+"/androidenterprise:v1/ProductPermission/permissionId": permission_id
+"/androidenterprise:v1/ProductPermission/state": state
+"/androidenterprise:v1/ProductPermissions": product_permissions
+"/androidenterprise:v1/ProductPermissions/kind": kind
+"/androidenterprise:v1/ProductPermissions/permission": permission
+"/androidenterprise:v1/ProductPermissions/permission/permission": permission
+"/androidenterprise:v1/ProductPermissions/productId": product_id
+"/androidenterprise:v1/ProductsApproveRequest/approvalUrlInfo": approval_url_info
+"/androidenterprise:v1/ProductsGenerateApprovalUrlResponse/url": url
+"/androidenterprise:v1/User": user
+"/androidenterprise:v1/User/id": id
+"/androidenterprise:v1/User/kind": kind
+"/androidenterprise:v1/User/primaryEmail": primary_email
+"/androidenterprise:v1/UserToken": user_token
+"/androidenterprise:v1/UserToken/kind": kind
+"/androidenterprise:v1/UserToken/token": token
+"/androidenterprise:v1/UserToken/userId": user_id
+"/androidenterprise:v1/UsersListResponse/kind": kind
+"/androidenterprise:v1/UsersListResponse/user": user
+"/androidenterprise:v1/UsersListResponse/user/user": user
+"/androidpublisher:v2/fields": fields
+"/androidpublisher:v2/key": key
+"/androidpublisher:v2/quotaUser": quota_user
+"/androidpublisher:v2/userIp": user_ip
+"/androidpublisher:v2/androidpublisher.edits.commit": commit_edit
+"/androidpublisher:v2/androidpublisher.edits.commit/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.commit/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.delete": delete_edit
+"/androidpublisher:v2/androidpublisher.edits.delete/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.delete/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.get": get_edit
+"/androidpublisher:v2/androidpublisher.edits.get/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.get/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.insert": insert_edit
+"/androidpublisher:v2/androidpublisher.edits.insert/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.validate": validate_edit
+"/androidpublisher:v2/androidpublisher.edits.validate/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.validate/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.apklistings.delete/apkVersionCode": apk_version_code
+"/androidpublisher:v2/androidpublisher.edits.apklistings.delete/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.apklistings.delete/language": language
+"/androidpublisher:v2/androidpublisher.edits.apklistings.delete/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.apklistings.deleteall/apkVersionCode": apk_version_code
+"/androidpublisher:v2/androidpublisher.edits.apklistings.deleteall/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.apklistings.deleteall/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.apklistings.get/apkVersionCode": apk_version_code
+"/androidpublisher:v2/androidpublisher.edits.apklistings.get/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.apklistings.get/language": language
+"/androidpublisher:v2/androidpublisher.edits.apklistings.get/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.apklistings.list/apkVersionCode": apk_version_code
+"/androidpublisher:v2/androidpublisher.edits.apklistings.list/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.apklistings.list/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.apklistings.patch/apkVersionCode": apk_version_code
+"/androidpublisher:v2/androidpublisher.edits.apklistings.patch/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.apklistings.patch/language": language
+"/androidpublisher:v2/androidpublisher.edits.apklistings.patch/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.apklistings.update/apkVersionCode": apk_version_code
+"/androidpublisher:v2/androidpublisher.edits.apklistings.update/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.apklistings.update/language": language
+"/androidpublisher:v2/androidpublisher.edits.apklistings.update/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.apks.addexternallyhosted/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.apks.addexternallyhosted/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.apks.list/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.apks.list/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.apks.upload/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.apks.upload/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.details.get/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.details.get/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.details.patch/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.details.patch/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.details.update/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.details.update/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.get/apkVersionCode": apk_version_code
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.get/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.get/expansionFileType": expansion_file_type
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.get/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.patch/apkVersionCode": apk_version_code
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.patch/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.patch/expansionFileType": expansion_file_type
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.patch/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.update/apkVersionCode": apk_version_code
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.update/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.update/expansionFileType": expansion_file_type
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.update/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.upload/apkVersionCode": apk_version_code
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.upload/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.upload/expansionFileType": expansion_file_type
+"/androidpublisher:v2/androidpublisher.edits.expansionfiles.upload/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.images.delete/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.images.delete/imageId": image_id
+"/androidpublisher:v2/androidpublisher.edits.images.delete/imageType": image_type
+"/androidpublisher:v2/androidpublisher.edits.images.delete/language": language
+"/androidpublisher:v2/androidpublisher.edits.images.delete/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.images.deleteall/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.images.deleteall/imageType": image_type
+"/androidpublisher:v2/androidpublisher.edits.images.deleteall/language": language
+"/androidpublisher:v2/androidpublisher.edits.images.deleteall/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.images.list/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.images.list/imageType": image_type
+"/androidpublisher:v2/androidpublisher.edits.images.list/language": language
+"/androidpublisher:v2/androidpublisher.edits.images.list/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.images.upload/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.images.upload/imageType": image_type
+"/androidpublisher:v2/androidpublisher.edits.images.upload/language": language
+"/androidpublisher:v2/androidpublisher.edits.images.upload/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.listings.delete/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.listings.delete/language": language
+"/androidpublisher:v2/androidpublisher.edits.listings.delete/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.listings.deleteall/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.listings.deleteall/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.listings.get/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.listings.get/language": language
+"/androidpublisher:v2/androidpublisher.edits.listings.get/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.listings.list/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.listings.list/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.listings.patch/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.listings.patch/language": language
+"/androidpublisher:v2/androidpublisher.edits.listings.patch/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.listings.update/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.listings.update/language": language
+"/androidpublisher:v2/androidpublisher.edits.listings.update/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.testers.get/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.testers.get/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.testers.get/track": track
+"/androidpublisher:v2/androidpublisher.edits.testers.patch/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.testers.patch/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.testers.patch/track": track
+"/androidpublisher:v2/androidpublisher.edits.testers.update/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.testers.update/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.testers.update/track": track
+"/androidpublisher:v2/androidpublisher.edits.tracks.get/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.tracks.get/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.tracks.get/track": track
+"/androidpublisher:v2/androidpublisher.edits.tracks.list/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.tracks.list/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.tracks.patch/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.tracks.patch/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.tracks.patch/track": track
+"/androidpublisher:v2/androidpublisher.edits.tracks.update/editId": edit_id
+"/androidpublisher:v2/androidpublisher.edits.tracks.update/packageName": package_name
+"/androidpublisher:v2/androidpublisher.edits.tracks.update/track": track
+"/androidpublisher:v2/androidpublisher.entitlements.list/maxResults": max_results
+"/androidpublisher:v2/androidpublisher.entitlements.list/packageName": package_name
+"/androidpublisher:v2/androidpublisher.entitlements.list/productId": product_id
+"/androidpublisher:v2/androidpublisher.entitlements.list/startIndex": start_index
+"/androidpublisher:v2/androidpublisher.entitlements.list/token": token
+"/androidpublisher:v2/androidpublisher.inappproducts.delete/packageName": package_name
+"/androidpublisher:v2/androidpublisher.inappproducts.delete/sku": sku
+"/androidpublisher:v2/androidpublisher.inappproducts.get/packageName": package_name
+"/androidpublisher:v2/androidpublisher.inappproducts.get/sku": sku
+"/androidpublisher:v2/androidpublisher.inappproducts.insert/autoConvertMissingPrices": auto_convert_missing_prices
+"/androidpublisher:v2/androidpublisher.inappproducts.insert/packageName": package_name
+"/androidpublisher:v2/androidpublisher.inappproducts.list/maxResults": max_results
+"/androidpublisher:v2/androidpublisher.inappproducts.list/packageName": package_name
+"/androidpublisher:v2/androidpublisher.inappproducts.list/startIndex": start_index
+"/androidpublisher:v2/androidpublisher.inappproducts.list/token": token
+"/androidpublisher:v2/androidpublisher.inappproducts.patch/autoConvertMissingPrices": auto_convert_missing_prices
+"/androidpublisher:v2/androidpublisher.inappproducts.patch/packageName": package_name
+"/androidpublisher:v2/androidpublisher.inappproducts.patch/sku": sku
+"/androidpublisher:v2/androidpublisher.inappproducts.update/autoConvertMissingPrices": auto_convert_missing_prices
+"/androidpublisher:v2/androidpublisher.inappproducts.update/packageName": package_name
+"/androidpublisher:v2/androidpublisher.inappproducts.update/sku": sku
+"/androidpublisher:v2/androidpublisher.purchases.products.get/packageName": package_name
+"/androidpublisher:v2/androidpublisher.purchases.products.get/productId": product_id
+"/androidpublisher:v2/androidpublisher.purchases.products.get/token": token
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.cancel/packageName": package_name
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.cancel/subscriptionId": subscription_id
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.cancel/token": token
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.defer/packageName": package_name
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.defer/subscriptionId": subscription_id
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.defer/token": token
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.get/packageName": package_name
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.get/subscriptionId": subscription_id
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.get/token": token
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.refund/packageName": package_name
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.refund/subscriptionId": subscription_id
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.refund/token": token
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.revoke/packageName": package_name
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.revoke/subscriptionId": subscription_id
+"/androidpublisher:v2/androidpublisher.purchases.subscriptions.revoke/token": token
+"/androidpublisher:v2/Apk": apk
+"/androidpublisher:v2/Apk/binary": binary
+"/androidpublisher:v2/Apk/versionCode": version_code
+"/androidpublisher:v2/ApkBinary": apk_binary
+"/androidpublisher:v2/ApkBinary/sha1": sha1
+"/androidpublisher:v2/ApkListing": apk_listing
+"/androidpublisher:v2/ApkListing/language": language
+"/androidpublisher:v2/ApkListing/recentChanges": recent_changes
+"/androidpublisher:v2/ApkListingsListResponse/kind": kind
+"/androidpublisher:v2/ApkListingsListResponse/listings": listings
+"/androidpublisher:v2/ApkListingsListResponse/listings/listing": listing
+"/androidpublisher:v2/ApksAddExternallyHostedRequest/externallyHostedApk": externally_hosted_apk
+"/androidpublisher:v2/ApksAddExternallyHostedResponse/externallyHostedApk": externally_hosted_apk
+"/androidpublisher:v2/ApksListResponse/apks": apks
+"/androidpublisher:v2/ApksListResponse/apks/apk": apk
+"/androidpublisher:v2/ApksListResponse/kind": kind
+"/androidpublisher:v2/AppDetails": app_details
+"/androidpublisher:v2/AppDetails/contactEmail": contact_email
+"/androidpublisher:v2/AppDetails/contactPhone": contact_phone
+"/androidpublisher:v2/AppDetails/contactWebsite": contact_website
+"/androidpublisher:v2/AppDetails/defaultLanguage": default_language
+"/androidpublisher:v2/AppEdit": app_edit
+"/androidpublisher:v2/AppEdit/expiryTimeSeconds": expiry_time_seconds
+"/androidpublisher:v2/AppEdit/id": id
+"/androidpublisher:v2/Entitlement": entitlement
+"/androidpublisher:v2/Entitlement/kind": kind
+"/androidpublisher:v2/Entitlement/productId": product_id
+"/androidpublisher:v2/Entitlement/productType": product_type
+"/androidpublisher:v2/Entitlement/token": token
+"/androidpublisher:v2/EntitlementsListResponse/pageInfo": page_info
+"/androidpublisher:v2/EntitlementsListResponse/resources": resources
+"/androidpublisher:v2/EntitlementsListResponse/resources/resource": resource
+"/androidpublisher:v2/EntitlementsListResponse/tokenPagination": token_pagination
+"/androidpublisher:v2/ExpansionFile": expansion_file
+"/androidpublisher:v2/ExpansionFile/fileSize": file_size
+"/androidpublisher:v2/ExpansionFile/referencesVersion": references_version
+"/androidpublisher:v2/ExpansionFilesUploadResponse/expansionFile": expansion_file
+"/androidpublisher:v2/ExternallyHostedApk": externally_hosted_apk
+"/androidpublisher:v2/ExternallyHostedApk/applicationLabel": application_label
+"/androidpublisher:v2/ExternallyHostedApk/certificateBase64s": certificate_base64s
+"/androidpublisher:v2/ExternallyHostedApk/certificateBase64s/certificate_base64": certificate_base64
+"/androidpublisher:v2/ExternallyHostedApk/externallyHostedUrl": externally_hosted_url
+"/androidpublisher:v2/ExternallyHostedApk/fileSha1Base64": file_sha1_base64
+"/androidpublisher:v2/ExternallyHostedApk/fileSha256Base64": file_sha256_base64
+"/androidpublisher:v2/ExternallyHostedApk/fileSize": file_size
+"/androidpublisher:v2/ExternallyHostedApk/iconBase64": icon_base64
+"/androidpublisher:v2/ExternallyHostedApk/maximumSdk": maximum_sdk
+"/androidpublisher:v2/ExternallyHostedApk/minimumSdk": minimum_sdk
+"/androidpublisher:v2/ExternallyHostedApk/nativeCodes": native_codes
+"/androidpublisher:v2/ExternallyHostedApk/nativeCodes/native_code": native_code
+"/androidpublisher:v2/ExternallyHostedApk/packageName": package_name
+"/androidpublisher:v2/ExternallyHostedApk/usesFeatures": uses_features
+"/androidpublisher:v2/ExternallyHostedApk/usesFeatures/uses_feature": uses_feature
+"/androidpublisher:v2/ExternallyHostedApk/usesPermissions": uses_permissions
+"/androidpublisher:v2/ExternallyHostedApk/usesPermissions/uses_permission": uses_permission
+"/androidpublisher:v2/ExternallyHostedApk/versionCode": version_code
+"/androidpublisher:v2/ExternallyHostedApk/versionName": version_name
+"/androidpublisher:v2/ExternallyHostedApkUsesPermission": externally_hosted_apk_uses_permission
+"/androidpublisher:v2/ExternallyHostedApkUsesPermission/maxSdkVersion": max_sdk_version
+"/androidpublisher:v2/ExternallyHostedApkUsesPermission/name": name
+"/androidpublisher:v2/Image": image
+"/androidpublisher:v2/Image/id": id
+"/androidpublisher:v2/Image/sha1": sha1
+"/androidpublisher:v2/Image/url": url
+"/androidpublisher:v2/ImagesDeleteAllResponse/deleted": deleted
+"/androidpublisher:v2/ImagesDeleteAllResponse/deleted/deleted": deleted
+"/androidpublisher:v2/ImagesListResponse/images": images
+"/androidpublisher:v2/ImagesListResponse/images/image": image
+"/androidpublisher:v2/ImagesUploadResponse/image": image
+"/androidpublisher:v2/InAppProduct": in_app_product
+"/androidpublisher:v2/InAppProduct/defaultLanguage": default_language
+"/androidpublisher:v2/InAppProduct/defaultPrice": default_price
+"/androidpublisher:v2/InAppProduct/listings": listings
+"/androidpublisher:v2/InAppProduct/listings/listing": listing
+"/androidpublisher:v2/InAppProduct/packageName": package_name
+"/androidpublisher:v2/InAppProduct/prices": prices
+"/androidpublisher:v2/InAppProduct/prices/price": price
+"/androidpublisher:v2/InAppProduct/purchaseType": purchase_type
+"/androidpublisher:v2/InAppProduct/season": season
+"/androidpublisher:v2/InAppProduct/sku": sku
+"/androidpublisher:v2/InAppProduct/status": status
+"/androidpublisher:v2/InAppProduct/subscriptionPeriod": subscription_period
+"/androidpublisher:v2/InAppProduct/trialPeriod": trial_period
+"/androidpublisher:v2/InAppProductListing": in_app_product_listing
+"/androidpublisher:v2/InAppProductListing/description": description
+"/androidpublisher:v2/InAppProductListing/title": title
+"/androidpublisher:v2/InappproductsBatchRequest/entrys": entrys
+"/androidpublisher:v2/InappproductsBatchRequest/entrys/entry": entry
+"/androidpublisher:v2/InappproductsBatchRequestEntry/batchId": batch_id
+"/androidpublisher:v2/InappproductsBatchRequestEntry/inappproductsinsertrequest": inappproductsinsertrequest
+"/androidpublisher:v2/InappproductsBatchRequestEntry/inappproductsupdaterequest": inappproductsupdaterequest
+"/androidpublisher:v2/InappproductsBatchRequestEntry/methodName": method_name
+"/androidpublisher:v2/InappproductsBatchResponse/entrys": entrys
+"/androidpublisher:v2/InappproductsBatchResponse/entrys/entry": entry
+"/androidpublisher:v2/InappproductsBatchResponse/kind": kind
+"/androidpublisher:v2/InappproductsBatchResponseEntry/batchId": batch_id
+"/androidpublisher:v2/InappproductsBatchResponseEntry/inappproductsinsertresponse": inappproductsinsertresponse
+"/androidpublisher:v2/InappproductsBatchResponseEntry/inappproductsupdateresponse": inappproductsupdateresponse
+"/androidpublisher:v2/InappproductsInsertRequest/inappproduct": inappproduct
+"/androidpublisher:v2/InappproductsInsertResponse/inappproduct": inappproduct
+"/androidpublisher:v2/InappproductsListResponse/inappproduct": inappproduct
+"/androidpublisher:v2/InappproductsListResponse/inappproduct/inappproduct": inappproduct
+"/androidpublisher:v2/InappproductsListResponse/kind": kind
+"/androidpublisher:v2/InappproductsListResponse/pageInfo": page_info
+"/androidpublisher:v2/InappproductsListResponse/tokenPagination": token_pagination
+"/androidpublisher:v2/InappproductsUpdateRequest/inappproduct": inappproduct
+"/androidpublisher:v2/InappproductsUpdateResponse/inappproduct": inappproduct
+"/androidpublisher:v2/Listing": listing
+"/androidpublisher:v2/Listing/fullDescription": full_description
+"/androidpublisher:v2/Listing/language": language
+"/androidpublisher:v2/Listing/shortDescription": short_description
+"/androidpublisher:v2/Listing/title": title
+"/androidpublisher:v2/Listing/video": video
+"/androidpublisher:v2/ListingsListResponse/kind": kind
+"/androidpublisher:v2/ListingsListResponse/listings": listings
+"/androidpublisher:v2/ListingsListResponse/listings/listing": listing
+"/androidpublisher:v2/MonthDay": month_day
+"/androidpublisher:v2/MonthDay/day": day
+"/androidpublisher:v2/MonthDay/month": month
+"/androidpublisher:v2/PageInfo": page_info
+"/androidpublisher:v2/PageInfo/resultPerPage": result_per_page
+"/androidpublisher:v2/PageInfo/startIndex": start_index
+"/androidpublisher:v2/PageInfo/totalResults": total_results
+"/androidpublisher:v2/Price": price
+"/androidpublisher:v2/Price/currency": currency
+"/androidpublisher:v2/Price/priceMicros": price_micros
+"/androidpublisher:v2/ProductPurchase": product_purchase
+"/androidpublisher:v2/ProductPurchase/consumptionState": consumption_state
+"/androidpublisher:v2/ProductPurchase/developerPayload": developer_payload
+"/androidpublisher:v2/ProductPurchase/kind": kind
+"/androidpublisher:v2/ProductPurchase/purchaseState": purchase_state
+"/androidpublisher:v2/ProductPurchase/purchaseTimeMillis": purchase_time_millis
+"/androidpublisher:v2/Season": season
+"/androidpublisher:v2/Season/end": end
+"/androidpublisher:v2/Season/start": start
+"/androidpublisher:v2/SubscriptionDeferralInfo": subscription_deferral_info
+"/androidpublisher:v2/SubscriptionDeferralInfo/desiredExpiryTimeMillis": desired_expiry_time_millis
+"/androidpublisher:v2/SubscriptionDeferralInfo/expectedExpiryTimeMillis": expected_expiry_time_millis
+"/androidpublisher:v2/SubscriptionPurchase": subscription_purchase
+"/androidpublisher:v2/SubscriptionPurchase/autoRenewing": auto_renewing
+"/androidpublisher:v2/SubscriptionPurchase/expiryTimeMillis": expiry_time_millis
+"/androidpublisher:v2/SubscriptionPurchase/kind": kind
+"/androidpublisher:v2/SubscriptionPurchase/startTimeMillis": start_time_millis
+"/androidpublisher:v2/SubscriptionPurchasesDeferRequest/deferralInfo": deferral_info
+"/androidpublisher:v2/SubscriptionPurchasesDeferResponse/newExpiryTimeMillis": new_expiry_time_millis
+"/androidpublisher:v2/Testers": testers
+"/androidpublisher:v2/Testers/googleGroups": google_groups
+"/androidpublisher:v2/Testers/googleGroups/google_group": google_group
+"/androidpublisher:v2/Testers/googlePlusCommunities": google_plus_communities
+"/androidpublisher:v2/Testers/googlePlusCommunities/google_plus_community": google_plus_community
+"/androidpublisher:v2/TokenPagination": token_pagination
+"/androidpublisher:v2/TokenPagination/nextPageToken": next_page_token
+"/androidpublisher:v2/TokenPagination/previousPageToken": previous_page_token
+"/androidpublisher:v2/Track": track
+"/androidpublisher:v2/Track/track": track
+"/androidpublisher:v2/Track/userFraction": user_fraction
+"/androidpublisher:v2/Track/versionCodes": version_codes
+"/androidpublisher:v2/Track/versionCodes/version_code": version_code
+"/androidpublisher:v2/TracksListResponse/kind": kind
+"/androidpublisher:v2/TracksListResponse/tracks": tracks
+"/androidpublisher:v2/TracksListResponse/tracks/track": track
+"/appsactivity:v1/fields": fields
+"/appsactivity:v1/key": key
+"/appsactivity:v1/quotaUser": quota_user
+"/appsactivity:v1/userIp": user_ip
+"/appsactivity:v1/appsactivity.activities.list": list_activities
+"/appsactivity:v1/appsactivity.activities.list/drive.ancestorId": drive_ancestor_id
+"/appsactivity:v1/appsactivity.activities.list/drive.fileId": drive_file_id
+"/appsactivity:v1/appsactivity.activities.list/groupingStrategy": grouping_strategy
+"/appsactivity:v1/appsactivity.activities.list/pageSize": page_size
+"/appsactivity:v1/appsactivity.activities.list/pageToken": page_token
+"/appsactivity:v1/appsactivity.activities.list/source": source
+"/appsactivity:v1/appsactivity.activities.list/userId": user_id
+"/appsactivity:v1/Activity": activity
+"/appsactivity:v1/Activity/combinedEvent": combined_event
+"/appsactivity:v1/Activity/singleEvents": single_events
+"/appsactivity:v1/Activity/singleEvents/single_event": single_event
+"/appsactivity:v1/Event": event
+"/appsactivity:v1/Event/additionalEventTypes": additional_event_types
+"/appsactivity:v1/Event/additionalEventTypes/additional_event_type": additional_event_type
+"/appsactivity:v1/Event/eventTimeMillis": event_time_millis
+"/appsactivity:v1/Event/fromUserDeletion": from_user_deletion
+"/appsactivity:v1/Event/move": move
+"/appsactivity:v1/Event/permissionChanges": permission_changes
+"/appsactivity:v1/Event/permissionChanges/permission_change": permission_change
+"/appsactivity:v1/Event/primaryEventType": primary_event_type
+"/appsactivity:v1/Event/rename": rename
+"/appsactivity:v1/Event/target": target
+"/appsactivity:v1/Event/user": user
+"/appsactivity:v1/ListActivitiesResponse": list_activities_response
+"/appsactivity:v1/ListActivitiesResponse/activities": activities
+"/appsactivity:v1/ListActivitiesResponse/activities/activity": activity
+"/appsactivity:v1/ListActivitiesResponse/nextPageToken": next_page_token
+"/appsactivity:v1/Move": move
+"/appsactivity:v1/Move/addedParents": added_parents
+"/appsactivity:v1/Move/addedParents/added_parent": added_parent
+"/appsactivity:v1/Move/removedParents": removed_parents
+"/appsactivity:v1/Move/removedParents/removed_parent": removed_parent
+"/appsactivity:v1/Parent": parent
+"/appsactivity:v1/Parent/id": id
+"/appsactivity:v1/Parent/isRoot": is_root
+"/appsactivity:v1/Parent/title": title
+"/appsactivity:v1/Permission": permission
+"/appsactivity:v1/Permission/name": name
+"/appsactivity:v1/Permission/permissionId": permission_id
+"/appsactivity:v1/Permission/role": role
+"/appsactivity:v1/Permission/type": type
+"/appsactivity:v1/Permission/user": user
+"/appsactivity:v1/Permission/withLink": with_link
+"/appsactivity:v1/PermissionChange": permission_change
+"/appsactivity:v1/PermissionChange/addedPermissions": added_permissions
+"/appsactivity:v1/PermissionChange/addedPermissions/added_permission": added_permission
+"/appsactivity:v1/PermissionChange/removedPermissions": removed_permissions
+"/appsactivity:v1/PermissionChange/removedPermissions/removed_permission": removed_permission
+"/appsactivity:v1/Photo": photo
+"/appsactivity:v1/Photo/url": url
+"/appsactivity:v1/Rename": rename
+"/appsactivity:v1/Rename/newTitle": new_title
+"/appsactivity:v1/Rename/oldTitle": old_title
+"/appsactivity:v1/Target": target
+"/appsactivity:v1/Target/id": id
+"/appsactivity:v1/Target/mimeType": mime_type
+"/appsactivity:v1/Target/name": name
+"/appsactivity:v1/User": user
+"/appsactivity:v1/User/name": name
+"/appsactivity:v1/User/photo": photo
+"/appstate:v1/fields": fields
+"/appstate:v1/key": key
+"/appstate:v1/quotaUser": quota_user
+"/appstate:v1/userIp": user_ip
+"/appstate:v1/appstate.states.clear": clear_state
+"/appstate:v1/appstate.states.clear/currentDataVersion": current_data_version
+"/appstate:v1/appstate.states.clear/stateKey": state_key
+"/appstate:v1/appstate.states.delete": delete_state
+"/appstate:v1/appstate.states.delete/stateKey": state_key
+"/appstate:v1/appstate.states.get": get_state
+"/appstate:v1/appstate.states.get/stateKey": state_key
+"/appstate:v1/appstate.states.list": list_states
+"/appstate:v1/appstate.states.list/includeData": include_data
+"/appstate:v1/appstate.states.update": update
+"/appstate:v1/appstate.states.update/currentStateVersion": current_state_version
+"/appstate:v1/appstate.states.update/stateKey": state_key
+"/appstate:v1/GetResponse": get_response
+"/appstate:v1/GetResponse/currentStateVersion": current_state_version
+"/appstate:v1/GetResponse/data": data
+"/appstate:v1/GetResponse/kind": kind
+"/appstate:v1/GetResponse/stateKey": state_key
+"/appstate:v1/ListResponse": list_response
+"/appstate:v1/ListResponse/items": items
+"/appstate:v1/ListResponse/items/item": item
+"/appstate:v1/ListResponse/kind": kind
+"/appstate:v1/ListResponse/maximumKeyCount": maximum_key_count
+"/appstate:v1/UpdateRequest": update_request
+"/appstate:v1/UpdateRequest/data": data
+"/appstate:v1/UpdateRequest/kind": kind
+"/appstate:v1/WriteResult": write_result
+"/appstate:v1/WriteResult/currentStateVersion": current_state_version
+"/appstate:v1/WriteResult/kind": kind
+"/appstate:v1/WriteResult/stateKey": state_key
+"/autoscaler:v1beta2/fields": fields
+"/autoscaler:v1beta2/key": key
+"/autoscaler:v1beta2/quotaUser": quota_user
+"/autoscaler:v1beta2/userIp": user_ip
+"/autoscaler:v1beta2/autoscaler.autoscalers.delete": delete_autoscaler
+"/autoscaler:v1beta2/autoscaler.autoscalers.delete/autoscaler": autoscaler
+"/autoscaler:v1beta2/autoscaler.autoscalers.delete/project": project
+"/autoscaler:v1beta2/autoscaler.autoscalers.delete/zone": zone
+"/autoscaler:v1beta2/autoscaler.autoscalers.get": get_autoscaler
+"/autoscaler:v1beta2/autoscaler.autoscalers.get/autoscaler": autoscaler
+"/autoscaler:v1beta2/autoscaler.autoscalers.get/project": project
+"/autoscaler:v1beta2/autoscaler.autoscalers.get/zone": zone
+"/autoscaler:v1beta2/autoscaler.autoscalers.insert": insert_autoscaler
+"/autoscaler:v1beta2/autoscaler.autoscalers.insert/project": project
+"/autoscaler:v1beta2/autoscaler.autoscalers.insert/zone": zone
+"/autoscaler:v1beta2/autoscaler.autoscalers.list": list_autoscalers
+"/autoscaler:v1beta2/autoscaler.autoscalers.list/filter": filter
+"/autoscaler:v1beta2/autoscaler.autoscalers.list/maxResults": max_results
+"/autoscaler:v1beta2/autoscaler.autoscalers.list/pageToken": page_token
+"/autoscaler:v1beta2/autoscaler.autoscalers.list/project": project
+"/autoscaler:v1beta2/autoscaler.autoscalers.list/zone": zone
+"/autoscaler:v1beta2/autoscaler.autoscalers.patch": patch_autoscaler
+"/autoscaler:v1beta2/autoscaler.autoscalers.patch/autoscaler": autoscaler
+"/autoscaler:v1beta2/autoscaler.autoscalers.patch/project": project
+"/autoscaler:v1beta2/autoscaler.autoscalers.patch/zone": zone
+"/autoscaler:v1beta2/autoscaler.autoscalers.update": update_autoscaler
+"/autoscaler:v1beta2/autoscaler.autoscalers.update/autoscaler": autoscaler
+"/autoscaler:v1beta2/autoscaler.autoscalers.update/project": project
+"/autoscaler:v1beta2/autoscaler.autoscalers.update/zone": zone
+"/autoscaler:v1beta2/autoscaler.zoneOperations.delete": delete_zone_operation
+"/autoscaler:v1beta2/autoscaler.zoneOperations.delete/operation": operation
+"/autoscaler:v1beta2/autoscaler.zoneOperations.delete/project": project
+"/autoscaler:v1beta2/autoscaler.zoneOperations.delete/zone": zone
+"/autoscaler:v1beta2/autoscaler.zoneOperations.get": get_zone_operation
+"/autoscaler:v1beta2/autoscaler.zoneOperations.get/operation": operation
+"/autoscaler:v1beta2/autoscaler.zoneOperations.get/project": project
+"/autoscaler:v1beta2/autoscaler.zoneOperations.get/zone": zone
+"/autoscaler:v1beta2/autoscaler.zoneOperations.list": list_zone_operations
+"/autoscaler:v1beta2/autoscaler.zoneOperations.list/filter": filter
+"/autoscaler:v1beta2/autoscaler.zoneOperations.list/maxResults": max_results
+"/autoscaler:v1beta2/autoscaler.zoneOperations.list/pageToken": page_token
+"/autoscaler:v1beta2/autoscaler.zoneOperations.list/project": project
+"/autoscaler:v1beta2/autoscaler.zoneOperations.list/zone": zone
+"/autoscaler:v1beta2/autoscaler.zones.list": list_zones
+"/autoscaler:v1beta2/autoscaler.zones.list/filter": filter
+"/autoscaler:v1beta2/autoscaler.zones.list/maxResults": max_results
+"/autoscaler:v1beta2/autoscaler.zones.list/pageToken": page_token
+"/autoscaler:v1beta2/autoscaler.zones.list/project": project
+"/autoscaler:v1beta2/Autoscaler": autoscaler
+"/autoscaler:v1beta2/Autoscaler/autoscalingPolicy": autoscaling_policy
+"/autoscaler:v1beta2/Autoscaler/creationTimestamp": creation_timestamp
+"/autoscaler:v1beta2/Autoscaler/description": description
+"/autoscaler:v1beta2/Autoscaler/id": id
+"/autoscaler:v1beta2/Autoscaler/kind": kind
+"/autoscaler:v1beta2/Autoscaler/name": name
+"/autoscaler:v1beta2/Autoscaler/selfLink": self_link
+"/autoscaler:v1beta2/Autoscaler/target": target
+"/autoscaler:v1beta2/AutoscalerListResponse/items": items
+"/autoscaler:v1beta2/AutoscalerListResponse/items/item": item
+"/autoscaler:v1beta2/AutoscalerListResponse/kind": kind
+"/autoscaler:v1beta2/AutoscalerListResponse/nextPageToken": next_page_token
+"/autoscaler:v1beta2/AutoscalingPolicy": autoscaling_policy
+"/autoscaler:v1beta2/AutoscalingPolicy/coolDownPeriodSec": cool_down_period_sec
+"/autoscaler:v1beta2/AutoscalingPolicy/cpuUtilization": cpu_utilization
+"/autoscaler:v1beta2/AutoscalingPolicy/customMetricUtilizations": custom_metric_utilizations
+"/autoscaler:v1beta2/AutoscalingPolicy/customMetricUtilizations/custom_metric_utilization": custom_metric_utilization
+"/autoscaler:v1beta2/AutoscalingPolicy/loadBalancingUtilization": load_balancing_utilization
+"/autoscaler:v1beta2/AutoscalingPolicy/maxNumReplicas": max_num_replicas
+"/autoscaler:v1beta2/AutoscalingPolicy/minNumReplicas": min_num_replicas
+"/autoscaler:v1beta2/AutoscalingPolicyCpuUtilization": autoscaling_policy_cpu_utilization
+"/autoscaler:v1beta2/AutoscalingPolicyCpuUtilization/utilizationTarget": utilization_target
+"/autoscaler:v1beta2/AutoscalingPolicyCustomMetricUtilization": autoscaling_policy_custom_metric_utilization
+"/autoscaler:v1beta2/AutoscalingPolicyCustomMetricUtilization/metric": metric
+"/autoscaler:v1beta2/AutoscalingPolicyCustomMetricUtilization/utilizationTarget": utilization_target
+"/autoscaler:v1beta2/AutoscalingPolicyCustomMetricUtilization/utilizationTargetType": utilization_target_type
+"/autoscaler:v1beta2/AutoscalingPolicyLoadBalancingUtilization": autoscaling_policy_load_balancing_utilization
+"/autoscaler:v1beta2/AutoscalingPolicyLoadBalancingUtilization/utilizationTarget": utilization_target
+"/autoscaler:v1beta2/DeprecationStatus": deprecation_status
+"/autoscaler:v1beta2/DeprecationStatus/deleted": deleted
+"/autoscaler:v1beta2/DeprecationStatus/deprecated": deprecated
+"/autoscaler:v1beta2/DeprecationStatus/obsolete": obsolete
+"/autoscaler:v1beta2/DeprecationStatus/replacement": replacement
+"/autoscaler:v1beta2/DeprecationStatus/state": state
+"/autoscaler:v1beta2/Operation": operation
+"/autoscaler:v1beta2/Operation/clientOperationId": client_operation_id
+"/autoscaler:v1beta2/Operation/creationTimestamp": creation_timestamp
+"/autoscaler:v1beta2/Operation/endTime": end_time
+"/autoscaler:v1beta2/Operation/error": error
+"/autoscaler:v1beta2/Operation/error/errors": errors
+"/autoscaler:v1beta2/Operation/error/errors/error": error
+"/autoscaler:v1beta2/Operation/error/errors/error/code": code
+"/autoscaler:v1beta2/Operation/error/errors/error/location": location
+"/autoscaler:v1beta2/Operation/error/errors/error/message": message
+"/autoscaler:v1beta2/Operation/httpErrorMessage": http_error_message
+"/autoscaler:v1beta2/Operation/httpErrorStatusCode": http_error_status_code
+"/autoscaler:v1beta2/Operation/id": id
+"/autoscaler:v1beta2/Operation/insertTime": insert_time
+"/autoscaler:v1beta2/Operation/kind": kind
+"/autoscaler:v1beta2/Operation/name": name
+"/autoscaler:v1beta2/Operation/operationType": operation_type
+"/autoscaler:v1beta2/Operation/progress": progress
+"/autoscaler:v1beta2/Operation/region": region
+"/autoscaler:v1beta2/Operation/selfLink": self_link
+"/autoscaler:v1beta2/Operation/startTime": start_time
+"/autoscaler:v1beta2/Operation/status": status
+"/autoscaler:v1beta2/Operation/statusMessage": status_message
+"/autoscaler:v1beta2/Operation/targetId": target_id
+"/autoscaler:v1beta2/Operation/targetLink": target_link
+"/autoscaler:v1beta2/Operation/user": user
+"/autoscaler:v1beta2/Operation/warnings": warnings
+"/autoscaler:v1beta2/Operation/warnings/warning": warning
+"/autoscaler:v1beta2/Operation/warnings/warning/code": code
+"/autoscaler:v1beta2/Operation/warnings/warning/data": data
+"/autoscaler:v1beta2/Operation/warnings/warning/data/datum": datum
+"/autoscaler:v1beta2/Operation/warnings/warning/data/datum/key": key
+"/autoscaler:v1beta2/Operation/warnings/warning/data/datum/value": value
+"/autoscaler:v1beta2/Operation/warnings/warning/message": message
+"/autoscaler:v1beta2/Operation/zone": zone
+"/autoscaler:v1beta2/OperationList": operation_list
+"/autoscaler:v1beta2/OperationList/id": id
+"/autoscaler:v1beta2/OperationList/items": items
+"/autoscaler:v1beta2/OperationList/items/item": item
+"/autoscaler:v1beta2/OperationList/kind": kind
+"/autoscaler:v1beta2/OperationList/nextPageToken": next_page_token
+"/autoscaler:v1beta2/OperationList/selfLink": self_link
+"/autoscaler:v1beta2/Zone": zone
+"/autoscaler:v1beta2/Zone/creationTimestamp": creation_timestamp
+"/autoscaler:v1beta2/Zone/deprecated": deprecated
+"/autoscaler:v1beta2/Zone/description": description
+"/autoscaler:v1beta2/Zone/id": id
+"/autoscaler:v1beta2/Zone/kind": kind
+"/autoscaler:v1beta2/Zone/maintenanceWindows": maintenance_windows
+"/autoscaler:v1beta2/Zone/maintenanceWindows/maintenance_window": maintenance_window
+"/autoscaler:v1beta2/Zone/maintenanceWindows/maintenance_window/beginTime": begin_time
+"/autoscaler:v1beta2/Zone/maintenanceWindows/maintenance_window/description": description
+"/autoscaler:v1beta2/Zone/maintenanceWindows/maintenance_window/endTime": end_time
+"/autoscaler:v1beta2/Zone/maintenanceWindows/maintenance_window/name": name
+"/autoscaler:v1beta2/Zone/name": name
+"/autoscaler:v1beta2/Zone/region": region
+"/autoscaler:v1beta2/Zone/selfLink": self_link
+"/autoscaler:v1beta2/Zone/status": status
+"/autoscaler:v1beta2/ZoneList": zone_list
+"/autoscaler:v1beta2/ZoneList/id": id
+"/autoscaler:v1beta2/ZoneList/items": items
+"/autoscaler:v1beta2/ZoneList/items/item": item
+"/autoscaler:v1beta2/ZoneList/kind": kind
+"/autoscaler:v1beta2/ZoneList/nextPageToken": next_page_token
+"/autoscaler:v1beta2/ZoneList/selfLink": self_link
+"/bigquery:v2/fields": fields
+"/bigquery:v2/key": key
+"/bigquery:v2/quotaUser": quota_user
+"/bigquery:v2/userIp": user_ip
+"/bigquery:v2/bigquery.datasets.delete": delete_dataset
+"/bigquery:v2/bigquery.datasets.delete/datasetId": dataset_id
+"/bigquery:v2/bigquery.datasets.delete/deleteContents": delete_contents
+"/bigquery:v2/bigquery.datasets.delete/projectId": project_id
+"/bigquery:v2/bigquery.datasets.get": get_dataset
+"/bigquery:v2/bigquery.datasets.get/datasetId": dataset_id
+"/bigquery:v2/bigquery.datasets.get/projectId": project_id
+"/bigquery:v2/bigquery.datasets.insert": insert_dataset
+"/bigquery:v2/bigquery.datasets.insert/projectId": project_id
+"/bigquery:v2/bigquery.datasets.list": list_datasets
+"/bigquery:v2/bigquery.datasets.list/all": all
+"/bigquery:v2/bigquery.datasets.list/maxResults": max_results
+"/bigquery:v2/bigquery.datasets.list/pageToken": page_token
+"/bigquery:v2/bigquery.datasets.list/projectId": project_id
+"/bigquery:v2/bigquery.datasets.patch": patch_dataset
+"/bigquery:v2/bigquery.datasets.patch/datasetId": dataset_id
+"/bigquery:v2/bigquery.datasets.patch/projectId": project_id
+"/bigquery:v2/bigquery.datasets.update": update_dataset
+"/bigquery:v2/bigquery.datasets.update/datasetId": dataset_id
+"/bigquery:v2/bigquery.datasets.update/projectId": project_id
+"/bigquery:v2/bigquery.jobs.cancel": cancel_job
+"/bigquery:v2/bigquery.jobs.cancel/jobId": job_id
+"/bigquery:v2/bigquery.jobs.cancel/projectId": project_id
+"/bigquery:v2/bigquery.jobs.get": get_job
+"/bigquery:v2/bigquery.jobs.get/jobId": job_id
+"/bigquery:v2/bigquery.jobs.get/projectId": project_id
+"/bigquery:v2/bigquery.jobs.getQueryResults/jobId": job_id
+"/bigquery:v2/bigquery.jobs.getQueryResults/maxResults": max_results
+"/bigquery:v2/bigquery.jobs.getQueryResults/pageToken": page_token
+"/bigquery:v2/bigquery.jobs.getQueryResults/projectId": project_id
+"/bigquery:v2/bigquery.jobs.getQueryResults/startIndex": start_index
+"/bigquery:v2/bigquery.jobs.getQueryResults/timeoutMs": timeout_ms
+"/bigquery:v2/bigquery.jobs.insert": insert_job
+"/bigquery:v2/bigquery.jobs.insert/projectId": project_id
+"/bigquery:v2/bigquery.jobs.list": list_jobs
+"/bigquery:v2/bigquery.jobs.list/allUsers": all_users
+"/bigquery:v2/bigquery.jobs.list/maxResults": max_results
+"/bigquery:v2/bigquery.jobs.list/pageToken": page_token
+"/bigquery:v2/bigquery.jobs.list/projectId": project_id
+"/bigquery:v2/bigquery.jobs.list/projection": projection
+"/bigquery:v2/bigquery.jobs.list/stateFilter": state_filter
+"/bigquery:v2/bigquery.jobs.query": query
+"/bigquery:v2/bigquery.jobs.query/projectId": project_id
+"/bigquery:v2/bigquery.projects.list": list_projects
+"/bigquery:v2/bigquery.projects.list/maxResults": max_results
+"/bigquery:v2/bigquery.projects.list/pageToken": page_token
+"/bigquery:v2/bigquery.tabledata.insertAll/datasetId": dataset_id
+"/bigquery:v2/bigquery.tabledata.insertAll/projectId": project_id
+"/bigquery:v2/bigquery.tabledata.insertAll/tableId": table_id
+"/bigquery:v2/bigquery.tabledata.list/datasetId": dataset_id
+"/bigquery:v2/bigquery.tabledata.list/maxResults": max_results
+"/bigquery:v2/bigquery.tabledata.list/pageToken": page_token
+"/bigquery:v2/bigquery.tabledata.list/projectId": project_id
+"/bigquery:v2/bigquery.tabledata.list/startIndex": start_index
+"/bigquery:v2/bigquery.tabledata.list/tableId": table_id
+"/bigquery:v2/bigquery.tables.delete": delete_table
+"/bigquery:v2/bigquery.tables.delete/datasetId": dataset_id
+"/bigquery:v2/bigquery.tables.delete/projectId": project_id
+"/bigquery:v2/bigquery.tables.delete/tableId": table_id
+"/bigquery:v2/bigquery.tables.get": get_table
+"/bigquery:v2/bigquery.tables.get/datasetId": dataset_id
+"/bigquery:v2/bigquery.tables.get/projectId": project_id
+"/bigquery:v2/bigquery.tables.get/tableId": table_id
+"/bigquery:v2/bigquery.tables.insert": insert_table
+"/bigquery:v2/bigquery.tables.insert/datasetId": dataset_id
+"/bigquery:v2/bigquery.tables.insert/projectId": project_id
+"/bigquery:v2/bigquery.tables.list": list_tables
+"/bigquery:v2/bigquery.tables.list/datasetId": dataset_id
+"/bigquery:v2/bigquery.tables.list/maxResults": max_results
+"/bigquery:v2/bigquery.tables.list/pageToken": page_token
+"/bigquery:v2/bigquery.tables.list/projectId": project_id
+"/bigquery:v2/bigquery.tables.patch": patch_table
+"/bigquery:v2/bigquery.tables.patch/datasetId": dataset_id
+"/bigquery:v2/bigquery.tables.patch/projectId": project_id
+"/bigquery:v2/bigquery.tables.patch/tableId": table_id
+"/bigquery:v2/bigquery.tables.update": update_table
+"/bigquery:v2/bigquery.tables.update/datasetId": dataset_id
+"/bigquery:v2/bigquery.tables.update/projectId": project_id
+"/bigquery:v2/bigquery.tables.update/tableId": table_id
+"/bigquery:v2/CsvOptions": csv_options
+"/bigquery:v2/CsvOptions/allowJaggedRows": allow_jagged_rows
+"/bigquery:v2/CsvOptions/allowQuotedNewlines": allow_quoted_newlines
+"/bigquery:v2/CsvOptions/encoding": encoding
+"/bigquery:v2/CsvOptions/fieldDelimiter": field_delimiter
+"/bigquery:v2/CsvOptions/quote": quote
+"/bigquery:v2/CsvOptions/skipLeadingRows": skip_leading_rows
+"/bigquery:v2/Dataset": dataset
+"/bigquery:v2/Dataset/access": access
+"/bigquery:v2/Dataset/access/access": access
+"/bigquery:v2/Dataset/access/access/domain": domain
+"/bigquery:v2/Dataset/access/access/groupByEmail": group_by_email
+"/bigquery:v2/Dataset/access/access/role": role
+"/bigquery:v2/Dataset/access/access/specialGroup": special_group
+"/bigquery:v2/Dataset/access/access/userByEmail": user_by_email
+"/bigquery:v2/Dataset/access/access/view": view
+"/bigquery:v2/Dataset/creationTime": creation_time
+"/bigquery:v2/Dataset/datasetReference": dataset_reference
+"/bigquery:v2/Dataset/defaultTableExpirationMs": default_table_expiration_ms
+"/bigquery:v2/Dataset/description": description
+"/bigquery:v2/Dataset/etag": etag
+"/bigquery:v2/Dataset/friendlyName": friendly_name
+"/bigquery:v2/Dataset/id": id
+"/bigquery:v2/Dataset/kind": kind
+"/bigquery:v2/Dataset/lastModifiedTime": last_modified_time
+"/bigquery:v2/Dataset/location": location
+"/bigquery:v2/Dataset/selfLink": self_link
+"/bigquery:v2/DatasetList": dataset_list
+"/bigquery:v2/DatasetList/datasets": datasets
+"/bigquery:v2/DatasetList/datasets/dataset": dataset
+"/bigquery:v2/DatasetList/datasets/dataset/datasetReference": dataset_reference
+"/bigquery:v2/DatasetList/datasets/dataset/friendlyName": friendly_name
+"/bigquery:v2/DatasetList/datasets/dataset/id": id
+"/bigquery:v2/DatasetList/datasets/dataset/kind": kind
+"/bigquery:v2/DatasetList/etag": etag
+"/bigquery:v2/DatasetList/kind": kind
+"/bigquery:v2/DatasetList/nextPageToken": next_page_token
+"/bigquery:v2/DatasetReference": dataset_reference
+"/bigquery:v2/DatasetReference/datasetId": dataset_id
+"/bigquery:v2/DatasetReference/projectId": project_id
+"/bigquery:v2/ErrorProto": error_proto
+"/bigquery:v2/ErrorProto/debugInfo": debug_info
+"/bigquery:v2/ErrorProto/location": location
+"/bigquery:v2/ErrorProto/message": message
+"/bigquery:v2/ErrorProto/reason": reason
+"/bigquery:v2/ExternalDataConfiguration": external_data_configuration
+"/bigquery:v2/ExternalDataConfiguration/compression": compression
+"/bigquery:v2/ExternalDataConfiguration/csvOptions": csv_options
+"/bigquery:v2/ExternalDataConfiguration/ignoreUnknownValues": ignore_unknown_values
+"/bigquery:v2/ExternalDataConfiguration/maxBadRecords": max_bad_records
+"/bigquery:v2/ExternalDataConfiguration/schema": schema
+"/bigquery:v2/ExternalDataConfiguration/sourceFormat": source_format
+"/bigquery:v2/ExternalDataConfiguration/sourceUris": source_uris
+"/bigquery:v2/ExternalDataConfiguration/sourceUris/source_uri": source_uri
+"/bigquery:v2/GetQueryResultsResponse": get_query_results_response
+"/bigquery:v2/GetQueryResultsResponse/cacheHit": cache_hit
+"/bigquery:v2/GetQueryResultsResponse/etag": etag
+"/bigquery:v2/GetQueryResultsResponse/jobComplete": job_complete
+"/bigquery:v2/GetQueryResultsResponse/jobReference": job_reference
+"/bigquery:v2/GetQueryResultsResponse/kind": kind
+"/bigquery:v2/GetQueryResultsResponse/pageToken": page_token
+"/bigquery:v2/GetQueryResultsResponse/rows": rows
+"/bigquery:v2/GetQueryResultsResponse/rows/row": row
+"/bigquery:v2/GetQueryResultsResponse/schema": schema
+"/bigquery:v2/GetQueryResultsResponse/totalBytesProcessed": total_bytes_processed
+"/bigquery:v2/GetQueryResultsResponse/totalRows": total_rows
+"/bigquery:v2/Job": job
+"/bigquery:v2/Job/configuration": configuration
+"/bigquery:v2/Job/etag": etag
+"/bigquery:v2/Job/id": id
+"/bigquery:v2/Job/jobReference": job_reference
+"/bigquery:v2/Job/kind": kind
+"/bigquery:v2/Job/selfLink": self_link
+"/bigquery:v2/Job/statistics": statistics
+"/bigquery:v2/Job/status": status
+"/bigquery:v2/Job/user_email": user_email
+"/bigquery:v2/JobCancelResponse/job": job
+"/bigquery:v2/JobCancelResponse/kind": kind
+"/bigquery:v2/JobConfiguration": job_configuration
+"/bigquery:v2/JobConfiguration/copy": copy
+"/bigquery:v2/JobConfiguration/dryRun": dry_run
+"/bigquery:v2/JobConfiguration/extract": extract
+"/bigquery:v2/JobConfiguration/link": link
+"/bigquery:v2/JobConfiguration/load": load
+"/bigquery:v2/JobConfiguration/query": query
+"/bigquery:v2/JobConfigurationExtract": job_configuration_extract
+"/bigquery:v2/JobConfigurationExtract/compression": compression
+"/bigquery:v2/JobConfigurationExtract/destinationFormat": destination_format
+"/bigquery:v2/JobConfigurationExtract/destinationUri": destination_uri
+"/bigquery:v2/JobConfigurationExtract/destinationUris": destination_uris
+"/bigquery:v2/JobConfigurationExtract/destinationUris/destination_uri": destination_uri
+"/bigquery:v2/JobConfigurationExtract/fieldDelimiter": field_delimiter
+"/bigquery:v2/JobConfigurationExtract/printHeader": print_header
+"/bigquery:v2/JobConfigurationExtract/sourceTable": source_table
+"/bigquery:v2/JobConfigurationLink": job_configuration_link
+"/bigquery:v2/JobConfigurationLink/createDisposition": create_disposition
+"/bigquery:v2/JobConfigurationLink/destinationTable": destination_table
+"/bigquery:v2/JobConfigurationLink/sourceUri": source_uri
+"/bigquery:v2/JobConfigurationLink/sourceUri/source_uri": source_uri
+"/bigquery:v2/JobConfigurationLink/writeDisposition": write_disposition
+"/bigquery:v2/JobConfigurationLoad": job_configuration_load
+"/bigquery:v2/JobConfigurationLoad/allowJaggedRows": allow_jagged_rows
+"/bigquery:v2/JobConfigurationLoad/allowQuotedNewlines": allow_quoted_newlines
+"/bigquery:v2/JobConfigurationLoad/createDisposition": create_disposition
+"/bigquery:v2/JobConfigurationLoad/destinationTable": destination_table
+"/bigquery:v2/JobConfigurationLoad/encoding": encoding
+"/bigquery:v2/JobConfigurationLoad/fieldDelimiter": field_delimiter
+"/bigquery:v2/JobConfigurationLoad/ignoreUnknownValues": ignore_unknown_values
+"/bigquery:v2/JobConfigurationLoad/maxBadRecords": max_bad_records
+"/bigquery:v2/JobConfigurationLoad/projectionFields": projection_fields
+"/bigquery:v2/JobConfigurationLoad/projectionFields/projection_field": projection_field
+"/bigquery:v2/JobConfigurationLoad/quote": quote
+"/bigquery:v2/JobConfigurationLoad/schema": schema
+"/bigquery:v2/JobConfigurationLoad/schemaInline": schema_inline
+"/bigquery:v2/JobConfigurationLoad/schemaInlineFormat": schema_inline_format
+"/bigquery:v2/JobConfigurationLoad/skipLeadingRows": skip_leading_rows
+"/bigquery:v2/JobConfigurationLoad/sourceFormat": source_format
+"/bigquery:v2/JobConfigurationLoad/sourceUris": source_uris
+"/bigquery:v2/JobConfigurationLoad/sourceUris/source_uri": source_uri
+"/bigquery:v2/JobConfigurationLoad/writeDisposition": write_disposition
+"/bigquery:v2/JobConfigurationQuery": job_configuration_query
+"/bigquery:v2/JobConfigurationQuery/allowLargeResults": allow_large_results
+"/bigquery:v2/JobConfigurationQuery/createDisposition": create_disposition
+"/bigquery:v2/JobConfigurationQuery/defaultDataset": default_dataset
+"/bigquery:v2/JobConfigurationQuery/destinationTable": destination_table
+"/bigquery:v2/JobConfigurationQuery/flattenResults": flatten_results
+"/bigquery:v2/JobConfigurationQuery/preserveNulls": preserve_nulls
+"/bigquery:v2/JobConfigurationQuery/priority": priority
+"/bigquery:v2/JobConfigurationQuery/query": query
+"/bigquery:v2/JobConfigurationQuery/tableDefinitions": table_definitions
+"/bigquery:v2/JobConfigurationQuery/tableDefinitions/table_definition": table_definition
+"/bigquery:v2/JobConfigurationQuery/useQueryCache": use_query_cache
+"/bigquery:v2/JobConfigurationQuery/writeDisposition": write_disposition
+"/bigquery:v2/JobConfigurationTableCopy": job_configuration_table_copy
+"/bigquery:v2/JobConfigurationTableCopy/createDisposition": create_disposition
+"/bigquery:v2/JobConfigurationTableCopy/destinationTable": destination_table
+"/bigquery:v2/JobConfigurationTableCopy/sourceTable": source_table
+"/bigquery:v2/JobConfigurationTableCopy/sourceTables": source_tables
+"/bigquery:v2/JobConfigurationTableCopy/sourceTables/source_table": source_table
+"/bigquery:v2/JobConfigurationTableCopy/writeDisposition": write_disposition
+"/bigquery:v2/JobList": job_list
+"/bigquery:v2/JobList/etag": etag
+"/bigquery:v2/JobList/jobs": jobs
+"/bigquery:v2/JobList/jobs/job": job
+"/bigquery:v2/JobList/jobs/job/configuration": configuration
+"/bigquery:v2/JobList/jobs/job/errorResult": error_result
+"/bigquery:v2/JobList/jobs/job/id": id
+"/bigquery:v2/JobList/jobs/job/jobReference": job_reference
+"/bigquery:v2/JobList/jobs/job/kind": kind
+"/bigquery:v2/JobList/jobs/job/state": state
+"/bigquery:v2/JobList/jobs/job/statistics": statistics
+"/bigquery:v2/JobList/jobs/job/status": status
+"/bigquery:v2/JobList/jobs/job/user_email": user_email
+"/bigquery:v2/JobList/kind": kind
+"/bigquery:v2/JobList/nextPageToken": next_page_token
+"/bigquery:v2/JobReference": job_reference
+"/bigquery:v2/JobReference/jobId": job_id
+"/bigquery:v2/JobReference/projectId": project_id
+"/bigquery:v2/JobStatistics": job_statistics
+"/bigquery:v2/JobStatistics/creationTime": creation_time
+"/bigquery:v2/JobStatistics/endTime": end_time
+"/bigquery:v2/JobStatistics/extract": extract
+"/bigquery:v2/JobStatistics/load": load
+"/bigquery:v2/JobStatistics/query": query
+"/bigquery:v2/JobStatistics/startTime": start_time
+"/bigquery:v2/JobStatistics/totalBytesProcessed": total_bytes_processed
+"/bigquery:v2/JobStatistics2": job_statistics2
+"/bigquery:v2/JobStatistics2/cacheHit": cache_hit
+"/bigquery:v2/JobStatistics2/totalBytesProcessed": total_bytes_processed
+"/bigquery:v2/JobStatistics3": job_statistics3
+"/bigquery:v2/JobStatistics3/inputFileBytes": input_file_bytes
+"/bigquery:v2/JobStatistics3/inputFiles": input_files
+"/bigquery:v2/JobStatistics3/outputBytes": output_bytes
+"/bigquery:v2/JobStatistics3/outputRows": output_rows
+"/bigquery:v2/JobStatistics4": job_statistics4
+"/bigquery:v2/JobStatistics4/destinationUriFileCounts": destination_uri_file_counts
+"/bigquery:v2/JobStatistics4/destinationUriFileCounts/destination_uri_file_count": destination_uri_file_count
+"/bigquery:v2/JobStatus": job_status
+"/bigquery:v2/JobStatus/errorResult": error_result
+"/bigquery:v2/JobStatus/errors": errors
+"/bigquery:v2/JobStatus/errors/error": error
+"/bigquery:v2/JobStatus/state": state
+"/bigquery:v2/JsonObject": json_object
+"/bigquery:v2/JsonObject/json_object": json_object
+"/bigquery:v2/JsonValue": json_value
+"/bigquery:v2/ProjectList": project_list
+"/bigquery:v2/ProjectList/etag": etag
+"/bigquery:v2/ProjectList/kind": kind
+"/bigquery:v2/ProjectList/nextPageToken": next_page_token
+"/bigquery:v2/ProjectList/projects": projects
+"/bigquery:v2/ProjectList/projects/project": project
+"/bigquery:v2/ProjectList/projects/project/friendlyName": friendly_name
+"/bigquery:v2/ProjectList/projects/project/id": id
+"/bigquery:v2/ProjectList/projects/project/kind": kind
+"/bigquery:v2/ProjectList/projects/project/numericId": numeric_id
+"/bigquery:v2/ProjectList/projects/project/projectReference": project_reference
+"/bigquery:v2/ProjectList/totalItems": total_items
+"/bigquery:v2/ProjectReference": project_reference
+"/bigquery:v2/ProjectReference/projectId": project_id
+"/bigquery:v2/QueryRequest": query_request
+"/bigquery:v2/QueryRequest/defaultDataset": default_dataset
+"/bigquery:v2/QueryRequest/dryRun": dry_run
+"/bigquery:v2/QueryRequest/kind": kind
+"/bigquery:v2/QueryRequest/maxResults": max_results
+"/bigquery:v2/QueryRequest/preserveNulls": preserve_nulls
+"/bigquery:v2/QueryRequest/query": query
+"/bigquery:v2/QueryRequest/timeoutMs": timeout_ms
+"/bigquery:v2/QueryRequest/useQueryCache": use_query_cache
+"/bigquery:v2/QueryResponse": query_response
+"/bigquery:v2/QueryResponse/cacheHit": cache_hit
+"/bigquery:v2/QueryResponse/jobComplete": job_complete
+"/bigquery:v2/QueryResponse/jobReference": job_reference
+"/bigquery:v2/QueryResponse/kind": kind
+"/bigquery:v2/QueryResponse/pageToken": page_token
+"/bigquery:v2/QueryResponse/rows": rows
+"/bigquery:v2/QueryResponse/rows/row": row
+"/bigquery:v2/QueryResponse/schema": schema
+"/bigquery:v2/QueryResponse/totalBytesProcessed": total_bytes_processed
+"/bigquery:v2/QueryResponse/totalRows": total_rows
+"/bigquery:v2/Table": table
+"/bigquery:v2/Table/creationTime": creation_time
+"/bigquery:v2/Table/description": description
+"/bigquery:v2/Table/etag": etag
+"/bigquery:v2/Table/expirationTime": expiration_time
+"/bigquery:v2/Table/friendlyName": friendly_name
+"/bigquery:v2/Table/id": id
+"/bigquery:v2/Table/kind": kind
+"/bigquery:v2/Table/lastModifiedTime": last_modified_time
+"/bigquery:v2/Table/numBytes": num_bytes
+"/bigquery:v2/Table/numRows": num_rows
+"/bigquery:v2/Table/schema": schema
+"/bigquery:v2/Table/selfLink": self_link
+"/bigquery:v2/Table/tableReference": table_reference
+"/bigquery:v2/Table/type": type
+"/bigquery:v2/Table/view": view
+"/bigquery:v2/TableCell": table_cell
+"/bigquery:v2/TableCell/v": v
+"/bigquery:v2/TableDataInsertAllRequest/ignoreUnknownValues": ignore_unknown_values
+"/bigquery:v2/TableDataInsertAllRequest/kind": kind
+"/bigquery:v2/TableDataInsertAllRequest/rows": rows
+"/bigquery:v2/TableDataInsertAllRequest/rows/row": row
+"/bigquery:v2/TableDataInsertAllRequest/rows/row/insertId": insert_id
+"/bigquery:v2/TableDataInsertAllRequest/rows/row/json": json
+"/bigquery:v2/TableDataInsertAllRequest/skipInvalidRows": skip_invalid_rows
+"/bigquery:v2/TableDataInsertAllResponse/insertErrors": insert_errors
+"/bigquery:v2/TableDataInsertAllResponse/insertErrors/insert_error": insert_error
+"/bigquery:v2/TableDataInsertAllResponse/insertErrors/insert_error/errors": errors
+"/bigquery:v2/TableDataInsertAllResponse/insertErrors/insert_error/errors/error": error
+"/bigquery:v2/TableDataInsertAllResponse/insertErrors/insert_error/index": index
+"/bigquery:v2/TableDataInsertAllResponse/kind": kind
+"/bigquery:v2/TableDataList": table_data_list
+"/bigquery:v2/TableDataList/etag": etag
+"/bigquery:v2/TableDataList/kind": kind
+"/bigquery:v2/TableDataList/pageToken": page_token
+"/bigquery:v2/TableDataList/rows": rows
+"/bigquery:v2/TableDataList/rows/row": row
+"/bigquery:v2/TableDataList/totalRows": total_rows
+"/bigquery:v2/TableFieldSchema": table_field_schema
+"/bigquery:v2/TableFieldSchema/description": description
+"/bigquery:v2/TableFieldSchema/fields": fields
+"/bigquery:v2/TableFieldSchema/fields/field": field
+"/bigquery:v2/TableFieldSchema/mode": mode
+"/bigquery:v2/TableFieldSchema/name": name
+"/bigquery:v2/TableFieldSchema/type": type
+"/bigquery:v2/TableList": table_list
+"/bigquery:v2/TableList/etag": etag
+"/bigquery:v2/TableList/kind": kind
+"/bigquery:v2/TableList/nextPageToken": next_page_token
+"/bigquery:v2/TableList/tables": tables
+"/bigquery:v2/TableList/tables/table": table
+"/bigquery:v2/TableList/tables/table/friendlyName": friendly_name
+"/bigquery:v2/TableList/tables/table/id": id
+"/bigquery:v2/TableList/tables/table/kind": kind
+"/bigquery:v2/TableList/tables/table/tableReference": table_reference
+"/bigquery:v2/TableList/tables/table/type": type
+"/bigquery:v2/TableList/totalItems": total_items
+"/bigquery:v2/TableReference": table_reference
+"/bigquery:v2/TableReference/datasetId": dataset_id
+"/bigquery:v2/TableReference/projectId": project_id
+"/bigquery:v2/TableReference/tableId": table_id
+"/bigquery:v2/TableRow": table_row
+"/bigquery:v2/TableRow/f": f
+"/bigquery:v2/TableRow/f/f": f
+"/bigquery:v2/TableSchema": table_schema
+"/bigquery:v2/TableSchema/fields": fields
+"/bigquery:v2/TableSchema/fields/field": field
+"/bigquery:v2/ViewDefinition": view_definition
+"/bigquery:v2/ViewDefinition/query": query
+"/blogger:v3/fields": fields
+"/blogger:v3/key": key
+"/blogger:v3/quotaUser": quota_user
+"/blogger:v3/userIp": user_ip
+"/blogger:v3/blogger.blogUserInfos.get": get_blog_user_info
+"/blogger:v3/blogger.blogUserInfos.get/blogId": blog_id
+"/blogger:v3/blogger.blogUserInfos.get/maxPosts": max_posts
+"/blogger:v3/blogger.blogUserInfos.get/userId": user_id
+"/blogger:v3/blogger.blogs.get": get_blog
+"/blogger:v3/blogger.blogs.get/blogId": blog_id
+"/blogger:v3/blogger.blogs.get/maxPosts": max_posts
+"/blogger:v3/blogger.blogs.get/view": view
+"/blogger:v3/blogger.blogs.getByUrl/url": url
+"/blogger:v3/blogger.blogs.getByUrl/view": view
+"/blogger:v3/blogger.blogs.listByUser/fetchUserInfo": fetch_user_info
+"/blogger:v3/blogger.blogs.listByUser/role": role
+"/blogger:v3/blogger.blogs.listByUser/status": status
+"/blogger:v3/blogger.blogs.listByUser/userId": user_id
+"/blogger:v3/blogger.blogs.listByUser/view": view
+"/blogger:v3/blogger.comments.approve": approve_comment
+"/blogger:v3/blogger.comments.approve/blogId": blog_id
+"/blogger:v3/blogger.comments.approve/commentId": comment_id
+"/blogger:v3/blogger.comments.approve/postId": post_id
+"/blogger:v3/blogger.comments.delete": delete_comment
+"/blogger:v3/blogger.comments.delete/blogId": blog_id
+"/blogger:v3/blogger.comments.delete/commentId": comment_id
+"/blogger:v3/blogger.comments.delete/postId": post_id
+"/blogger:v3/blogger.comments.get": get_comment
+"/blogger:v3/blogger.comments.get/blogId": blog_id
+"/blogger:v3/blogger.comments.get/commentId": comment_id
+"/blogger:v3/blogger.comments.get/postId": post_id
+"/blogger:v3/blogger.comments.get/view": view
+"/blogger:v3/blogger.comments.list": list_comments
+"/blogger:v3/blogger.comments.list/blogId": blog_id
+"/blogger:v3/blogger.comments.list/endDate": end_date
+"/blogger:v3/blogger.comments.list/fetchBodies": fetch_bodies
+"/blogger:v3/blogger.comments.list/maxResults": max_results
+"/blogger:v3/blogger.comments.list/pageToken": page_token
+"/blogger:v3/blogger.comments.list/postId": post_id
+"/blogger:v3/blogger.comments.list/startDate": start_date
+"/blogger:v3/blogger.comments.list/status": status
+"/blogger:v3/blogger.comments.list/view": view
+"/blogger:v3/blogger.comments.listByBlog/blogId": blog_id
+"/blogger:v3/blogger.comments.listByBlog/endDate": end_date
+"/blogger:v3/blogger.comments.listByBlog/fetchBodies": fetch_bodies
+"/blogger:v3/blogger.comments.listByBlog/maxResults": max_results
+"/blogger:v3/blogger.comments.listByBlog/pageToken": page_token
+"/blogger:v3/blogger.comments.listByBlog/startDate": start_date
+"/blogger:v3/blogger.comments.listByBlog/status": status
+"/blogger:v3/blogger.comments.markAsSpam/blogId": blog_id
+"/blogger:v3/blogger.comments.markAsSpam/commentId": comment_id
+"/blogger:v3/blogger.comments.markAsSpam/postId": post_id
+"/blogger:v3/blogger.comments.removeContent/blogId": blog_id
+"/blogger:v3/blogger.comments.removeContent/commentId": comment_id
+"/blogger:v3/blogger.comments.removeContent/postId": post_id
+"/blogger:v3/blogger.pageViews.get": get_page_view
+"/blogger:v3/blogger.pageViews.get/blogId": blog_id
+"/blogger:v3/blogger.pageViews.get/range": range
+"/blogger:v3/blogger.pages.delete": delete_page
+"/blogger:v3/blogger.pages.delete/blogId": blog_id
+"/blogger:v3/blogger.pages.delete/pageId": page_id
+"/blogger:v3/blogger.pages.get": get_page
+"/blogger:v3/blogger.pages.get/blogId": blog_id
+"/blogger:v3/blogger.pages.get/pageId": page_id
+"/blogger:v3/blogger.pages.get/view": view
+"/blogger:v3/blogger.pages.insert": insert_page
+"/blogger:v3/blogger.pages.insert/blogId": blog_id
+"/blogger:v3/blogger.pages.insert/isDraft": is_draft
+"/blogger:v3/blogger.pages.list": list_pages
+"/blogger:v3/blogger.pages.list/blogId": blog_id
+"/blogger:v3/blogger.pages.list/fetchBodies": fetch_bodies
+"/blogger:v3/blogger.pages.list/maxResults": max_results
+"/blogger:v3/blogger.pages.list/pageToken": page_token
+"/blogger:v3/blogger.pages.list/status": status
+"/blogger:v3/blogger.pages.list/view": view
+"/blogger:v3/blogger.pages.patch": patch_page
+"/blogger:v3/blogger.pages.patch/blogId": blog_id
+"/blogger:v3/blogger.pages.patch/pageId": page_id
+"/blogger:v3/blogger.pages.patch/publish": publish
+"/blogger:v3/blogger.pages.patch/revert": revert
+"/blogger:v3/blogger.pages.publish": publish_page
+"/blogger:v3/blogger.pages.publish/blogId": blog_id
+"/blogger:v3/blogger.pages.publish/pageId": page_id
+"/blogger:v3/blogger.pages.revert": revert_page
+"/blogger:v3/blogger.pages.revert/blogId": blog_id
+"/blogger:v3/blogger.pages.revert/pageId": page_id
+"/blogger:v3/blogger.pages.update": update_page
+"/blogger:v3/blogger.pages.update/blogId": blog_id
+"/blogger:v3/blogger.pages.update/pageId": page_id
+"/blogger:v3/blogger.pages.update/publish": publish
+"/blogger:v3/blogger.pages.update/revert": revert
+"/blogger:v3/blogger.postUserInfos.get/blogId": blog_id
+"/blogger:v3/blogger.postUserInfos.get/maxComments": max_comments
+"/blogger:v3/blogger.postUserInfos.get/postId": post_id
+"/blogger:v3/blogger.postUserInfos.get/userId": user_id
+"/blogger:v3/blogger.postUserInfos.list/blogId": blog_id
+"/blogger:v3/blogger.postUserInfos.list/endDate": end_date
+"/blogger:v3/blogger.postUserInfos.list/fetchBodies": fetch_bodies
+"/blogger:v3/blogger.postUserInfos.list/labels": labels
+"/blogger:v3/blogger.postUserInfos.list/maxResults": max_results
+"/blogger:v3/blogger.postUserInfos.list/orderBy": order_by
+"/blogger:v3/blogger.postUserInfos.list/pageToken": page_token
+"/blogger:v3/blogger.postUserInfos.list/startDate": start_date
+"/blogger:v3/blogger.postUserInfos.list/status": status
+"/blogger:v3/blogger.postUserInfos.list/userId": user_id
+"/blogger:v3/blogger.postUserInfos.list/view": view
+"/blogger:v3/blogger.posts.delete": delete_post
+"/blogger:v3/blogger.posts.delete/blogId": blog_id
+"/blogger:v3/blogger.posts.delete/postId": post_id
+"/blogger:v3/blogger.posts.get": get_post
+"/blogger:v3/blogger.posts.get/blogId": blog_id
+"/blogger:v3/blogger.posts.get/fetchBody": fetch_body
+"/blogger:v3/blogger.posts.get/fetchImages": fetch_images
+"/blogger:v3/blogger.posts.get/maxComments": max_comments
+"/blogger:v3/blogger.posts.get/postId": post_id
+"/blogger:v3/blogger.posts.get/view": view
+"/blogger:v3/blogger.posts.getByPath/blogId": blog_id
+"/blogger:v3/blogger.posts.getByPath/maxComments": max_comments
+"/blogger:v3/blogger.posts.getByPath/path": path
+"/blogger:v3/blogger.posts.getByPath/view": view
+"/blogger:v3/blogger.posts.insert": insert_post
+"/blogger:v3/blogger.posts.insert/blogId": blog_id
+"/blogger:v3/blogger.posts.insert/fetchBody": fetch_body
+"/blogger:v3/blogger.posts.insert/fetchImages": fetch_images
+"/blogger:v3/blogger.posts.insert/isDraft": is_draft
+"/blogger:v3/blogger.posts.list": list_posts
+"/blogger:v3/blogger.posts.list/blogId": blog_id
+"/blogger:v3/blogger.posts.list/endDate": end_date
+"/blogger:v3/blogger.posts.list/fetchBodies": fetch_bodies
+"/blogger:v3/blogger.posts.list/fetchImages": fetch_images
+"/blogger:v3/blogger.posts.list/labels": labels
+"/blogger:v3/blogger.posts.list/maxResults": max_results
+"/blogger:v3/blogger.posts.list/orderBy": order_by
+"/blogger:v3/blogger.posts.list/pageToken": page_token
+"/blogger:v3/blogger.posts.list/startDate": start_date
+"/blogger:v3/blogger.posts.list/status": status
+"/blogger:v3/blogger.posts.list/view": view
+"/blogger:v3/blogger.posts.patch": patch_post
+"/blogger:v3/blogger.posts.patch/blogId": blog_id
+"/blogger:v3/blogger.posts.patch/fetchBody": fetch_body
+"/blogger:v3/blogger.posts.patch/fetchImages": fetch_images
+"/blogger:v3/blogger.posts.patch/maxComments": max_comments
+"/blogger:v3/blogger.posts.patch/postId": post_id
+"/blogger:v3/blogger.posts.patch/publish": publish
+"/blogger:v3/blogger.posts.patch/revert": revert
+"/blogger:v3/blogger.posts.publish": publish_post
+"/blogger:v3/blogger.posts.publish/blogId": blog_id
+"/blogger:v3/blogger.posts.publish/postId": post_id
+"/blogger:v3/blogger.posts.publish/publishDate": publish_date
+"/blogger:v3/blogger.posts.revert": revert_post
+"/blogger:v3/blogger.posts.revert/blogId": blog_id
+"/blogger:v3/blogger.posts.revert/postId": post_id
+"/blogger:v3/blogger.posts.search": search_posts
+"/blogger:v3/blogger.posts.search/blogId": blog_id
+"/blogger:v3/blogger.posts.search/fetchBodies": fetch_bodies
+"/blogger:v3/blogger.posts.search/orderBy": order_by
+"/blogger:v3/blogger.posts.search/q": q
+"/blogger:v3/blogger.posts.update": update_post
+"/blogger:v3/blogger.posts.update/blogId": blog_id
+"/blogger:v3/blogger.posts.update/fetchBody": fetch_body
+"/blogger:v3/blogger.posts.update/fetchImages": fetch_images
+"/blogger:v3/blogger.posts.update/maxComments": max_comments
+"/blogger:v3/blogger.posts.update/postId": post_id
+"/blogger:v3/blogger.posts.update/publish": publish
+"/blogger:v3/blogger.posts.update/revert": revert
+"/blogger:v3/blogger.users.get": get_user
+"/blogger:v3/blogger.users.get/userId": user_id
+"/blogger:v3/Blog": blog
+"/blogger:v3/Blog/customMetaData": custom_meta_data
+"/blogger:v3/Blog/description": description
+"/blogger:v3/Blog/id": id
+"/blogger:v3/Blog/kind": kind
+"/blogger:v3/Blog/locale": locale
+"/blogger:v3/Blog/locale/country": country
+"/blogger:v3/Blog/locale/language": language
+"/blogger:v3/Blog/locale/variant": variant
+"/blogger:v3/Blog/name": name
+"/blogger:v3/Blog/pages": pages
+"/blogger:v3/Blog/pages/selfLink": self_link
+"/blogger:v3/Blog/pages/totalItems": total_items
+"/blogger:v3/Blog/posts": posts
+"/blogger:v3/Blog/posts/items": items
+"/blogger:v3/Blog/posts/items/item": item
+"/blogger:v3/Blog/posts/selfLink": self_link
+"/blogger:v3/Blog/posts/totalItems": total_items
+"/blogger:v3/Blog/published": published
+"/blogger:v3/Blog/selfLink": self_link
+"/blogger:v3/Blog/status": status
+"/blogger:v3/Blog/updated": updated
+"/blogger:v3/Blog/url": url
+"/blogger:v3/BlogList": blog_list
+"/blogger:v3/BlogList/blogUserInfos": blog_user_infos
+"/blogger:v3/BlogList/blogUserInfos/blog_user_info": blog_user_info
+"/blogger:v3/BlogList/items": items
+"/blogger:v3/BlogList/items/item": item
+"/blogger:v3/BlogList/kind": kind
+"/blogger:v3/BlogPerUserInfo": blog_per_user_info
+"/blogger:v3/BlogPerUserInfo/blogId": blog_id
+"/blogger:v3/BlogPerUserInfo/hasAdminAccess": has_admin_access
+"/blogger:v3/BlogPerUserInfo/kind": kind
+"/blogger:v3/BlogPerUserInfo/photosAlbumKey": photos_album_key
+"/blogger:v3/BlogPerUserInfo/role": role
+"/blogger:v3/BlogPerUserInfo/userId": user_id
+"/blogger:v3/BlogUserInfo": blog_user_info
+"/blogger:v3/BlogUserInfo/blog": blog
+"/blogger:v3/BlogUserInfo/blog_user_info": blog_user_info
+"/blogger:v3/BlogUserInfo/kind": kind
+"/blogger:v3/Comment": comment
+"/blogger:v3/Comment/author": author
+"/blogger:v3/Comment/author/displayName": display_name
+"/blogger:v3/Comment/author/id": id
+"/blogger:v3/Comment/author/image": image
+"/blogger:v3/Comment/author/image/url": url
+"/blogger:v3/Comment/author/url": url
+"/blogger:v3/Comment/blog": blog
+"/blogger:v3/Comment/blog/id": id
+"/blogger:v3/Comment/content": content
+"/blogger:v3/Comment/id": id
+"/blogger:v3/Comment/inReplyTo": in_reply_to
+"/blogger:v3/Comment/inReplyTo/id": id
+"/blogger:v3/Comment/kind": kind
+"/blogger:v3/Comment/post": post
+"/blogger:v3/Comment/post/id": id
+"/blogger:v3/Comment/published": published
+"/blogger:v3/Comment/selfLink": self_link
+"/blogger:v3/Comment/status": status
+"/blogger:v3/Comment/updated": updated
+"/blogger:v3/CommentList": comment_list
+"/blogger:v3/CommentList/etag": etag
+"/blogger:v3/CommentList/items": items
+"/blogger:v3/CommentList/items/item": item
+"/blogger:v3/CommentList/kind": kind
+"/blogger:v3/CommentList/nextPageToken": next_page_token
+"/blogger:v3/CommentList/prevPageToken": prev_page_token
+"/blogger:v3/Page": page
+"/blogger:v3/Page/author": author
+"/blogger:v3/Page/author/displayName": display_name
+"/blogger:v3/Page/author/id": id
+"/blogger:v3/Page/author/image": image
+"/blogger:v3/Page/author/image/url": url
+"/blogger:v3/Page/author/url": url
+"/blogger:v3/Page/blog": blog
+"/blogger:v3/Page/blog/id": id
+"/blogger:v3/Page/content": content
+"/blogger:v3/Page/etag": etag
+"/blogger:v3/Page/id": id
+"/blogger:v3/Page/kind": kind
+"/blogger:v3/Page/published": published
+"/blogger:v3/Page/selfLink": self_link
+"/blogger:v3/Page/status": status
+"/blogger:v3/Page/title": title
+"/blogger:v3/Page/updated": updated
+"/blogger:v3/Page/url": url
+"/blogger:v3/PageList": page_list
+"/blogger:v3/PageList/etag": etag
+"/blogger:v3/PageList/items": items
+"/blogger:v3/PageList/items/item": item
+"/blogger:v3/PageList/kind": kind
+"/blogger:v3/PageList/nextPageToken": next_page_token
+"/blogger:v3/Pageviews": pageviews
+"/blogger:v3/Pageviews/blogId": blog_id
+"/blogger:v3/Pageviews/counts": counts
+"/blogger:v3/Pageviews/counts/count": count
+"/blogger:v3/Pageviews/counts/count/count": count
+"/blogger:v3/Pageviews/counts/count/timeRange": time_range
+"/blogger:v3/Pageviews/kind": kind
+"/blogger:v3/Post": post
+"/blogger:v3/Post/author": author
+"/blogger:v3/Post/author/displayName": display_name
+"/blogger:v3/Post/author/id": id
+"/blogger:v3/Post/author/image": image
+"/blogger:v3/Post/author/image/url": url
+"/blogger:v3/Post/author/url": url
+"/blogger:v3/Post/blog": blog
+"/blogger:v3/Post/blog/id": id
+"/blogger:v3/Post/content": content
+"/blogger:v3/Post/customMetaData": custom_meta_data
+"/blogger:v3/Post/etag": etag
+"/blogger:v3/Post/id": id
+"/blogger:v3/Post/images": images
+"/blogger:v3/Post/images/image": image
+"/blogger:v3/Post/images/image/url": url
+"/blogger:v3/Post/kind": kind
+"/blogger:v3/Post/labels": labels
+"/blogger:v3/Post/labels/label": label
+"/blogger:v3/Post/location": location
+"/blogger:v3/Post/location/lat": lat
+"/blogger:v3/Post/location/lng": lng
+"/blogger:v3/Post/location/name": name
+"/blogger:v3/Post/location/span": span
+"/blogger:v3/Post/published": published
+"/blogger:v3/Post/readerComments": reader_comments
+"/blogger:v3/Post/replies": replies
+"/blogger:v3/Post/replies/items": items
+"/blogger:v3/Post/replies/items/item": item
+"/blogger:v3/Post/replies/selfLink": self_link
+"/blogger:v3/Post/replies/totalItems": total_items
+"/blogger:v3/Post/selfLink": self_link
+"/blogger:v3/Post/status": status
+"/blogger:v3/Post/title": title
+"/blogger:v3/Post/titleLink": title_link
+"/blogger:v3/Post/updated": updated
+"/blogger:v3/Post/url": url
+"/blogger:v3/PostList": post_list
+"/blogger:v3/PostList/etag": etag
+"/blogger:v3/PostList/items": items
+"/blogger:v3/PostList/items/item": item
+"/blogger:v3/PostList/kind": kind
+"/blogger:v3/PostList/nextPageToken": next_page_token
+"/blogger:v3/PostPerUserInfo": post_per_user_info
+"/blogger:v3/PostPerUserInfo/blogId": blog_id
+"/blogger:v3/PostPerUserInfo/hasEditAccess": has_edit_access
+"/blogger:v3/PostPerUserInfo/kind": kind
+"/blogger:v3/PostPerUserInfo/postId": post_id
+"/blogger:v3/PostPerUserInfo/userId": user_id
+"/blogger:v3/PostUserInfo": post_user_info
+"/blogger:v3/PostUserInfo/kind": kind
+"/blogger:v3/PostUserInfo/post": post
+"/blogger:v3/PostUserInfo/post_user_info": post_user_info
+"/blogger:v3/PostUserInfosList": post_user_infos_list
+"/blogger:v3/PostUserInfosList/items": items
+"/blogger:v3/PostUserInfosList/items/item": item
+"/blogger:v3/PostUserInfosList/kind": kind
+"/blogger:v3/PostUserInfosList/nextPageToken": next_page_token
+"/blogger:v3/User": user
+"/blogger:v3/User/about": about
+"/blogger:v3/User/blogs": blogs
+"/blogger:v3/User/blogs/selfLink": self_link
+"/blogger:v3/User/created": created
+"/blogger:v3/User/displayName": display_name
+"/blogger:v3/User/id": id
+"/blogger:v3/User/kind": kind
+"/blogger:v3/User/locale": locale
+"/blogger:v3/User/locale/country": country
+"/blogger:v3/User/locale/language": language
+"/blogger:v3/User/locale/variant": variant
+"/blogger:v3/User/selfLink": self_link
+"/blogger:v3/User/url": url
+"/books:v1/fields": fields
+"/books:v1/key": key
+"/books:v1/quotaUser": quota_user
+"/books:v1/userIp": user_ip
+"/books:v1/books.bookshelves.get/shelf": shelf
+"/books:v1/books.bookshelves.get/source": source
+"/books:v1/books.bookshelves.get/userId": user_id
+"/books:v1/books.bookshelves.list/source": source
+"/books:v1/books.bookshelves.list/userId": user_id
+"/books:v1/books.bookshelves.volumes.list/maxResults": max_results
+"/books:v1/books.bookshelves.volumes.list/shelf": shelf
+"/books:v1/books.bookshelves.volumes.list/showPreorders": show_preorders
+"/books:v1/books.bookshelves.volumes.list/source": source
+"/books:v1/books.bookshelves.volumes.list/startIndex": start_index
+"/books:v1/books.bookshelves.volumes.list/userId": user_id
+"/books:v1/books.cloudloading.addBook/drive_document_id": drive_document_id
+"/books:v1/books.cloudloading.addBook/mime_type": mime_type
+"/books:v1/books.cloudloading.addBook/name": name
+"/books:v1/books.cloudloading.addBook/upload_client_token": upload_client_token
+"/books:v1/books.cloudloading.deleteBook/volumeId": volume_id
+"/books:v1/books.dictionary.listOfflineMetadata/cpksver": cpksver
+"/books:v1/books.layers.get/contentVersion": content_version
+"/books:v1/books.layers.get/source": source
+"/books:v1/books.layers.get/summaryId": summary_id
+"/books:v1/books.layers.get/volumeId": volume_id
+"/books:v1/books.layers.list/contentVersion": content_version
+"/books:v1/books.layers.list/maxResults": max_results
+"/books:v1/books.layers.list/pageToken": page_token
+"/books:v1/books.layers.list/source": source
+"/books:v1/books.layers.list/volumeId": volume_id
+"/books:v1/books.layers.annotationData.get/allowWebDefinitions": allow_web_definitions
+"/books:v1/books.layers.annotationData.get/annotationDataId": annotation_data_id
+"/books:v1/books.layers.annotationData.get/contentVersion": content_version
+"/books:v1/books.layers.annotationData.get/h": h
+"/books:v1/books.layers.annotationData.get/layerId": layer_id
+"/books:v1/books.layers.annotationData.get/locale": locale
+"/books:v1/books.layers.annotationData.get/scale": scale
+"/books:v1/books.layers.annotationData.get/source": source
+"/books:v1/books.layers.annotationData.get/volumeId": volume_id
+"/books:v1/books.layers.annotationData.get/w": w
+"/books:v1/books.layers.annotationData.list/annotationDataId": annotation_data_id
+"/books:v1/books.layers.annotationData.list/contentVersion": content_version
+"/books:v1/books.layers.annotationData.list/h": h
+"/books:v1/books.layers.annotationData.list/layerId": layer_id
+"/books:v1/books.layers.annotationData.list/locale": locale
+"/books:v1/books.layers.annotationData.list/maxResults": max_results
+"/books:v1/books.layers.annotationData.list/pageToken": page_token
+"/books:v1/books.layers.annotationData.list/scale": scale
+"/books:v1/books.layers.annotationData.list/source": source
+"/books:v1/books.layers.annotationData.list/updatedMax": updated_max
+"/books:v1/books.layers.annotationData.list/updatedMin": updated_min
+"/books:v1/books.layers.annotationData.list/volumeId": volume_id
+"/books:v1/books.layers.annotationData.list/w": w
+"/books:v1/books.layers.volumeAnnotations.get/annotationId": annotation_id
+"/books:v1/books.layers.volumeAnnotations.get/layerId": layer_id
+"/books:v1/books.layers.volumeAnnotations.get/locale": locale
+"/books:v1/books.layers.volumeAnnotations.get/source": source
+"/books:v1/books.layers.volumeAnnotations.get/volumeId": volume_id
+"/books:v1/books.layers.volumeAnnotations.list/contentVersion": content_version
+"/books:v1/books.layers.volumeAnnotations.list/endOffset": end_offset
+"/books:v1/books.layers.volumeAnnotations.list/endPosition": end_position
+"/books:v1/books.layers.volumeAnnotations.list/layerId": layer_id
+"/books:v1/books.layers.volumeAnnotations.list/locale": locale
+"/books:v1/books.layers.volumeAnnotations.list/maxResults": max_results
+"/books:v1/books.layers.volumeAnnotations.list/pageToken": page_token
+"/books:v1/books.layers.volumeAnnotations.list/showDeleted": show_deleted
+"/books:v1/books.layers.volumeAnnotations.list/source": source
+"/books:v1/books.layers.volumeAnnotations.list/startOffset": start_offset
+"/books:v1/books.layers.volumeAnnotations.list/startPosition": start_position
+"/books:v1/books.layers.volumeAnnotations.list/updatedMax": updated_max
+"/books:v1/books.layers.volumeAnnotations.list/updatedMin": updated_min
+"/books:v1/books.layers.volumeAnnotations.list/volumeAnnotationsVersion": volume_annotations_version
+"/books:v1/books.layers.volumeAnnotations.list/volumeId": volume_id
+"/books:v1/books.myconfig.releaseDownloadAccess/cpksver": cpksver
+"/books:v1/books.myconfig.releaseDownloadAccess/locale": locale
+"/books:v1/books.myconfig.releaseDownloadAccess/source": source
+"/books:v1/books.myconfig.releaseDownloadAccess/volumeIds": volume_ids
+"/books:v1/books.myconfig.requestAccess/cpksver": cpksver
+"/books:v1/books.myconfig.requestAccess/licenseTypes": license_types
+"/books:v1/books.myconfig.requestAccess/locale": locale
+"/books:v1/books.myconfig.requestAccess/nonce": nonce
+"/books:v1/books.myconfig.requestAccess/source": source
+"/books:v1/books.myconfig.requestAccess/volumeId": volume_id
+"/books:v1/books.myconfig.syncVolumeLicenses/cpksver": cpksver
+"/books:v1/books.myconfig.syncVolumeLicenses/features": features
+"/books:v1/books.myconfig.syncVolumeLicenses/locale": locale
+"/books:v1/books.myconfig.syncVolumeLicenses/nonce": nonce
+"/books:v1/books.myconfig.syncVolumeLicenses/showPreorders": show_preorders
+"/books:v1/books.myconfig.syncVolumeLicenses/source": source
+"/books:v1/books.myconfig.syncVolumeLicenses/volumeIds": volume_ids
+"/books:v1/books.mylibrary.annotations.delete/annotationId": annotation_id
+"/books:v1/books.mylibrary.annotations.delete/source": source
+"/books:v1/books.mylibrary.annotations.insert/country": country
+"/books:v1/books.mylibrary.annotations.insert/showOnlySummaryInResponse": show_only_summary_in_response
+"/books:v1/books.mylibrary.annotations.insert/source": source
+"/books:v1/books.mylibrary.annotations.list/contentVersion": content_version
+"/books:v1/books.mylibrary.annotations.list/layerId": layer_id
+"/books:v1/books.mylibrary.annotations.list/layerIds": layer_ids
+"/books:v1/books.mylibrary.annotations.list/maxResults": max_results
+"/books:v1/books.mylibrary.annotations.list/pageToken": page_token
+"/books:v1/books.mylibrary.annotations.list/showDeleted": show_deleted
+"/books:v1/books.mylibrary.annotations.list/source": source
+"/books:v1/books.mylibrary.annotations.list/updatedMax": updated_max
+"/books:v1/books.mylibrary.annotations.list/updatedMin": updated_min
+"/books:v1/books.mylibrary.annotations.list/volumeId": volume_id
+"/books:v1/books.mylibrary.annotations.summary/layerIds": layer_ids
+"/books:v1/books.mylibrary.annotations.summary/volumeId": volume_id
+"/books:v1/books.mylibrary.annotations.update/annotationId": annotation_id
+"/books:v1/books.mylibrary.annotations.update/source": source
+"/books:v1/books.mylibrary.bookshelves.addVolume/reason": reason
+"/books:v1/books.mylibrary.bookshelves.addVolume/shelf": shelf
+"/books:v1/books.mylibrary.bookshelves.addVolume/source": source
+"/books:v1/books.mylibrary.bookshelves.addVolume/volumeId": volume_id
+"/books:v1/books.mylibrary.bookshelves.clearVolumes/shelf": shelf
+"/books:v1/books.mylibrary.bookshelves.clearVolumes/source": source
+"/books:v1/books.mylibrary.bookshelves.get/shelf": shelf
+"/books:v1/books.mylibrary.bookshelves.get/source": source
+"/books:v1/books.mylibrary.bookshelves.list/source": source
+"/books:v1/books.mylibrary.bookshelves.moveVolume/shelf": shelf
+"/books:v1/books.mylibrary.bookshelves.moveVolume/source": source
+"/books:v1/books.mylibrary.bookshelves.moveVolume/volumeId": volume_id
+"/books:v1/books.mylibrary.bookshelves.moveVolume/volumePosition": volume_position
+"/books:v1/books.mylibrary.bookshelves.removeVolume/reason": reason
+"/books:v1/books.mylibrary.bookshelves.removeVolume/shelf": shelf
+"/books:v1/books.mylibrary.bookshelves.removeVolume/source": source
+"/books:v1/books.mylibrary.bookshelves.removeVolume/volumeId": volume_id
+"/books:v1/books.mylibrary.bookshelves.volumes.list/country": country
+"/books:v1/books.mylibrary.bookshelves.volumes.list/maxResults": max_results
+"/books:v1/books.mylibrary.bookshelves.volumes.list/projection": projection
+"/books:v1/books.mylibrary.bookshelves.volumes.list/q": q
+"/books:v1/books.mylibrary.bookshelves.volumes.list/shelf": shelf
+"/books:v1/books.mylibrary.bookshelves.volumes.list/showPreorders": show_preorders
+"/books:v1/books.mylibrary.bookshelves.volumes.list/source": source
+"/books:v1/books.mylibrary.bookshelves.volumes.list/startIndex": start_index
+"/books:v1/books.mylibrary.readingpositions.get/contentVersion": content_version
+"/books:v1/books.mylibrary.readingpositions.get/source": source
+"/books:v1/books.mylibrary.readingpositions.get/volumeId": volume_id
+"/books:v1/books.mylibrary.readingpositions.setPosition/action": action
+"/books:v1/books.mylibrary.readingpositions.setPosition/contentVersion": content_version
+"/books:v1/books.mylibrary.readingpositions.setPosition/deviceCookie": device_cookie
+"/books:v1/books.mylibrary.readingpositions.setPosition/position": position
+"/books:v1/books.mylibrary.readingpositions.setPosition/source": source
+"/books:v1/books.mylibrary.readingpositions.setPosition/timestamp": timestamp
+"/books:v1/books.mylibrary.readingpositions.setPosition/volumeId": volume_id
+"/books:v1/books.onboarding.listCategories/locale": locale
+"/books:v1/books.onboarding.listCategoryVolumes/categoryId": category_id
+"/books:v1/books.onboarding.listCategoryVolumes/locale": locale
+"/books:v1/books.onboarding.listCategoryVolumes/maxAllowedMaturityRating": max_allowed_maturity_rating
+"/books:v1/books.onboarding.listCategoryVolumes/pageSize": page_size
+"/books:v1/books.onboarding.listCategoryVolumes/pageToken": page_token
+"/books:v1/books.promooffer.accept/androidId": android_id
+"/books:v1/books.promooffer.accept/device": device
+"/books:v1/books.promooffer.accept/manufacturer": manufacturer
+"/books:v1/books.promooffer.accept/model": model
+"/books:v1/books.promooffer.accept/offerId": offer_id
+"/books:v1/books.promooffer.accept/product": product
+"/books:v1/books.promooffer.accept/serial": serial
+"/books:v1/books.promooffer.accept/volumeId": volume_id
+"/books:v1/books.promooffer.dismiss/androidId": android_id
+"/books:v1/books.promooffer.dismiss/device": device
+"/books:v1/books.promooffer.dismiss/manufacturer": manufacturer
+"/books:v1/books.promooffer.dismiss/model": model
+"/books:v1/books.promooffer.dismiss/offerId": offer_id
+"/books:v1/books.promooffer.dismiss/product": product
+"/books:v1/books.promooffer.dismiss/serial": serial
+"/books:v1/books.promooffer.get/androidId": android_id
+"/books:v1/books.promooffer.get/device": device
+"/books:v1/books.promooffer.get/manufacturer": manufacturer
+"/books:v1/books.promooffer.get/model": model
+"/books:v1/books.promooffer.get/product": product
+"/books:v1/books.promooffer.get/serial": serial
+"/books:v1/books.volumes.get": get_volume
+"/books:v1/books.volumes.get/country": country
+"/books:v1/books.volumes.get/partner": partner
+"/books:v1/books.volumes.get/projection": projection
+"/books:v1/books.volumes.get/source": source
+"/books:v1/books.volumes.get/user_library_consistent_read": user_library_consistent_read
+"/books:v1/books.volumes.get/volumeId": volume_id
+"/books:v1/books.volumes.list": list_volumes
+"/books:v1/books.volumes.list/download": download
+"/books:v1/books.volumes.list/filter": filter
+"/books:v1/books.volumes.list/langRestrict": lang_restrict
+"/books:v1/books.volumes.list/libraryRestrict": library_restrict
+"/books:v1/books.volumes.list/maxResults": max_results
+"/books:v1/books.volumes.list/orderBy": order_by
+"/books:v1/books.volumes.list/partner": partner
+"/books:v1/books.volumes.list/printType": print_type
+"/books:v1/books.volumes.list/projection": projection
+"/books:v1/books.volumes.list/q": q
+"/books:v1/books.volumes.list/showPreorders": show_preorders
+"/books:v1/books.volumes.list/source": source
+"/books:v1/books.volumes.list/startIndex": start_index
+"/books:v1/books.volumes.associated.list/association": association
+"/books:v1/books.volumes.associated.list/locale": locale
+"/books:v1/books.volumes.associated.list/maxAllowedMaturityRating": max_allowed_maturity_rating
+"/books:v1/books.volumes.associated.list/source": source
+"/books:v1/books.volumes.associated.list/volumeId": volume_id
+"/books:v1/books.volumes.mybooks.list/acquireMethod": acquire_method
+"/books:v1/books.volumes.mybooks.list/locale": locale
+"/books:v1/books.volumes.mybooks.list/maxResults": max_results
+"/books:v1/books.volumes.mybooks.list/processingState": processing_state
+"/books:v1/books.volumes.mybooks.list/source": source
+"/books:v1/books.volumes.mybooks.list/startIndex": start_index
+"/books:v1/books.volumes.recommended.list/locale": locale
+"/books:v1/books.volumes.recommended.list/maxAllowedMaturityRating": max_allowed_maturity_rating
+"/books:v1/books.volumes.recommended.list/source": source
+"/books:v1/books.volumes.recommended.rate/locale": locale
+"/books:v1/books.volumes.recommended.rate/rating": rating
+"/books:v1/books.volumes.recommended.rate/source": source
+"/books:v1/books.volumes.recommended.rate/volumeId": volume_id
+"/books:v1/books.volumes.useruploaded.list/locale": locale
+"/books:v1/books.volumes.useruploaded.list/maxResults": max_results
+"/books:v1/books.volumes.useruploaded.list/processingState": processing_state
+"/books:v1/books.volumes.useruploaded.list/source": source
+"/books:v1/books.volumes.useruploaded.list/startIndex": start_index
+"/books:v1/books.volumes.useruploaded.list/volumeId": volume_id
+"/books:v1/Annotation": annotation
+"/books:v1/Annotation/afterSelectedText": after_selected_text
+"/books:v1/Annotation/beforeSelectedText": before_selected_text
+"/books:v1/Annotation/clientVersionRanges": client_version_ranges
+"/books:v1/Annotation/clientVersionRanges/cfiRange": cfi_range
+"/books:v1/Annotation/clientVersionRanges/contentVersion": content_version
+"/books:v1/Annotation/clientVersionRanges/gbImageRange": gb_image_range
+"/books:v1/Annotation/clientVersionRanges/gbTextRange": gb_text_range
+"/books:v1/Annotation/clientVersionRanges/imageCfiRange": image_cfi_range
+"/books:v1/Annotation/created": created
+"/books:v1/Annotation/currentVersionRanges": current_version_ranges
+"/books:v1/Annotation/currentVersionRanges/cfiRange": cfi_range
+"/books:v1/Annotation/currentVersionRanges/contentVersion": content_version
+"/books:v1/Annotation/currentVersionRanges/gbImageRange": gb_image_range
+"/books:v1/Annotation/currentVersionRanges/gbTextRange": gb_text_range
+"/books:v1/Annotation/currentVersionRanges/imageCfiRange": image_cfi_range
+"/books:v1/Annotation/data": data
+"/books:v1/Annotation/deleted": deleted
+"/books:v1/Annotation/highlightStyle": highlight_style
+"/books:v1/Annotation/id": id
+"/books:v1/Annotation/kind": kind
+"/books:v1/Annotation/layerId": layer_id
+"/books:v1/Annotation/layerSummary": layer_summary
+"/books:v1/Annotation/layerSummary/allowedCharacterCount": allowed_character_count
+"/books:v1/Annotation/layerSummary/limitType": limit_type
+"/books:v1/Annotation/layerSummary/remainingCharacterCount": remaining_character_count
+"/books:v1/Annotation/pageIds": page_ids
+"/books:v1/Annotation/pageIds/page_id": page_id
+"/books:v1/Annotation/selectedText": selected_text
+"/books:v1/Annotation/selfLink": self_link
+"/books:v1/Annotation/updated": updated
+"/books:v1/Annotation/volumeId": volume_id
+"/books:v1/Annotationdata/annotationType": annotation_type
+"/books:v1/Annotationdata/data": data
+"/books:v1/Annotationdata/encoded_data": encoded_data
+"/books:v1/Annotationdata/id": id
+"/books:v1/Annotationdata/kind": kind
+"/books:v1/Annotationdata/layerId": layer_id
+"/books:v1/Annotationdata/selfLink": self_link
+"/books:v1/Annotationdata/updated": updated
+"/books:v1/Annotationdata/volumeId": volume_id
+"/books:v1/Annotations": annotations
+"/books:v1/Annotations/items": items
+"/books:v1/Annotations/items/item": item
+"/books:v1/Annotations/kind": kind
+"/books:v1/Annotations/nextPageToken": next_page_token
+"/books:v1/Annotations/totalItems": total_items
+"/books:v1/AnnotationsSummary/kind": kind
+"/books:v1/AnnotationsSummary/layers": layers
+"/books:v1/AnnotationsSummary/layers/layer": layer
+"/books:v1/AnnotationsSummary/layers/layer/allowedCharacterCount": allowed_character_count
+"/books:v1/AnnotationsSummary/layers/layer/layerId": layer_id
+"/books:v1/AnnotationsSummary/layers/layer/limitType": limit_type
+"/books:v1/AnnotationsSummary/layers/layer/remainingCharacterCount": remaining_character_count
+"/books:v1/AnnotationsSummary/layers/layer/updated": updated
+"/books:v1/Annotationsdata/items": items
+"/books:v1/Annotationsdata/items/item": item
+"/books:v1/Annotationsdata/kind": kind
+"/books:v1/Annotationsdata/nextPageToken": next_page_token
+"/books:v1/Annotationsdata/totalItems": total_items
+"/books:v1/BooksAnnotationsRange/endOffset": end_offset
+"/books:v1/BooksAnnotationsRange/endPosition": end_position
+"/books:v1/BooksAnnotationsRange/startOffset": start_offset
+"/books:v1/BooksAnnotationsRange/startPosition": start_position
+"/books:v1/BooksCloudloadingResource/author": author
+"/books:v1/BooksCloudloadingResource/processingState": processing_state
+"/books:v1/BooksCloudloadingResource/title": title
+"/books:v1/BooksCloudloadingResource/volumeId": volume_id
+"/books:v1/BooksVolumesRecommendedRateResponse/consistency_token": consistency_token
+"/books:v1/Bookshelf": bookshelf
+"/books:v1/Bookshelf/access": access
+"/books:v1/Bookshelf/created": created
+"/books:v1/Bookshelf/description": description
+"/books:v1/Bookshelf/id": id
+"/books:v1/Bookshelf/kind": kind
+"/books:v1/Bookshelf/selfLink": self_link
+"/books:v1/Bookshelf/title": title
+"/books:v1/Bookshelf/updated": updated
+"/books:v1/Bookshelf/volumeCount": volume_count
+"/books:v1/Bookshelf/volumesLastUpdated": volumes_last_updated
+"/books:v1/Bookshelves": bookshelves
+"/books:v1/Bookshelves/items": items
+"/books:v1/Bookshelves/items/item": item
+"/books:v1/Bookshelves/kind": kind
+"/books:v1/Category": category
+"/books:v1/Category/items": items
+"/books:v1/Category/items/item": item
+"/books:v1/Category/items/item/badgeUrl": badge_url
+"/books:v1/Category/items/item/categoryId": category_id
+"/books:v1/Category/items/item/name": name
+"/books:v1/Category/kind": kind
+"/books:v1/ConcurrentAccessRestriction": concurrent_access_restriction
+"/books:v1/ConcurrentAccessRestriction/deviceAllowed": device_allowed
+"/books:v1/ConcurrentAccessRestriction/kind": kind
+"/books:v1/ConcurrentAccessRestriction/maxConcurrentDevices": max_concurrent_devices
+"/books:v1/ConcurrentAccessRestriction/message": message
+"/books:v1/ConcurrentAccessRestriction/nonce": nonce
+"/books:v1/ConcurrentAccessRestriction/reasonCode": reason_code
+"/books:v1/ConcurrentAccessRestriction/restricted": restricted
+"/books:v1/ConcurrentAccessRestriction/signature": signature
+"/books:v1/ConcurrentAccessRestriction/source": source
+"/books:v1/ConcurrentAccessRestriction/timeWindowSeconds": time_window_seconds
+"/books:v1/ConcurrentAccessRestriction/volumeId": volume_id
+"/books:v1/Dictlayerdata/common": common
+"/books:v1/Dictlayerdata/common/title": title
+"/books:v1/Dictlayerdata/dict": dict
+"/books:v1/Dictlayerdata/dict/source": source
+"/books:v1/Dictlayerdata/dict/source/attribution": attribution
+"/books:v1/Dictlayerdata/dict/source/url": url
+"/books:v1/Dictlayerdata/dict/words": words
+"/books:v1/Dictlayerdata/dict/words/word": word
+"/books:v1/Dictlayerdata/dict/words/word/derivatives": derivatives
+"/books:v1/Dictlayerdata/dict/words/word/derivatives/derivative": derivative
+"/books:v1/Dictlayerdata/dict/words/word/derivatives/derivative/source": source
+"/books:v1/Dictlayerdata/dict/words/word/derivatives/derivative/source/attribution": attribution
+"/books:v1/Dictlayerdata/dict/words/word/derivatives/derivative/source/url": url
+"/books:v1/Dictlayerdata/dict/words/word/derivatives/derivative/text": text
+"/books:v1/Dictlayerdata/dict/words/word/examples": examples
+"/books:v1/Dictlayerdata/dict/words/word/examples/example": example
+"/books:v1/Dictlayerdata/dict/words/word/examples/example/source": source
+"/books:v1/Dictlayerdata/dict/words/word/examples/example/source/attribution": attribution
+"/books:v1/Dictlayerdata/dict/words/word/examples/example/source/url": url
+"/books:v1/Dictlayerdata/dict/words/word/examples/example/text": text
+"/books:v1/Dictlayerdata/dict/words/word/senses": senses
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense": sense
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/conjugations": conjugations
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/conjugations/conjugation": conjugation
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/conjugations/conjugation/type": type
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/conjugations/conjugation/value": value
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/definitions": definitions
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/definitions/definition": definition
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/definitions/definition/definition": definition
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/definitions/definition/examples": examples
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/definitions/definition/examples/example": example
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/definitions/definition/examples/example/source": source
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/definitions/definition/examples/example/source/attribution": attribution
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/definitions/definition/examples/example/source/url": url
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/definitions/definition/examples/example/text": text
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/partOfSpeech": part_of_speech
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/pronunciation": pronunciation
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/pronunciationUrl": pronunciation_url
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/source": source
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/source/attribution": attribution
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/source/url": url
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/syllabification": syllabification
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/synonyms": synonyms
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/synonyms/synonym": synonym
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/synonyms/synonym/source": source
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/synonyms/synonym/source/attribution": attribution
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/synonyms/synonym/source/url": url
+"/books:v1/Dictlayerdata/dict/words/word/senses/sense/synonyms/synonym/text": text
+"/books:v1/Dictlayerdata/dict/words/word/source": source
+"/books:v1/Dictlayerdata/dict/words/word/source/attribution": attribution
+"/books:v1/Dictlayerdata/dict/words/word/source/url": url
+"/books:v1/Dictlayerdata/kind": kind
+"/books:v1/DownloadAccessRestriction": download_access_restriction
+"/books:v1/DownloadAccessRestriction/deviceAllowed": device_allowed
+"/books:v1/DownloadAccessRestriction/downloadsAcquired": downloads_acquired
+"/books:v1/DownloadAccessRestriction/justAcquired": just_acquired
+"/books:v1/DownloadAccessRestriction/kind": kind
+"/books:v1/DownloadAccessRestriction/maxDownloadDevices": max_download_devices
+"/books:v1/DownloadAccessRestriction/message": message
+"/books:v1/DownloadAccessRestriction/nonce": nonce
+"/books:v1/DownloadAccessRestriction/reasonCode": reason_code
+"/books:v1/DownloadAccessRestriction/restricted": restricted
+"/books:v1/DownloadAccessRestriction/signature": signature
+"/books:v1/DownloadAccessRestriction/source": source
+"/books:v1/DownloadAccessRestriction/volumeId": volume_id
+"/books:v1/DownloadAccesses": download_accesses
+"/books:v1/DownloadAccesses/downloadAccessList": download_access_list
+"/books:v1/DownloadAccesses/downloadAccessList/download_access_list": download_access_list
+"/books:v1/DownloadAccesses/kind": kind
+"/books:v1/Geolayerdata/common": common
+"/books:v1/Geolayerdata/common/lang": lang
+"/books:v1/Geolayerdata/common/previewImageUrl": preview_image_url
+"/books:v1/Geolayerdata/common/snippet": snippet
+"/books:v1/Geolayerdata/common/snippetUrl": snippet_url
+"/books:v1/Geolayerdata/common/title": title
+"/books:v1/Geolayerdata/geo": geo
+"/books:v1/Geolayerdata/geo/boundary": boundary
+"/books:v1/Geolayerdata/geo/boundary/boundary": boundary
+"/books:v1/Geolayerdata/geo/boundary/boundary/boundary": boundary
+"/books:v1/Geolayerdata/geo/boundary/boundary/boundary/latitude": latitude
+"/books:v1/Geolayerdata/geo/boundary/boundary/boundary/longitude": longitude
+"/books:v1/Geolayerdata/geo/cachePolicy": cache_policy
+"/books:v1/Geolayerdata/geo/countryCode": country_code
+"/books:v1/Geolayerdata/geo/latitude": latitude
+"/books:v1/Geolayerdata/geo/longitude": longitude
+"/books:v1/Geolayerdata/geo/mapType": map_type
+"/books:v1/Geolayerdata/geo/viewport": viewport
+"/books:v1/Geolayerdata/geo/viewport/hi": hi
+"/books:v1/Geolayerdata/geo/viewport/hi/latitude": latitude
+"/books:v1/Geolayerdata/geo/viewport/hi/longitude": longitude
+"/books:v1/Geolayerdata/geo/viewport/lo": lo
+"/books:v1/Geolayerdata/geo/viewport/lo/latitude": latitude
+"/books:v1/Geolayerdata/geo/viewport/lo/longitude": longitude
+"/books:v1/Geolayerdata/geo/zoom": zoom
+"/books:v1/Geolayerdata/kind": kind
+"/books:v1/Layersummaries/items": items
+"/books:v1/Layersummaries/items/item": item
+"/books:v1/Layersummaries/kind": kind
+"/books:v1/Layersummaries/totalItems": total_items
+"/books:v1/Layersummary/annotationCount": annotation_count
+"/books:v1/Layersummary/annotationTypes": annotation_types
+"/books:v1/Layersummary/annotationTypes/annotation_type": annotation_type
+"/books:v1/Layersummary/annotationsDataLink": annotations_data_link
+"/books:v1/Layersummary/annotationsLink": annotations_link
+"/books:v1/Layersummary/contentVersion": content_version
+"/books:v1/Layersummary/dataCount": data_count
+"/books:v1/Layersummary/id": id
+"/books:v1/Layersummary/kind": kind
+"/books:v1/Layersummary/layerId": layer_id
+"/books:v1/Layersummary/selfLink": self_link
+"/books:v1/Layersummary/updated": updated
+"/books:v1/Layersummary/volumeAnnotationsVersion": volume_annotations_version
+"/books:v1/Layersummary/volumeId": volume_id
+"/books:v1/Metadata": metadata
+"/books:v1/Metadata/items": items
+"/books:v1/Metadata/items/item": item
+"/books:v1/Metadata/items/item/download_url": download_url
+"/books:v1/Metadata/items/item/encrypted_key": encrypted_key
+"/books:v1/Metadata/items/item/language": language
+"/books:v1/Metadata/items/item/size": size
+"/books:v1/Metadata/items/item/version": version
+"/books:v1/Metadata/kind": kind
+"/books:v1/Offers": offers
+"/books:v1/Offers/items": items
+"/books:v1/Offers/items/item": item
+"/books:v1/Offers/items/item/artUrl": art_url
+"/books:v1/Offers/items/item/gservicesKey": gservices_key
+"/books:v1/Offers/items/item/id": id
+"/books:v1/Offers/items/item/items": items
+"/books:v1/Offers/items/item/items/item": item
+"/books:v1/Offers/items/item/items/item/author": author
+"/books:v1/Offers/items/item/items/item/canonicalVolumeLink": canonical_volume_link
+"/books:v1/Offers/items/item/items/item/coverUrl": cover_url
+"/books:v1/Offers/items/item/items/item/description": description
+"/books:v1/Offers/items/item/items/item/title": title
+"/books:v1/Offers/items/item/items/item/volumeId": volume_id
+"/books:v1/Offers/kind": kind
+"/books:v1/ReadingPosition": reading_position
+"/books:v1/ReadingPosition/epubCfiPosition": epub_cfi_position
+"/books:v1/ReadingPosition/gbImagePosition": gb_image_position
+"/books:v1/ReadingPosition/gbTextPosition": gb_text_position
+"/books:v1/ReadingPosition/kind": kind
+"/books:v1/ReadingPosition/pdfPosition": pdf_position
+"/books:v1/ReadingPosition/updated": updated
+"/books:v1/ReadingPosition/volumeId": volume_id
+"/books:v1/RequestAccess": request_access
+"/books:v1/RequestAccess/concurrentAccess": concurrent_access
+"/books:v1/RequestAccess/downloadAccess": download_access
+"/books:v1/RequestAccess/kind": kind
+"/books:v1/Review": review
+"/books:v1/Review/author": author
+"/books:v1/Review/author/displayName": display_name
+"/books:v1/Review/content": content
+"/books:v1/Review/date": date
+"/books:v1/Review/fullTextUrl": full_text_url
+"/books:v1/Review/kind": kind
+"/books:v1/Review/rating": rating
+"/books:v1/Review/source": source
+"/books:v1/Review/source/description": description
+"/books:v1/Review/source/extraDescription": extra_description
+"/books:v1/Review/source/url": url
+"/books:v1/Review/title": title
+"/books:v1/Review/type": type
+"/books:v1/Review/volumeId": volume_id
+"/books:v1/Usersettings/kind": kind
+"/books:v1/Usersettings/notesExport": notes_export
+"/books:v1/Usersettings/notesExport/folderName": folder_name
+"/books:v1/Usersettings/notesExport/isEnabled": is_enabled
+"/books:v1/Volume": volume
+"/books:v1/Volume/accessInfo": access_info
+"/books:v1/Volume/accessInfo/accessViewStatus": access_view_status
+"/books:v1/Volume/accessInfo/country": country
+"/books:v1/Volume/accessInfo/downloadAccess": download_access
+"/books:v1/Volume/accessInfo/driveImportedContentLink": drive_imported_content_link
+"/books:v1/Volume/accessInfo/embeddable": embeddable
+"/books:v1/Volume/accessInfo/epub": epub
+"/books:v1/Volume/accessInfo/epub/acsTokenLink": acs_token_link
+"/books:v1/Volume/accessInfo/epub/downloadLink": download_link
+"/books:v1/Volume/accessInfo/epub/isAvailable": is_available
+"/books:v1/Volume/accessInfo/explicitOfflineLicenseManagement": explicit_offline_license_management
+"/books:v1/Volume/accessInfo/pdf": pdf
+"/books:v1/Volume/accessInfo/pdf/acsTokenLink": acs_token_link
+"/books:v1/Volume/accessInfo/pdf/downloadLink": download_link
+"/books:v1/Volume/accessInfo/pdf/isAvailable": is_available
+"/books:v1/Volume/accessInfo/publicDomain": public_domain
+"/books:v1/Volume/accessInfo/quoteSharingAllowed": quote_sharing_allowed
+"/books:v1/Volume/accessInfo/textToSpeechPermission": text_to_speech_permission
+"/books:v1/Volume/accessInfo/viewOrderUrl": view_order_url
+"/books:v1/Volume/accessInfo/viewability": viewability
+"/books:v1/Volume/accessInfo/webReaderLink": web_reader_link
+"/books:v1/Volume/etag": etag
+"/books:v1/Volume/id": id
+"/books:v1/Volume/kind": kind
+"/books:v1/Volume/layerInfo": layer_info
+"/books:v1/Volume/layerInfo/layers": layers
+"/books:v1/Volume/layerInfo/layers/layer": layer
+"/books:v1/Volume/layerInfo/layers/layer/layerId": layer_id
+"/books:v1/Volume/layerInfo/layers/layer/volumeAnnotationsVersion": volume_annotations_version
+"/books:v1/Volume/recommendedInfo": recommended_info
+"/books:v1/Volume/recommendedInfo/explanation": explanation
+"/books:v1/Volume/saleInfo": sale_info
+"/books:v1/Volume/saleInfo/buyLink": buy_link
+"/books:v1/Volume/saleInfo/country": country
+"/books:v1/Volume/saleInfo/isEbook": is_ebook
+"/books:v1/Volume/saleInfo/listPrice": list_price
+"/books:v1/Volume/saleInfo/listPrice/amount": amount
+"/books:v1/Volume/saleInfo/listPrice/currencyCode": currency_code
+"/books:v1/Volume/saleInfo/offers": offers
+"/books:v1/Volume/saleInfo/offers/offer": offer
+"/books:v1/Volume/saleInfo/offers/offer/finskyOfferType": finsky_offer_type
+"/books:v1/Volume/saleInfo/offers/offer/listPrice": list_price
+"/books:v1/Volume/saleInfo/offers/offer/listPrice/amountInMicros": amount_in_micros
+"/books:v1/Volume/saleInfo/offers/offer/listPrice/currencyCode": currency_code
+"/books:v1/Volume/saleInfo/offers/offer/rentalDuration": rental_duration
+"/books:v1/Volume/saleInfo/offers/offer/rentalDuration/count": count
+"/books:v1/Volume/saleInfo/offers/offer/rentalDuration/unit": unit
+"/books:v1/Volume/saleInfo/offers/offer/retailPrice": retail_price
+"/books:v1/Volume/saleInfo/offers/offer/retailPrice/amountInMicros": amount_in_micros
+"/books:v1/Volume/saleInfo/offers/offer/retailPrice/currencyCode": currency_code
+"/books:v1/Volume/saleInfo/onSaleDate": on_sale_date
+"/books:v1/Volume/saleInfo/retailPrice": retail_price
+"/books:v1/Volume/saleInfo/retailPrice/amount": amount
+"/books:v1/Volume/saleInfo/retailPrice/currencyCode": currency_code
+"/books:v1/Volume/saleInfo/saleability": saleability
+"/books:v1/Volume/searchInfo": search_info
+"/books:v1/Volume/searchInfo/textSnippet": text_snippet
+"/books:v1/Volume/selfLink": self_link
+"/books:v1/Volume/userInfo": user_info
+"/books:v1/Volume/userInfo/copy": copy
+"/books:v1/Volume/userInfo/copy/allowedCharacterCount": allowed_character_count
+"/books:v1/Volume/userInfo/copy/limitType": limit_type
+"/books:v1/Volume/userInfo/copy/remainingCharacterCount": remaining_character_count
+"/books:v1/Volume/userInfo/copy/updated": updated
+"/books:v1/Volume/userInfo/isInMyBooks": is_in_my_books
+"/books:v1/Volume/userInfo/isPreordered": is_preordered
+"/books:v1/Volume/userInfo/isPurchased": is_purchased
+"/books:v1/Volume/userInfo/isUploaded": is_uploaded
+"/books:v1/Volume/userInfo/readingPosition": reading_position
+"/books:v1/Volume/userInfo/rentalPeriod": rental_period
+"/books:v1/Volume/userInfo/rentalPeriod/endUtcSec": end_utc_sec
+"/books:v1/Volume/userInfo/rentalPeriod/startUtcSec": start_utc_sec
+"/books:v1/Volume/userInfo/rentalState": rental_state
+"/books:v1/Volume/userInfo/review": review
+"/books:v1/Volume/userInfo/updated": updated
+"/books:v1/Volume/userInfo/userUploadedVolumeInfo": user_uploaded_volume_info
+"/books:v1/Volume/userInfo/userUploadedVolumeInfo/processingState": processing_state
+"/books:v1/Volume/volumeInfo": volume_info
+"/books:v1/Volume/volumeInfo/allowAnonLogging": allow_anon_logging
+"/books:v1/Volume/volumeInfo/authors": authors
+"/books:v1/Volume/volumeInfo/authors/author": author
+"/books:v1/Volume/volumeInfo/averageRating": average_rating
+"/books:v1/Volume/volumeInfo/canonicalVolumeLink": canonical_volume_link
+"/books:v1/Volume/volumeInfo/categories": categories
+"/books:v1/Volume/volumeInfo/categories/category": category
+"/books:v1/Volume/volumeInfo/contentVersion": content_version
+"/books:v1/Volume/volumeInfo/description": description
+"/books:v1/Volume/volumeInfo/dimensions": dimensions
+"/books:v1/Volume/volumeInfo/dimensions/height": height
+"/books:v1/Volume/volumeInfo/dimensions/thickness": thickness
+"/books:v1/Volume/volumeInfo/dimensions/width": width
+"/books:v1/Volume/volumeInfo/imageLinks": image_links
+"/books:v1/Volume/volumeInfo/imageLinks/extraLarge": extra_large
+"/books:v1/Volume/volumeInfo/imageLinks/large": large
+"/books:v1/Volume/volumeInfo/imageLinks/medium": medium
+"/books:v1/Volume/volumeInfo/imageLinks/small": small
+"/books:v1/Volume/volumeInfo/imageLinks/smallThumbnail": small_thumbnail
+"/books:v1/Volume/volumeInfo/imageLinks/thumbnail": thumbnail
+"/books:v1/Volume/volumeInfo/industryIdentifiers": industry_identifiers
+"/books:v1/Volume/volumeInfo/industryIdentifiers/industry_identifier": industry_identifier
+"/books:v1/Volume/volumeInfo/industryIdentifiers/industry_identifier/identifier": identifier
+"/books:v1/Volume/volumeInfo/industryIdentifiers/industry_identifier/type": type
+"/books:v1/Volume/volumeInfo/infoLink": info_link
+"/books:v1/Volume/volumeInfo/language": language
+"/books:v1/Volume/volumeInfo/mainCategory": main_category
+"/books:v1/Volume/volumeInfo/maturityRating": maturity_rating
+"/books:v1/Volume/volumeInfo/pageCount": page_count
+"/books:v1/Volume/volumeInfo/previewLink": preview_link
+"/books:v1/Volume/volumeInfo/printType": print_type
+"/books:v1/Volume/volumeInfo/printedPageCount": printed_page_count
+"/books:v1/Volume/volumeInfo/publishedDate": published_date
+"/books:v1/Volume/volumeInfo/publisher": publisher
+"/books:v1/Volume/volumeInfo/ratingsCount": ratings_count
+"/books:v1/Volume/volumeInfo/readingModes": reading_modes
+"/books:v1/Volume/volumeInfo/samplePageCount": sample_page_count
+"/books:v1/Volume/volumeInfo/subtitle": subtitle
+"/books:v1/Volume/volumeInfo/title": title
+"/books:v1/Volume2": volume2
+"/books:v1/Volume2/items": items
+"/books:v1/Volume2/items/item": item
+"/books:v1/Volume2/kind": kind
+"/books:v1/Volume2/nextPageToken": next_page_token
+"/books:v1/Volumeannotation/annotationDataId": annotation_data_id
+"/books:v1/Volumeannotation/annotationDataLink": annotation_data_link
+"/books:v1/Volumeannotation/annotationType": annotation_type
+"/books:v1/Volumeannotation/contentRanges": content_ranges
+"/books:v1/Volumeannotation/contentRanges/cfiRange": cfi_range
+"/books:v1/Volumeannotation/contentRanges/contentVersion": content_version
+"/books:v1/Volumeannotation/contentRanges/gbImageRange": gb_image_range
+"/books:v1/Volumeannotation/contentRanges/gbTextRange": gb_text_range
+"/books:v1/Volumeannotation/data": data
+"/books:v1/Volumeannotation/deleted": deleted
+"/books:v1/Volumeannotation/id": id
+"/books:v1/Volumeannotation/kind": kind
+"/books:v1/Volumeannotation/layerId": layer_id
+"/books:v1/Volumeannotation/pageIds": page_ids
+"/books:v1/Volumeannotation/pageIds/page_id": page_id
+"/books:v1/Volumeannotation/selectedText": selected_text
+"/books:v1/Volumeannotation/selfLink": self_link
+"/books:v1/Volumeannotation/updated": updated
+"/books:v1/Volumeannotation/volumeId": volume_id
+"/books:v1/Volumeannotations": volumeannotations
+"/books:v1/Volumeannotations/items": items
+"/books:v1/Volumeannotations/items/item": item
+"/books:v1/Volumeannotations/kind": kind
+"/books:v1/Volumeannotations/nextPageToken": next_page_token
+"/books:v1/Volumeannotations/totalItems": total_items
+"/books:v1/Volumeannotations/version": version
+"/books:v1/Volumes": volumes
+"/books:v1/Volumes/items": items
+"/books:v1/Volumes/items/item": item
+"/books:v1/Volumes/kind": kind
+"/books:v1/Volumes/totalItems": total_items
+"/calendar:v3/fields": fields
+"/calendar:v3/key": key
+"/calendar:v3/quotaUser": quota_user
+"/calendar:v3/userIp": user_ip
+"/calendar:v3/calendar.acl.delete": delete_acl
+"/calendar:v3/calendar.acl.delete/calendarId": calendar_id
+"/calendar:v3/calendar.acl.delete/ruleId": rule_id
+"/calendar:v3/calendar.acl.get": get_acl
+"/calendar:v3/calendar.acl.get/calendarId": calendar_id
+"/calendar:v3/calendar.acl.get/ruleId": rule_id
+"/calendar:v3/calendar.acl.insert": insert_acl
+"/calendar:v3/calendar.acl.insert/calendarId": calendar_id
+"/calendar:v3/calendar.acl.list": list_acls
+"/calendar:v3/calendar.acl.list/calendarId": calendar_id
+"/calendar:v3/calendar.acl.list/maxResults": max_results
+"/calendar:v3/calendar.acl.list/pageToken": page_token
+"/calendar:v3/calendar.acl.list/showDeleted": show_deleted
+"/calendar:v3/calendar.acl.list/syncToken": sync_token
+"/calendar:v3/calendar.acl.patch": patch_acl
+"/calendar:v3/calendar.acl.patch/calendarId": calendar_id
+"/calendar:v3/calendar.acl.patch/ruleId": rule_id
+"/calendar:v3/calendar.acl.update": update_acl
+"/calendar:v3/calendar.acl.update/calendarId": calendar_id
+"/calendar:v3/calendar.acl.update/ruleId": rule_id
+"/calendar:v3/calendar.acl.watch": watch_acl
+"/calendar:v3/calendar.acl.watch/calendarId": calendar_id
+"/calendar:v3/calendar.acl.watch/maxResults": max_results
+"/calendar:v3/calendar.acl.watch/pageToken": page_token
+"/calendar:v3/calendar.acl.watch/showDeleted": show_deleted
+"/calendar:v3/calendar.acl.watch/syncToken": sync_token
+"/calendar:v3/calendar.calendarList.delete": delete_calendar_list
+"/calendar:v3/calendar.calendarList.delete/calendarId": calendar_id
+"/calendar:v3/calendar.calendarList.get": get_calendar_list
+"/calendar:v3/calendar.calendarList.get/calendarId": calendar_id
+"/calendar:v3/calendar.calendarList.insert": insert_calendar_list
+"/calendar:v3/calendar.calendarList.insert/colorRgbFormat": color_rgb_format
+"/calendar:v3/calendar.calendarList.list": list_calendar_lists
+"/calendar:v3/calendar.calendarList.list/maxResults": max_results
+"/calendar:v3/calendar.calendarList.list/minAccessRole": min_access_role
+"/calendar:v3/calendar.calendarList.list/pageToken": page_token
+"/calendar:v3/calendar.calendarList.list/showDeleted": show_deleted
+"/calendar:v3/calendar.calendarList.list/showHidden": show_hidden
+"/calendar:v3/calendar.calendarList.list/syncToken": sync_token
+"/calendar:v3/calendar.calendarList.patch": patch_calendar_list
+"/calendar:v3/calendar.calendarList.patch/calendarId": calendar_id
+"/calendar:v3/calendar.calendarList.patch/colorRgbFormat": color_rgb_format
+"/calendar:v3/calendar.calendarList.update": update_calendar_list
+"/calendar:v3/calendar.calendarList.update/calendarId": calendar_id
+"/calendar:v3/calendar.calendarList.update/colorRgbFormat": color_rgb_format
+"/calendar:v3/calendar.calendarList.watch": watch_calendar_list
+"/calendar:v3/calendar.calendarList.watch/maxResults": max_results
+"/calendar:v3/calendar.calendarList.watch/minAccessRole": min_access_role
+"/calendar:v3/calendar.calendarList.watch/pageToken": page_token
+"/calendar:v3/calendar.calendarList.watch/showDeleted": show_deleted
+"/calendar:v3/calendar.calendarList.watch/showHidden": show_hidden
+"/calendar:v3/calendar.calendarList.watch/syncToken": sync_token
+"/calendar:v3/calendar.calendars.clear": clear_calendar
+"/calendar:v3/calendar.calendars.clear/calendarId": calendar_id
+"/calendar:v3/calendar.calendars.delete": delete_calendar
+"/calendar:v3/calendar.calendars.delete/calendarId": calendar_id
+"/calendar:v3/calendar.calendars.get": get_calendar
+"/calendar:v3/calendar.calendars.get/calendarId": calendar_id
+"/calendar:v3/calendar.calendars.insert": insert_calendar
+"/calendar:v3/calendar.calendars.patch": patch_calendar
+"/calendar:v3/calendar.calendars.patch/calendarId": calendar_id
+"/calendar:v3/calendar.calendars.update": update_calendar
+"/calendar:v3/calendar.calendars.update/calendarId": calendar_id
+"/calendar:v3/calendar.channels.stop": stop_channel
+"/calendar:v3/calendar.colors.get": get_color
+"/calendar:v3/calendar.events.delete": delete_event
+"/calendar:v3/calendar.events.delete/calendarId": calendar_id
+"/calendar:v3/calendar.events.delete/eventId": event_id
+"/calendar:v3/calendar.events.delete/sendNotifications": send_notifications
+"/calendar:v3/calendar.events.get": get_event
+"/calendar:v3/calendar.events.get/alwaysIncludeEmail": always_include_email
+"/calendar:v3/calendar.events.get/calendarId": calendar_id
+"/calendar:v3/calendar.events.get/eventId": event_id
+"/calendar:v3/calendar.events.get/maxAttendees": max_attendees
+"/calendar:v3/calendar.events.get/timeZone": time_zone
+"/calendar:v3/calendar.events.import": import_event
+"/calendar:v3/calendar.events.import/calendarId": calendar_id
+"/calendar:v3/calendar.events.insert": insert_event
+"/calendar:v3/calendar.events.insert/calendarId": calendar_id
+"/calendar:v3/calendar.events.insert/maxAttendees": max_attendees
+"/calendar:v3/calendar.events.insert/sendNotifications": send_notifications
+"/calendar:v3/calendar.events.instances": instances_event
+"/calendar:v3/calendar.events.instances/alwaysIncludeEmail": always_include_email
+"/calendar:v3/calendar.events.instances/calendarId": calendar_id
+"/calendar:v3/calendar.events.instances/eventId": event_id
+"/calendar:v3/calendar.events.instances/maxAttendees": max_attendees
+"/calendar:v3/calendar.events.instances/maxResults": max_results
+"/calendar:v3/calendar.events.instances/originalStart": original_start
+"/calendar:v3/calendar.events.instances/pageToken": page_token
+"/calendar:v3/calendar.events.instances/showDeleted": show_deleted
+"/calendar:v3/calendar.events.instances/timeMax": time_max
+"/calendar:v3/calendar.events.instances/timeMin": time_min
+"/calendar:v3/calendar.events.instances/timeZone": time_zone
+"/calendar:v3/calendar.events.list": list_events
+"/calendar:v3/calendar.events.list/alwaysIncludeEmail": always_include_email
+"/calendar:v3/calendar.events.list/calendarId": calendar_id
+"/calendar:v3/calendar.events.list/iCalUID": i_cal_uid
+"/calendar:v3/calendar.events.list/maxAttendees": max_attendees
+"/calendar:v3/calendar.events.list/maxResults": max_results
+"/calendar:v3/calendar.events.list/orderBy": order_by
+"/calendar:v3/calendar.events.list/pageToken": page_token
+"/calendar:v3/calendar.events.list/privateExtendedProperty": private_extended_property
+"/calendar:v3/calendar.events.list/q": q
+"/calendar:v3/calendar.events.list/sharedExtendedProperty": shared_extended_property
+"/calendar:v3/calendar.events.list/showDeleted": show_deleted
+"/calendar:v3/calendar.events.list/showHiddenInvitations": show_hidden_invitations
+"/calendar:v3/calendar.events.list/singleEvents": single_events
+"/calendar:v3/calendar.events.list/syncToken": sync_token
+"/calendar:v3/calendar.events.list/timeMax": time_max
+"/calendar:v3/calendar.events.list/timeMin": time_min
+"/calendar:v3/calendar.events.list/timeZone": time_zone
+"/calendar:v3/calendar.events.list/updatedMin": updated_min
+"/calendar:v3/calendar.events.move": move_event
+"/calendar:v3/calendar.events.move/calendarId": calendar_id
+"/calendar:v3/calendar.events.move/destination": destination
+"/calendar:v3/calendar.events.move/eventId": event_id
+"/calendar:v3/calendar.events.move/sendNotifications": send_notifications
+"/calendar:v3/calendar.events.patch": patch_event
+"/calendar:v3/calendar.events.patch/alwaysIncludeEmail": always_include_email
+"/calendar:v3/calendar.events.patch/calendarId": calendar_id
+"/calendar:v3/calendar.events.patch/eventId": event_id
+"/calendar:v3/calendar.events.patch/maxAttendees": max_attendees
+"/calendar:v3/calendar.events.patch/sendNotifications": send_notifications
+"/calendar:v3/calendar.events.quickAdd": quick_add_event
+"/calendar:v3/calendar.events.quickAdd/calendarId": calendar_id
+"/calendar:v3/calendar.events.quickAdd/sendNotifications": send_notifications
+"/calendar:v3/calendar.events.quickAdd/text": text
+"/calendar:v3/calendar.events.update": update_event
+"/calendar:v3/calendar.events.update/alwaysIncludeEmail": always_include_email
+"/calendar:v3/calendar.events.update/calendarId": calendar_id
+"/calendar:v3/calendar.events.update/eventId": event_id
+"/calendar:v3/calendar.events.update/maxAttendees": max_attendees
+"/calendar:v3/calendar.events.update/sendNotifications": send_notifications
+"/calendar:v3/calendar.events.watch": watch_event
+"/calendar:v3/calendar.events.watch/alwaysIncludeEmail": always_include_email
+"/calendar:v3/calendar.events.watch/calendarId": calendar_id
+"/calendar:v3/calendar.events.watch/iCalUID": i_cal_uid
+"/calendar:v3/calendar.events.watch/maxAttendees": max_attendees
+"/calendar:v3/calendar.events.watch/maxResults": max_results
+"/calendar:v3/calendar.events.watch/orderBy": order_by
+"/calendar:v3/calendar.events.watch/pageToken": page_token
+"/calendar:v3/calendar.events.watch/privateExtendedProperty": private_extended_property
+"/calendar:v3/calendar.events.watch/q": q
+"/calendar:v3/calendar.events.watch/sharedExtendedProperty": shared_extended_property
+"/calendar:v3/calendar.events.watch/showDeleted": show_deleted
+"/calendar:v3/calendar.events.watch/showHiddenInvitations": show_hidden_invitations
+"/calendar:v3/calendar.events.watch/singleEvents": single_events
+"/calendar:v3/calendar.events.watch/syncToken": sync_token
+"/calendar:v3/calendar.events.watch/timeMax": time_max
+"/calendar:v3/calendar.events.watch/timeMin": time_min
+"/calendar:v3/calendar.events.watch/timeZone": time_zone
+"/calendar:v3/calendar.events.watch/updatedMin": updated_min
+"/calendar:v3/calendar.freebusy.query": query_freebusy
+"/calendar:v3/calendar.settings.get": get_setting
+"/calendar:v3/calendar.settings.get/setting": setting
+"/calendar:v3/calendar.settings.list": list_settings
+"/calendar:v3/calendar.settings.list/maxResults": max_results
+"/calendar:v3/calendar.settings.list/pageToken": page_token
+"/calendar:v3/calendar.settings.list/syncToken": sync_token
+"/calendar:v3/calendar.settings.watch": watch_setting
+"/calendar:v3/calendar.settings.watch/maxResults": max_results
+"/calendar:v3/calendar.settings.watch/pageToken": page_token
+"/calendar:v3/calendar.settings.watch/syncToken": sync_token
+"/calendar:v3/Acl": acl
+"/calendar:v3/Acl/etag": etag
+"/calendar:v3/Acl/items": items
+"/calendar:v3/Acl/items/item": item
+"/calendar:v3/Acl/kind": kind
+"/calendar:v3/Acl/nextPageToken": next_page_token
+"/calendar:v3/Acl/nextSyncToken": next_sync_token
+"/calendar:v3/AclRule": acl_rule
+"/calendar:v3/AclRule/etag": etag
+"/calendar:v3/AclRule/id": id
+"/calendar:v3/AclRule/kind": kind
+"/calendar:v3/AclRule/role": role
+"/calendar:v3/AclRule/scope": scope
+"/calendar:v3/AclRule/scope/type": type
+"/calendar:v3/AclRule/scope/value": value
+"/calendar:v3/Calendar": calendar
+"/calendar:v3/Calendar/description": description
+"/calendar:v3/Calendar/etag": etag
+"/calendar:v3/Calendar/id": id
+"/calendar:v3/Calendar/kind": kind
+"/calendar:v3/Calendar/location": location
+"/calendar:v3/Calendar/summary": summary
+"/calendar:v3/Calendar/timeZone": time_zone
+"/calendar:v3/CalendarList": calendar_list
+"/calendar:v3/CalendarList/etag": etag
+"/calendar:v3/CalendarList/items": items
+"/calendar:v3/CalendarList/items/item": item
+"/calendar:v3/CalendarList/kind": kind
+"/calendar:v3/CalendarList/nextPageToken": next_page_token
+"/calendar:v3/CalendarList/nextSyncToken": next_sync_token
+"/calendar:v3/CalendarListEntry": calendar_list_entry
+"/calendar:v3/CalendarListEntry/accessRole": access_role
+"/calendar:v3/CalendarListEntry/backgroundColor": background_color
+"/calendar:v3/CalendarListEntry/colorId": color_id
+"/calendar:v3/CalendarListEntry/defaultReminders": default_reminders
+"/calendar:v3/CalendarListEntry/defaultReminders/default_reminder": default_reminder
+"/calendar:v3/CalendarListEntry/deleted": deleted
+"/calendar:v3/CalendarListEntry/description": description
+"/calendar:v3/CalendarListEntry/etag": etag
+"/calendar:v3/CalendarListEntry/foregroundColor": foreground_color
+"/calendar:v3/CalendarListEntry/hidden": hidden
+"/calendar:v3/CalendarListEntry/id": id
+"/calendar:v3/CalendarListEntry/kind": kind
+"/calendar:v3/CalendarListEntry/location": location
+"/calendar:v3/CalendarListEntry/notificationSettings": notification_settings
+"/calendar:v3/CalendarListEntry/notificationSettings/notifications": notifications
+"/calendar:v3/CalendarListEntry/notificationSettings/notifications/notification": notification
+"/calendar:v3/CalendarListEntry/primary": primary
+"/calendar:v3/CalendarListEntry/selected": selected
+"/calendar:v3/CalendarListEntry/summary": summary
+"/calendar:v3/CalendarListEntry/summaryOverride": summary_override
+"/calendar:v3/CalendarListEntry/timeZone": time_zone
+"/calendar:v3/CalendarNotification": calendar_notification
+"/calendar:v3/CalendarNotification/type": type
+"/calendar:v3/Channel": channel
+"/calendar:v3/Channel/address": address
+"/calendar:v3/Channel/expiration": expiration
+"/calendar:v3/Channel/id": id
+"/calendar:v3/Channel/kind": kind
+"/calendar:v3/Channel/params": params
+"/calendar:v3/Channel/params/param": param
+"/calendar:v3/Channel/payload": payload
+"/calendar:v3/Channel/resourceId": resource_id
+"/calendar:v3/Channel/resourceUri": resource_uri
+"/calendar:v3/Channel/token": token
+"/calendar:v3/Channel/type": type
+"/calendar:v3/ColorDefinition": color_definition
+"/calendar:v3/ColorDefinition/background": background
+"/calendar:v3/ColorDefinition/foreground": foreground
+"/calendar:v3/Colors": colors
+"/calendar:v3/Colors/calendar": calendar
+"/calendar:v3/Colors/calendar/calendar": calendar
+"/calendar:v3/Colors/event": event
+"/calendar:v3/Colors/event/event": event
+"/calendar:v3/Colors/kind": kind
+"/calendar:v3/Colors/updated": updated
+"/calendar:v3/Error": error
+"/calendar:v3/Error/domain": domain
+"/calendar:v3/Error/reason": reason
+"/calendar:v3/Event": event
+"/calendar:v3/Event/anyoneCanAddSelf": anyone_can_add_self
+"/calendar:v3/Event/attendees": attendees
+"/calendar:v3/Event/attendees/attendee": attendee
+"/calendar:v3/Event/attendeesOmitted": attendees_omitted
+"/calendar:v3/Event/colorId": color_id
+"/calendar:v3/Event/created": created
+"/calendar:v3/Event/creator": creator
+"/calendar:v3/Event/creator/displayName": display_name
+"/calendar:v3/Event/creator/email": email
+"/calendar:v3/Event/creator/id": id
+"/calendar:v3/Event/creator/self": self
+"/calendar:v3/Event/description": description
+"/calendar:v3/Event/end": end
+"/calendar:v3/Event/endTimeUnspecified": end_time_unspecified
+"/calendar:v3/Event/etag": etag
+"/calendar:v3/Event/extendedProperties": extended_properties
+"/calendar:v3/Event/extendedProperties/private": private
+"/calendar:v3/Event/extendedProperties/private/private": private
+"/calendar:v3/Event/extendedProperties/shared": shared
+"/calendar:v3/Event/extendedProperties/shared/shared": shared
+"/calendar:v3/Event/gadget": gadget
+"/calendar:v3/Event/gadget/height": height
+"/calendar:v3/Event/gadget/iconLink": icon_link
+"/calendar:v3/Event/gadget/link": link
+"/calendar:v3/Event/gadget/preferences": preferences
+"/calendar:v3/Event/gadget/preferences/preference": preference
+"/calendar:v3/Event/gadget/title": title
+"/calendar:v3/Event/gadget/type": type
+"/calendar:v3/Event/gadget/width": width
+"/calendar:v3/Event/guestsCanInviteOthers": guests_can_invite_others
+"/calendar:v3/Event/guestsCanModify": guests_can_modify
+"/calendar:v3/Event/guestsCanSeeOtherGuests": guests_can_see_other_guests
+"/calendar:v3/Event/hangoutLink": hangout_link
+"/calendar:v3/Event/htmlLink": html_link
+"/calendar:v3/Event/iCalUID": i_cal_uid
+"/calendar:v3/Event/id": id
+"/calendar:v3/Event/kind": kind
+"/calendar:v3/Event/location": location
+"/calendar:v3/Event/locked": locked
+"/calendar:v3/Event/organizer": organizer
+"/calendar:v3/Event/organizer/displayName": display_name
+"/calendar:v3/Event/organizer/email": email
+"/calendar:v3/Event/organizer/id": id
+"/calendar:v3/Event/organizer/self": self
+"/calendar:v3/Event/originalStartTime": original_start_time
+"/calendar:v3/Event/privateCopy": private_copy
+"/calendar:v3/Event/recurrence": recurrence
+"/calendar:v3/Event/recurrence/recurrence": recurrence
+"/calendar:v3/Event/recurringEventId": recurring_event_id
+"/calendar:v3/Event/reminders": reminders
+"/calendar:v3/Event/reminders/overrides": overrides
+"/calendar:v3/Event/reminders/overrides/override": override
+"/calendar:v3/Event/reminders/useDefault": use_default
+"/calendar:v3/Event/sequence": sequence
+"/calendar:v3/Event/source": source
+"/calendar:v3/Event/source/title": title
+"/calendar:v3/Event/source/url": url
+"/calendar:v3/Event/start": start
+"/calendar:v3/Event/status": status
+"/calendar:v3/Event/summary": summary
+"/calendar:v3/Event/transparency": transparency
+"/calendar:v3/Event/updated": updated
+"/calendar:v3/Event/visibility": visibility
+"/calendar:v3/EventAttachment": event_attachment
+"/calendar:v3/EventAttendee": event_attendee
+"/calendar:v3/EventAttendee/additionalGuests": additional_guests
+"/calendar:v3/EventAttendee/comment": comment
+"/calendar:v3/EventAttendee/displayName": display_name
+"/calendar:v3/EventAttendee/email": email
+"/calendar:v3/EventAttendee/id": id
+"/calendar:v3/EventAttendee/optional": optional
+"/calendar:v3/EventAttendee/organizer": organizer
+"/calendar:v3/EventAttendee/resource": resource
+"/calendar:v3/EventAttendee/responseStatus": response_status
+"/calendar:v3/EventAttendee/self": self
+"/calendar:v3/EventDateTime": event_date_time
+"/calendar:v3/EventDateTime/date": date
+"/calendar:v3/EventDateTime/dateTime": date_time
+"/calendar:v3/EventDateTime/timeZone": time_zone
+"/calendar:v3/EventReminder": event_reminder
+"/calendar:v3/EventReminder/minutes": minutes
+"/calendar:v3/Events": events
+"/calendar:v3/Events/accessRole": access_role
+"/calendar:v3/Events/defaultReminders": default_reminders
+"/calendar:v3/Events/defaultReminders/default_reminder": default_reminder
+"/calendar:v3/Events/description": description
+"/calendar:v3/Events/etag": etag
+"/calendar:v3/Events/items": items
+"/calendar:v3/Events/items/item": item
+"/calendar:v3/Events/kind": kind
+"/calendar:v3/Events/nextPageToken": next_page_token
+"/calendar:v3/Events/nextSyncToken": next_sync_token
+"/calendar:v3/Events/summary": summary
+"/calendar:v3/Events/timeZone": time_zone
+"/calendar:v3/Events/updated": updated
+"/calendar:v3/FreeBusyCalendar": free_busy_calendar
+"/calendar:v3/FreeBusyCalendar/busy": busy
+"/calendar:v3/FreeBusyCalendar/busy/busy": busy
+"/calendar:v3/FreeBusyCalendar/errors": errors
+"/calendar:v3/FreeBusyCalendar/errors/error": error
+"/calendar:v3/FreeBusyGroup": free_busy_group
+"/calendar:v3/FreeBusyGroup/calendars": calendars
+"/calendar:v3/FreeBusyGroup/calendars/calendar": calendar
+"/calendar:v3/FreeBusyGroup/errors": errors
+"/calendar:v3/FreeBusyGroup/errors/error": error
+"/calendar:v3/FreeBusyRequest": free_busy_request
+"/calendar:v3/FreeBusyRequest/calendarExpansionMax": calendar_expansion_max
+"/calendar:v3/FreeBusyRequest/groupExpansionMax": group_expansion_max
+"/calendar:v3/FreeBusyRequest/items": items
+"/calendar:v3/FreeBusyRequest/items/item": item
+"/calendar:v3/FreeBusyRequest/timeMax": time_max
+"/calendar:v3/FreeBusyRequest/timeMin": time_min
+"/calendar:v3/FreeBusyRequest/timeZone": time_zone
+"/calendar:v3/FreeBusyRequestItem": free_busy_request_item
+"/calendar:v3/FreeBusyRequestItem/id": id
+"/calendar:v3/FreeBusyResponse": free_busy_response
+"/calendar:v3/FreeBusyResponse/calendars": calendars
+"/calendar:v3/FreeBusyResponse/calendars/calendar": calendar
+"/calendar:v3/FreeBusyResponse/groups": groups
+"/calendar:v3/FreeBusyResponse/groups/group": group
+"/calendar:v3/FreeBusyResponse/kind": kind
+"/calendar:v3/FreeBusyResponse/timeMax": time_max
+"/calendar:v3/FreeBusyResponse/timeMin": time_min
+"/calendar:v3/Setting": setting
+"/calendar:v3/Setting/etag": etag
+"/calendar:v3/Setting/id": id
+"/calendar:v3/Setting/kind": kind
+"/calendar:v3/Setting/value": value
+"/calendar:v3/Settings": settings
+"/calendar:v3/Settings/etag": etag
+"/calendar:v3/Settings/items": items
+"/calendar:v3/Settings/items/item": item
+"/calendar:v3/Settings/kind": kind
+"/calendar:v3/Settings/nextPageToken": next_page_token
+"/calendar:v3/Settings/nextSyncToken": next_sync_token
+"/calendar:v3/TimePeriod": time_period
+"/calendar:v3/TimePeriod/end": end
+"/calendar:v3/TimePeriod/start": start
+"/civicinfo:v2/fields": fields
+"/civicinfo:v2/key": key
+"/civicinfo:v2/quotaUser": quota_user
+"/civicinfo:v2/userIp": user_ip
+"/civicinfo:v2/civicinfo.divisions.search/query": query
+"/civicinfo:v2/civicinfo.elections.voterInfoQuery/address": address
+"/civicinfo:v2/civicinfo.elections.voterInfoQuery/electionId": election_id
+"/civicinfo:v2/civicinfo.elections.voterInfoQuery/officialOnly": official_only
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByAddress/address": address
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByAddress/includeOffices": include_offices
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByAddress/levels": levels
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByAddress/roles": roles
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByDivision/levels": levels
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByDivision/ocdId": ocd_id
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByDivision/recursive": recursive
+"/civicinfo:v2/civicinfo.representatives.representativeInfoByDivision/roles": roles
+"/civicinfo:v2/AdministrationRegion": administration_region
+"/civicinfo:v2/AdministrationRegion/electionAdministrationBody": election_administration_body
+"/civicinfo:v2/AdministrationRegion/id": id
+"/civicinfo:v2/AdministrationRegion/local_jurisdiction": local_jurisdiction
+"/civicinfo:v2/AdministrationRegion/name": name
+"/civicinfo:v2/AdministrationRegion/sources": sources
+"/civicinfo:v2/AdministrationRegion/sources/source": source
+"/civicinfo:v2/AdministrativeBody": administrative_body
+"/civicinfo:v2/AdministrativeBody/absenteeVotingInfoUrl": absentee_voting_info_url
+"/civicinfo:v2/AdministrativeBody/ballotInfoUrl": ballot_info_url
+"/civicinfo:v2/AdministrativeBody/correspondenceAddress": correspondence_address
+"/civicinfo:v2/AdministrativeBody/electionInfoUrl": election_info_url
+"/civicinfo:v2/AdministrativeBody/electionOfficials": election_officials
+"/civicinfo:v2/AdministrativeBody/electionOfficials/election_official": election_official
+"/civicinfo:v2/AdministrativeBody/electionRegistrationConfirmationUrl": election_registration_confirmation_url
+"/civicinfo:v2/AdministrativeBody/electionRegistrationUrl": election_registration_url
+"/civicinfo:v2/AdministrativeBody/electionRulesUrl": election_rules_url
+"/civicinfo:v2/AdministrativeBody/hoursOfOperation": hours_of_operation
+"/civicinfo:v2/AdministrativeBody/name": name
+"/civicinfo:v2/AdministrativeBody/physicalAddress": physical_address
+"/civicinfo:v2/AdministrativeBody/voter_services": voter_services
+"/civicinfo:v2/AdministrativeBody/voter_services/voter_service": voter_service
+"/civicinfo:v2/AdministrativeBody/votingLocationFinderUrl": voting_location_finder_url
+"/civicinfo:v2/Candidate": candidate
+"/civicinfo:v2/Candidate/candidateUrl": candidate_url
+"/civicinfo:v2/Candidate/channels": channels
+"/civicinfo:v2/Candidate/channels/channel": channel
+"/civicinfo:v2/Candidate/email": email
+"/civicinfo:v2/Candidate/name": name
+"/civicinfo:v2/Candidate/orderOnBallot": order_on_ballot
+"/civicinfo:v2/Candidate/party": party
+"/civicinfo:v2/Candidate/phone": phone
+"/civicinfo:v2/Candidate/photoUrl": photo_url
+"/civicinfo:v2/Channel": channel
+"/civicinfo:v2/Channel/id": id
+"/civicinfo:v2/Channel/type": type
+"/civicinfo:v2/Contest": contest
+"/civicinfo:v2/Contest/ballotPlacement": ballot_placement
+"/civicinfo:v2/Contest/candidates": candidates
+"/civicinfo:v2/Contest/candidates/candidate": candidate
+"/civicinfo:v2/Contest/district": district
+"/civicinfo:v2/Contest/electorateSpecifications": electorate_specifications
+"/civicinfo:v2/Contest/id": id
+"/civicinfo:v2/Contest/level": level
+"/civicinfo:v2/Contest/level/level": level
+"/civicinfo:v2/Contest/numberElected": number_elected
+"/civicinfo:v2/Contest/numberVotingFor": number_voting_for
+"/civicinfo:v2/Contest/office": office
+"/civicinfo:v2/Contest/primaryParty": primary_party
+"/civicinfo:v2/Contest/referendumSubtitle": referendum_subtitle
+"/civicinfo:v2/Contest/referendumTitle": referendum_title
+"/civicinfo:v2/Contest/referendumUrl": referendum_url
+"/civicinfo:v2/Contest/roles": roles
+"/civicinfo:v2/Contest/roles/role": role
+"/civicinfo:v2/Contest/sources": sources
+"/civicinfo:v2/Contest/sources/source": source
+"/civicinfo:v2/Contest/special": special
+"/civicinfo:v2/Contest/type": type
+"/civicinfo:v2/DivisionSearchResponse/kind": kind
+"/civicinfo:v2/DivisionSearchResponse/results": results
+"/civicinfo:v2/DivisionSearchResponse/results/result": result
+"/civicinfo:v2/DivisionSearchResult": division_search_result
+"/civicinfo:v2/DivisionSearchResult/aliases": aliases
+"/civicinfo:v2/DivisionSearchResult/aliases/alias": alias
+"/civicinfo:v2/DivisionSearchResult/name": name
+"/civicinfo:v2/DivisionSearchResult/ocdId": ocd_id
+"/civicinfo:v2/Election": election
+"/civicinfo:v2/Election/electionDay": election_day
+"/civicinfo:v2/Election/id": id
+"/civicinfo:v2/Election/name": name
+"/civicinfo:v2/ElectionOfficial": election_official
+"/civicinfo:v2/ElectionOfficial/emailAddress": email_address
+"/civicinfo:v2/ElectionOfficial/faxNumber": fax_number
+"/civicinfo:v2/ElectionOfficial/name": name
+"/civicinfo:v2/ElectionOfficial/officePhoneNumber": office_phone_number
+"/civicinfo:v2/ElectionOfficial/title": title
+"/civicinfo:v2/ElectionsQueryResponse/elections": elections
+"/civicinfo:v2/ElectionsQueryResponse/elections/election": election
+"/civicinfo:v2/ElectionsQueryResponse/kind": kind
+"/civicinfo:v2/ElectoralDistrict": electoral_district
+"/civicinfo:v2/ElectoralDistrict/id": id
+"/civicinfo:v2/ElectoralDistrict/name": name
+"/civicinfo:v2/ElectoralDistrict/scope": scope
+"/civicinfo:v2/GeographicDivision": geographic_division
+"/civicinfo:v2/GeographicDivision/alsoKnownAs": also_known_as
+"/civicinfo:v2/GeographicDivision/alsoKnownAs/also_known_a": also_known_a
+"/civicinfo:v2/GeographicDivision/name": name
+"/civicinfo:v2/GeographicDivision/officeIndices": office_indices
+"/civicinfo:v2/GeographicDivision/officeIndices/office_index": office_index
+"/civicinfo:v2/Office": office
+"/civicinfo:v2/Office/divisionId": division_id
+"/civicinfo:v2/Office/levels": levels
+"/civicinfo:v2/Office/levels/level": level
+"/civicinfo:v2/Office/name": name
+"/civicinfo:v2/Office/officialIndices": official_indices
+"/civicinfo:v2/Office/officialIndices/official_index": official_index
+"/civicinfo:v2/Office/roles": roles
+"/civicinfo:v2/Office/roles/role": role
+"/civicinfo:v2/Office/sources": sources
+"/civicinfo:v2/Office/sources/source": source
+"/civicinfo:v2/Official": official
+"/civicinfo:v2/Official/address": address
+"/civicinfo:v2/Official/address/address": address
+"/civicinfo:v2/Official/channels": channels
+"/civicinfo:v2/Official/channels/channel": channel
+"/civicinfo:v2/Official/emails": emails
+"/civicinfo:v2/Official/emails/email": email
+"/civicinfo:v2/Official/name": name
+"/civicinfo:v2/Official/party": party
+"/civicinfo:v2/Official/phones": phones
+"/civicinfo:v2/Official/phones/phone": phone
+"/civicinfo:v2/Official/photoUrl": photo_url
+"/civicinfo:v2/Official/urls": urls
+"/civicinfo:v2/Official/urls/url": url
+"/civicinfo:v2/PollingLocation": polling_location
+"/civicinfo:v2/PollingLocation/address": address
+"/civicinfo:v2/PollingLocation/endDate": end_date
+"/civicinfo:v2/PollingLocation/id": id
+"/civicinfo:v2/PollingLocation/name": name
+"/civicinfo:v2/PollingLocation/notes": notes
+"/civicinfo:v2/PollingLocation/pollingHours": polling_hours
+"/civicinfo:v2/PollingLocation/sources": sources
+"/civicinfo:v2/PollingLocation/sources/source": source
+"/civicinfo:v2/PollingLocation/startDate": start_date
+"/civicinfo:v2/PollingLocation/voterServices": voter_services
+"/civicinfo:v2/RepresentativeInfoData": representative_info_data
+"/civicinfo:v2/RepresentativeInfoData/divisions": divisions
+"/civicinfo:v2/RepresentativeInfoData/divisions/division": division
+"/civicinfo:v2/RepresentativeInfoData/offices": offices
+"/civicinfo:v2/RepresentativeInfoData/offices/office": office
+"/civicinfo:v2/RepresentativeInfoData/officials": officials
+"/civicinfo:v2/RepresentativeInfoData/officials/official": official
+"/civicinfo:v2/RepresentativeInfoResponse": representative_info_response
+"/civicinfo:v2/RepresentativeInfoResponse/divisions": divisions
+"/civicinfo:v2/RepresentativeInfoResponse/divisions/division": division
+"/civicinfo:v2/RepresentativeInfoResponse/kind": kind
+"/civicinfo:v2/RepresentativeInfoResponse/normalizedInput": normalized_input
+"/civicinfo:v2/RepresentativeInfoResponse/offices": offices
+"/civicinfo:v2/RepresentativeInfoResponse/offices/office": office
+"/civicinfo:v2/RepresentativeInfoResponse/officials": officials
+"/civicinfo:v2/RepresentativeInfoResponse/officials/official": official
+"/civicinfo:v2/SimpleAddressType": simple_address_type
+"/civicinfo:v2/SimpleAddressType/city": city
+"/civicinfo:v2/SimpleAddressType/line1": line1
+"/civicinfo:v2/SimpleAddressType/line2": line2
+"/civicinfo:v2/SimpleAddressType/line3": line3
+"/civicinfo:v2/SimpleAddressType/locationName": location_name
+"/civicinfo:v2/SimpleAddressType/state": state
+"/civicinfo:v2/SimpleAddressType/zip": zip
+"/civicinfo:v2/Source": source
+"/civicinfo:v2/Source/name": name
+"/civicinfo:v2/Source/official": official
+"/civicinfo:v2/VoterInfoResponse": voter_info_response
+"/civicinfo:v2/VoterInfoResponse/contests": contests
+"/civicinfo:v2/VoterInfoResponse/contests/contest": contest
+"/civicinfo:v2/VoterInfoResponse/dropOffLocations": drop_off_locations
+"/civicinfo:v2/VoterInfoResponse/dropOffLocations/drop_off_location": drop_off_location
+"/civicinfo:v2/VoterInfoResponse/earlyVoteSites": early_vote_sites
+"/civicinfo:v2/VoterInfoResponse/earlyVoteSites/early_vote_site": early_vote_site
+"/civicinfo:v2/VoterInfoResponse/election": election
+"/civicinfo:v2/VoterInfoResponse/kind": kind
+"/civicinfo:v2/VoterInfoResponse/normalizedInput": normalized_input
+"/civicinfo:v2/VoterInfoResponse/otherElections": other_elections
+"/civicinfo:v2/VoterInfoResponse/otherElections/other_election": other_election
+"/civicinfo:v2/VoterInfoResponse/pollingLocations": polling_locations
+"/civicinfo:v2/VoterInfoResponse/pollingLocations/polling_location": polling_location
+"/civicinfo:v2/VoterInfoResponse/precinctId": precinct_id
+"/civicinfo:v2/VoterInfoResponse/state": state
+"/civicinfo:v2/VoterInfoResponse/state/state": state
+"/cloudmonitoring:v2beta2/fields": fields
+"/cloudmonitoring:v2beta2/key": key
+"/cloudmonitoring:v2beta2/quotaUser": quota_user
+"/cloudmonitoring:v2beta2/userIp": user_ip
+"/cloudmonitoring:v2beta2/cloudmonitoring.metricDescriptors.create": create_metric_descriptor
+"/cloudmonitoring:v2beta2/cloudmonitoring.metricDescriptors.create/project": project
+"/cloudmonitoring:v2beta2/cloudmonitoring.metricDescriptors.delete": delete_metric_descriptor
+"/cloudmonitoring:v2beta2/cloudmonitoring.metricDescriptors.delete/metric": metric
+"/cloudmonitoring:v2beta2/cloudmonitoring.metricDescriptors.delete/project": project
+"/cloudmonitoring:v2beta2/cloudmonitoring.metricDescriptors.list": list_metric_descriptors
+"/cloudmonitoring:v2beta2/cloudmonitoring.metricDescriptors.list/count": count
+"/cloudmonitoring:v2beta2/cloudmonitoring.metricDescriptors.list/pageToken": page_token
+"/cloudmonitoring:v2beta2/cloudmonitoring.metricDescriptors.list/project": project
+"/cloudmonitoring:v2beta2/cloudmonitoring.metricDescriptors.list/query": query
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list": list_timeseries
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list/aggregator": aggregator
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list/count": count
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list/labels": labels
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list/metric": metric
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list/oldest": oldest
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list/pageToken": page_token
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list/project": project
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list/timespan": timespan
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list/window": window
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.list/youngest": youngest
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.write": write_timeseries
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseries.write/project": project
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list": list_timeseries_descriptors
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list/aggregator": aggregator
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list/count": count
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list/labels": labels
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list/metric": metric
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list/oldest": oldest
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list/pageToken": page_token
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list/project": project
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list/timespan": timespan
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list/window": window
+"/cloudmonitoring:v2beta2/cloudmonitoring.timeseriesDescriptors.list/youngest": youngest
+"/cloudmonitoring:v2beta2/DeleteMetricDescriptorResponse": delete_metric_descriptor_response
+"/cloudmonitoring:v2beta2/DeleteMetricDescriptorResponse/kind": kind
+"/cloudmonitoring:v2beta2/ListMetricDescriptorsRequest": list_metric_descriptors_request
+"/cloudmonitoring:v2beta2/ListMetricDescriptorsRequest/kind": kind
+"/cloudmonitoring:v2beta2/ListMetricDescriptorsResponse": list_metric_descriptors_response
+"/cloudmonitoring:v2beta2/ListMetricDescriptorsResponse/kind": kind
+"/cloudmonitoring:v2beta2/ListMetricDescriptorsResponse/metrics": metrics
+"/cloudmonitoring:v2beta2/ListMetricDescriptorsResponse/metrics/metric": metric
+"/cloudmonitoring:v2beta2/ListMetricDescriptorsResponse/nextPageToken": next_page_token
+"/cloudmonitoring:v2beta2/ListTimeseriesDescriptorsRequest": list_timeseries_descriptors_request
+"/cloudmonitoring:v2beta2/ListTimeseriesDescriptorsRequest/kind": kind
+"/cloudmonitoring:v2beta2/ListTimeseriesDescriptorsResponse": list_timeseries_descriptors_response
+"/cloudmonitoring:v2beta2/ListTimeseriesDescriptorsResponse/kind": kind
+"/cloudmonitoring:v2beta2/ListTimeseriesDescriptorsResponse/nextPageToken": next_page_token
+"/cloudmonitoring:v2beta2/ListTimeseriesDescriptorsResponse/oldest": oldest
+"/cloudmonitoring:v2beta2/ListTimeseriesDescriptorsResponse/timeseries": timeseries
+"/cloudmonitoring:v2beta2/ListTimeseriesDescriptorsResponse/timeseries/timeseries": timeseries
+"/cloudmonitoring:v2beta2/ListTimeseriesDescriptorsResponse/youngest": youngest
+"/cloudmonitoring:v2beta2/ListTimeseriesRequest": list_timeseries_request
+"/cloudmonitoring:v2beta2/ListTimeseriesRequest/kind": kind
+"/cloudmonitoring:v2beta2/ListTimeseriesResponse": list_timeseries_response
+"/cloudmonitoring:v2beta2/ListTimeseriesResponse/kind": kind
+"/cloudmonitoring:v2beta2/ListTimeseriesResponse/nextPageToken": next_page_token
+"/cloudmonitoring:v2beta2/ListTimeseriesResponse/oldest": oldest
+"/cloudmonitoring:v2beta2/ListTimeseriesResponse/timeseries": timeseries
+"/cloudmonitoring:v2beta2/ListTimeseriesResponse/timeseries/timeseries": timeseries
+"/cloudmonitoring:v2beta2/ListTimeseriesResponse/youngest": youngest
+"/cloudmonitoring:v2beta2/MetricDescriptor": metric_descriptor
+"/cloudmonitoring:v2beta2/MetricDescriptor/description": description
+"/cloudmonitoring:v2beta2/MetricDescriptor/labels": labels
+"/cloudmonitoring:v2beta2/MetricDescriptor/labels/label": label
+"/cloudmonitoring:v2beta2/MetricDescriptor/name": name
+"/cloudmonitoring:v2beta2/MetricDescriptor/project": project
+"/cloudmonitoring:v2beta2/MetricDescriptor/typeDescriptor": type_descriptor
+"/cloudmonitoring:v2beta2/MetricDescriptorLabelDescriptor": metric_descriptor_label_descriptor
+"/cloudmonitoring:v2beta2/MetricDescriptorLabelDescriptor/description": description
+"/cloudmonitoring:v2beta2/MetricDescriptorLabelDescriptor/key": key
+"/cloudmonitoring:v2beta2/MetricDescriptorTypeDescriptor": metric_descriptor_type_descriptor
+"/cloudmonitoring:v2beta2/MetricDescriptorTypeDescriptor/metricType": metric_type
+"/cloudmonitoring:v2beta2/MetricDescriptorTypeDescriptor/valueType": value_type
+"/cloudmonitoring:v2beta2/Point": point
+"/cloudmonitoring:v2beta2/Point/boolValue": bool_value
+"/cloudmonitoring:v2beta2/Point/distributionValue": distribution_value
+"/cloudmonitoring:v2beta2/Point/doubleValue": double_value
+"/cloudmonitoring:v2beta2/Point/end": end
+"/cloudmonitoring:v2beta2/Point/int64Value": int64_value
+"/cloudmonitoring:v2beta2/Point/start": start
+"/cloudmonitoring:v2beta2/Point/stringValue": string_value
+"/cloudmonitoring:v2beta2/PointDistribution": point_distribution
+"/cloudmonitoring:v2beta2/PointDistribution/buckets": buckets
+"/cloudmonitoring:v2beta2/PointDistribution/buckets/bucket": bucket
+"/cloudmonitoring:v2beta2/PointDistribution/overflowBucket": overflow_bucket
+"/cloudmonitoring:v2beta2/PointDistribution/underflowBucket": underflow_bucket
+"/cloudmonitoring:v2beta2/PointDistributionBucket": point_distribution_bucket
+"/cloudmonitoring:v2beta2/PointDistributionBucket/count": count
+"/cloudmonitoring:v2beta2/PointDistributionBucket/lowerBound": lower_bound
+"/cloudmonitoring:v2beta2/PointDistributionBucket/upperBound": upper_bound
+"/cloudmonitoring:v2beta2/PointDistributionOverflowBucket": point_distribution_overflow_bucket
+"/cloudmonitoring:v2beta2/PointDistributionOverflowBucket/count": count
+"/cloudmonitoring:v2beta2/PointDistributionOverflowBucket/lowerBound": lower_bound
+"/cloudmonitoring:v2beta2/PointDistributionUnderflowBucket": point_distribution_underflow_bucket
+"/cloudmonitoring:v2beta2/PointDistributionUnderflowBucket/count": count
+"/cloudmonitoring:v2beta2/PointDistributionUnderflowBucket/upperBound": upper_bound
+"/cloudmonitoring:v2beta2/Timeseries": timeseries
+"/cloudmonitoring:v2beta2/Timeseries/points": points
+"/cloudmonitoring:v2beta2/Timeseries/points/point": point
+"/cloudmonitoring:v2beta2/Timeseries/timeseriesDesc": timeseries_desc
+"/cloudmonitoring:v2beta2/TimeseriesDescriptor": timeseries_descriptor
+"/cloudmonitoring:v2beta2/TimeseriesDescriptor/labels": labels
+"/cloudmonitoring:v2beta2/TimeseriesDescriptor/labels/label": label
+"/cloudmonitoring:v2beta2/TimeseriesDescriptor/metric": metric
+"/cloudmonitoring:v2beta2/TimeseriesDescriptor/project": project
+"/cloudmonitoring:v2beta2/TimeseriesDescriptorLabel": timeseries_descriptor_label
+"/cloudmonitoring:v2beta2/TimeseriesDescriptorLabel/key": key
+"/cloudmonitoring:v2beta2/TimeseriesDescriptorLabel/value": value
+"/cloudmonitoring:v2beta2/TimeseriesPoint": timeseries_point
+"/cloudmonitoring:v2beta2/TimeseriesPoint/point": point
+"/cloudmonitoring:v2beta2/TimeseriesPoint/timeseriesDesc": timeseries_desc
+"/cloudmonitoring:v2beta2/WriteTimeseriesRequest": write_timeseries_request
+"/cloudmonitoring:v2beta2/WriteTimeseriesRequest/commonLabels": common_labels
+"/cloudmonitoring:v2beta2/WriteTimeseriesRequest/commonLabels/common_label": common_label
+"/cloudmonitoring:v2beta2/WriteTimeseriesRequest/timeseries": timeseries
+"/cloudmonitoring:v2beta2/WriteTimeseriesRequest/timeseries/timeseries": timeseries
+"/cloudmonitoring:v2beta2/WriteTimeseriesResponse": write_timeseries_response
+"/cloudmonitoring:v2beta2/WriteTimeseriesResponse/kind": kind
+"/compute:v1/fields": fields
+"/compute:v1/key": key
+"/compute:v1/quotaUser": quota_user
+"/compute:v1/userIp": user_ip
+"/compute:v1/compute.addresses.aggregatedList/filter": filter
+"/compute:v1/compute.addresses.aggregatedList/maxResults": max_results
+"/compute:v1/compute.addresses.aggregatedList/pageToken": page_token
+"/compute:v1/compute.addresses.aggregatedList/project": project
+"/compute:v1/compute.addresses.delete": delete_address
+"/compute:v1/compute.addresses.delete/address": address
+"/compute:v1/compute.addresses.delete/project": project
+"/compute:v1/compute.addresses.delete/region": region
+"/compute:v1/compute.addresses.get": get_address
+"/compute:v1/compute.addresses.get/address": address
+"/compute:v1/compute.addresses.get/project": project
+"/compute:v1/compute.addresses.get/region": region
+"/compute:v1/compute.addresses.insert": insert_address
+"/compute:v1/compute.addresses.insert/project": project
+"/compute:v1/compute.addresses.insert/region": region
+"/compute:v1/compute.addresses.list": list_addresses
+"/compute:v1/compute.addresses.list/filter": filter
+"/compute:v1/compute.addresses.list/maxResults": max_results
+"/compute:v1/compute.addresses.list/pageToken": page_token
+"/compute:v1/compute.addresses.list/project": project
+"/compute:v1/compute.addresses.list/region": region
+"/compute:v1/compute.backendServices.delete": delete_backend_service
+"/compute:v1/compute.backendServices.delete/backendService": backend_service
+"/compute:v1/compute.backendServices.delete/project": project
+"/compute:v1/compute.backendServices.get": get_backend_service
+"/compute:v1/compute.backendServices.get/backendService": backend_service
+"/compute:v1/compute.backendServices.get/project": project
+"/compute:v1/compute.backendServices.getHealth/backendService": backend_service
+"/compute:v1/compute.backendServices.getHealth/project": project
+"/compute:v1/compute.backendServices.insert": insert_backend_service
+"/compute:v1/compute.backendServices.insert/project": project
+"/compute:v1/compute.backendServices.list": list_backend_services
+"/compute:v1/compute.backendServices.list/filter": filter
+"/compute:v1/compute.backendServices.list/maxResults": max_results
+"/compute:v1/compute.backendServices.list/pageToken": page_token
+"/compute:v1/compute.backendServices.list/project": project
+"/compute:v1/compute.backendServices.patch": patch_backend_service
+"/compute:v1/compute.backendServices.patch/backendService": backend_service
+"/compute:v1/compute.backendServices.patch/project": project
+"/compute:v1/compute.backendServices.update": update_backend_service
+"/compute:v1/compute.backendServices.update/backendService": backend_service
+"/compute:v1/compute.backendServices.update/project": project
+"/compute:v1/compute.diskTypes.aggregatedList/filter": filter
+"/compute:v1/compute.diskTypes.aggregatedList/maxResults": max_results
+"/compute:v1/compute.diskTypes.aggregatedList/pageToken": page_token
+"/compute:v1/compute.diskTypes.aggregatedList/project": project
+"/compute:v1/compute.diskTypes.get": get_disk_type
+"/compute:v1/compute.diskTypes.get/diskType": disk_type
+"/compute:v1/compute.diskTypes.get/project": project
+"/compute:v1/compute.diskTypes.get/zone": zone
+"/compute:v1/compute.diskTypes.list": list_disk_types
+"/compute:v1/compute.diskTypes.list/filter": filter
+"/compute:v1/compute.diskTypes.list/maxResults": max_results
+"/compute:v1/compute.diskTypes.list/pageToken": page_token
+"/compute:v1/compute.diskTypes.list/project": project
+"/compute:v1/compute.diskTypes.list/zone": zone
+"/compute:v1/compute.disks.aggregatedList/filter": filter
+"/compute:v1/compute.disks.aggregatedList/maxResults": max_results
+"/compute:v1/compute.disks.aggregatedList/pageToken": page_token
+"/compute:v1/compute.disks.aggregatedList/project": project
+"/compute:v1/compute.disks.createSnapshot/disk": disk
+"/compute:v1/compute.disks.createSnapshot/project": project
+"/compute:v1/compute.disks.createSnapshot/zone": zone
+"/compute:v1/compute.disks.delete": delete_disk
+"/compute:v1/compute.disks.delete/disk": disk
+"/compute:v1/compute.disks.delete/project": project
+"/compute:v1/compute.disks.delete/zone": zone
+"/compute:v1/compute.disks.get": get_disk
+"/compute:v1/compute.disks.get/disk": disk
+"/compute:v1/compute.disks.get/project": project
+"/compute:v1/compute.disks.get/zone": zone
+"/compute:v1/compute.disks.insert": insert_disk
+"/compute:v1/compute.disks.insert/project": project
+"/compute:v1/compute.disks.insert/sourceImage": source_image
+"/compute:v1/compute.disks.insert/zone": zone
+"/compute:v1/compute.disks.list": list_disks
+"/compute:v1/compute.disks.list/filter": filter
+"/compute:v1/compute.disks.list/maxResults": max_results
+"/compute:v1/compute.disks.list/pageToken": page_token
+"/compute:v1/compute.disks.list/project": project
+"/compute:v1/compute.disks.list/zone": zone
+"/compute:v1/compute.firewalls.delete": delete_firewall
+"/compute:v1/compute.firewalls.delete/firewall": firewall
+"/compute:v1/compute.firewalls.delete/project": project
+"/compute:v1/compute.firewalls.get": get_firewall
+"/compute:v1/compute.firewalls.get/firewall": firewall
+"/compute:v1/compute.firewalls.get/project": project
+"/compute:v1/compute.firewalls.insert": insert_firewall
+"/compute:v1/compute.firewalls.insert/project": project
+"/compute:v1/compute.firewalls.list": list_firewalls
+"/compute:v1/compute.firewalls.list/filter": filter
+"/compute:v1/compute.firewalls.list/maxResults": max_results
+"/compute:v1/compute.firewalls.list/pageToken": page_token
+"/compute:v1/compute.firewalls.list/project": project
+"/compute:v1/compute.firewalls.patch": patch_firewall
+"/compute:v1/compute.firewalls.patch/firewall": firewall
+"/compute:v1/compute.firewalls.patch/project": project
+"/compute:v1/compute.firewalls.update": update_firewall
+"/compute:v1/compute.firewalls.update/firewall": firewall
+"/compute:v1/compute.firewalls.update/project": project
+"/compute:v1/compute.forwardingRules.aggregatedList/filter": filter
+"/compute:v1/compute.forwardingRules.aggregatedList/maxResults": max_results
+"/compute:v1/compute.forwardingRules.aggregatedList/pageToken": page_token
+"/compute:v1/compute.forwardingRules.aggregatedList/project": project
+"/compute:v1/compute.forwardingRules.delete": delete_forwarding_rule
+"/compute:v1/compute.forwardingRules.delete/forwardingRule": forwarding_rule
+"/compute:v1/compute.forwardingRules.delete/project": project
+"/compute:v1/compute.forwardingRules.delete/region": region
+"/compute:v1/compute.forwardingRules.get": get_forwarding_rule
+"/compute:v1/compute.forwardingRules.get/forwardingRule": forwarding_rule
+"/compute:v1/compute.forwardingRules.get/project": project
+"/compute:v1/compute.forwardingRules.get/region": region
+"/compute:v1/compute.forwardingRules.insert": insert_forwarding_rule
+"/compute:v1/compute.forwardingRules.insert/project": project
+"/compute:v1/compute.forwardingRules.insert/region": region
+"/compute:v1/compute.forwardingRules.list": list_forwarding_rules
+"/compute:v1/compute.forwardingRules.list/filter": filter
+"/compute:v1/compute.forwardingRules.list/maxResults": max_results
+"/compute:v1/compute.forwardingRules.list/pageToken": page_token
+"/compute:v1/compute.forwardingRules.list/project": project
+"/compute:v1/compute.forwardingRules.list/region": region
+"/compute:v1/compute.forwardingRules.setTarget/forwardingRule": forwarding_rule
+"/compute:v1/compute.forwardingRules.setTarget/project": project
+"/compute:v1/compute.forwardingRules.setTarget/region": region
+"/compute:v1/compute.globalAddresses.delete": delete_global_address
+"/compute:v1/compute.globalAddresses.delete/address": address
+"/compute:v1/compute.globalAddresses.delete/project": project
+"/compute:v1/compute.globalAddresses.get": get_global_address
+"/compute:v1/compute.globalAddresses.get/address": address
+"/compute:v1/compute.globalAddresses.get/project": project
+"/compute:v1/compute.globalAddresses.insert": insert_global_address
+"/compute:v1/compute.globalAddresses.insert/project": project
+"/compute:v1/compute.globalAddresses.list": list_global_addresses
+"/compute:v1/compute.globalAddresses.list/filter": filter
+"/compute:v1/compute.globalAddresses.list/maxResults": max_results
+"/compute:v1/compute.globalAddresses.list/pageToken": page_token
+"/compute:v1/compute.globalAddresses.list/project": project
+"/compute:v1/compute.globalForwardingRules.delete": delete_global_forwarding_rule
+"/compute:v1/compute.globalForwardingRules.delete/forwardingRule": forwarding_rule
+"/compute:v1/compute.globalForwardingRules.delete/project": project
+"/compute:v1/compute.globalForwardingRules.get": get_global_forwarding_rule
+"/compute:v1/compute.globalForwardingRules.get/forwardingRule": forwarding_rule
+"/compute:v1/compute.globalForwardingRules.get/project": project
+"/compute:v1/compute.globalForwardingRules.insert": insert_global_forwarding_rule
+"/compute:v1/compute.globalForwardingRules.insert/project": project
+"/compute:v1/compute.globalForwardingRules.list": list_global_forwarding_rules
+"/compute:v1/compute.globalForwardingRules.list/filter": filter
+"/compute:v1/compute.globalForwardingRules.list/maxResults": max_results
+"/compute:v1/compute.globalForwardingRules.list/pageToken": page_token
+"/compute:v1/compute.globalForwardingRules.list/project": project
+"/compute:v1/compute.globalForwardingRules.setTarget/forwardingRule": forwarding_rule
+"/compute:v1/compute.globalForwardingRules.setTarget/project": project
+"/compute:v1/compute.globalOperations.aggregatedList/filter": filter
+"/compute:v1/compute.globalOperations.aggregatedList/maxResults": max_results
+"/compute:v1/compute.globalOperations.aggregatedList/pageToken": page_token
+"/compute:v1/compute.globalOperations.aggregatedList/project": project
+"/compute:v1/compute.globalOperations.delete": delete_global_operation
+"/compute:v1/compute.globalOperations.delete/operation": operation
+"/compute:v1/compute.globalOperations.delete/project": project
+"/compute:v1/compute.globalOperations.get": get_global_operation
+"/compute:v1/compute.globalOperations.get/operation": operation
+"/compute:v1/compute.globalOperations.get/project": project
+"/compute:v1/compute.globalOperations.list": list_global_operations
+"/compute:v1/compute.globalOperations.list/filter": filter
+"/compute:v1/compute.globalOperations.list/maxResults": max_results
+"/compute:v1/compute.globalOperations.list/pageToken": page_token
+"/compute:v1/compute.globalOperations.list/project": project
+"/compute:v1/compute.httpHealthChecks.delete": delete_http_health_check
+"/compute:v1/compute.httpHealthChecks.delete/httpHealthCheck": http_health_check
+"/compute:v1/compute.httpHealthChecks.delete/project": project
+"/compute:v1/compute.httpHealthChecks.get": get_http_health_check
+"/compute:v1/compute.httpHealthChecks.get/httpHealthCheck": http_health_check
+"/compute:v1/compute.httpHealthChecks.get/project": project
+"/compute:v1/compute.httpHealthChecks.insert": insert_http_health_check
+"/compute:v1/compute.httpHealthChecks.insert/project": project
+"/compute:v1/compute.httpHealthChecks.list": list_http_health_checks
+"/compute:v1/compute.httpHealthChecks.list/filter": filter
+"/compute:v1/compute.httpHealthChecks.list/maxResults": max_results
+"/compute:v1/compute.httpHealthChecks.list/pageToken": page_token
+"/compute:v1/compute.httpHealthChecks.list/project": project
+"/compute:v1/compute.httpHealthChecks.patch": patch_http_health_check
+"/compute:v1/compute.httpHealthChecks.patch/httpHealthCheck": http_health_check
+"/compute:v1/compute.httpHealthChecks.patch/project": project
+"/compute:v1/compute.httpHealthChecks.update": update_http_health_check
+"/compute:v1/compute.httpHealthChecks.update/httpHealthCheck": http_health_check
+"/compute:v1/compute.httpHealthChecks.update/project": project
+"/compute:v1/compute.images.delete": delete_image
+"/compute:v1/compute.images.delete/image": image
+"/compute:v1/compute.images.delete/project": project
+"/compute:v1/compute.images.deprecate": deprecate_image
+"/compute:v1/compute.images.deprecate/image": image
+"/compute:v1/compute.images.deprecate/project": project
+"/compute:v1/compute.images.get": get_image
+"/compute:v1/compute.images.get/image": image
+"/compute:v1/compute.images.get/project": project
+"/compute:v1/compute.images.insert": insert_image
+"/compute:v1/compute.images.insert/project": project
+"/compute:v1/compute.images.list": list_images
+"/compute:v1/compute.images.list/filter": filter
+"/compute:v1/compute.images.list/maxResults": max_results
+"/compute:v1/compute.images.list/pageToken": page_token
+"/compute:v1/compute.images.list/project": project
+"/compute:v1/compute.instanceTemplates.delete": delete_instance_template
+"/compute:v1/compute.instanceTemplates.delete/instanceTemplate": instance_template
+"/compute:v1/compute.instanceTemplates.delete/project": project
+"/compute:v1/compute.instanceTemplates.get": get_instance_template
+"/compute:v1/compute.instanceTemplates.get/instanceTemplate": instance_template
+"/compute:v1/compute.instanceTemplates.get/project": project
+"/compute:v1/compute.instanceTemplates.insert": insert_instance_template
+"/compute:v1/compute.instanceTemplates.insert/project": project
+"/compute:v1/compute.instanceTemplates.list": list_instance_templates
+"/compute:v1/compute.instanceTemplates.list/filter": filter
+"/compute:v1/compute.instanceTemplates.list/maxResults": max_results
+"/compute:v1/compute.instanceTemplates.list/pageToken": page_token
+"/compute:v1/compute.instanceTemplates.list/project": project
+"/compute:v1/compute.instances.addAccessConfig/instance": instance
+"/compute:v1/compute.instances.addAccessConfig/networkInterface": network_interface
+"/compute:v1/compute.instances.addAccessConfig/project": project
+"/compute:v1/compute.instances.addAccessConfig/zone": zone
+"/compute:v1/compute.instances.aggregatedList/filter": filter
+"/compute:v1/compute.instances.aggregatedList/maxResults": max_results
+"/compute:v1/compute.instances.aggregatedList/pageToken": page_token
+"/compute:v1/compute.instances.aggregatedList/project": project
+"/compute:v1/compute.instances.attachDisk/instance": instance
+"/compute:v1/compute.instances.attachDisk/project": project
+"/compute:v1/compute.instances.attachDisk/zone": zone
+"/compute:v1/compute.instances.delete": delete_instance
+"/compute:v1/compute.instances.delete/instance": instance
+"/compute:v1/compute.instances.delete/project": project
+"/compute:v1/compute.instances.delete/zone": zone
+"/compute:v1/compute.instances.deleteAccessConfig/accessConfig": access_config
+"/compute:v1/compute.instances.deleteAccessConfig/instance": instance
+"/compute:v1/compute.instances.deleteAccessConfig/networkInterface": network_interface
+"/compute:v1/compute.instances.deleteAccessConfig/project": project
+"/compute:v1/compute.instances.deleteAccessConfig/zone": zone
+"/compute:v1/compute.instances.detachDisk/deviceName": device_name
+"/compute:v1/compute.instances.detachDisk/instance": instance
+"/compute:v1/compute.instances.detachDisk/project": project
+"/compute:v1/compute.instances.detachDisk/zone": zone
+"/compute:v1/compute.instances.get": get_instance
+"/compute:v1/compute.instances.get/instance": instance
+"/compute:v1/compute.instances.get/project": project
+"/compute:v1/compute.instances.get/zone": zone
+"/compute:v1/compute.instances.getSerialPortOutput/instance": instance
+"/compute:v1/compute.instances.getSerialPortOutput/port": port
+"/compute:v1/compute.instances.getSerialPortOutput/project": project
+"/compute:v1/compute.instances.getSerialPortOutput/zone": zone
+"/compute:v1/compute.instances.insert": insert_instance
+"/compute:v1/compute.instances.insert/project": project
+"/compute:v1/compute.instances.insert/zone": zone
+"/compute:v1/compute.instances.list": list_instances
+"/compute:v1/compute.instances.list/filter": filter
+"/compute:v1/compute.instances.list/maxResults": max_results
+"/compute:v1/compute.instances.list/pageToken": page_token
+"/compute:v1/compute.instances.list/project": project
+"/compute:v1/compute.instances.list/zone": zone
+"/compute:v1/compute.instances.reset": reset_instance
+"/compute:v1/compute.instances.reset/instance": instance
+"/compute:v1/compute.instances.reset/project": project
+"/compute:v1/compute.instances.reset/zone": zone
+"/compute:v1/compute.instances.setDiskAutoDelete/autoDelete": auto_delete
+"/compute:v1/compute.instances.setDiskAutoDelete/deviceName": device_name
+"/compute:v1/compute.instances.setDiskAutoDelete/instance": instance
+"/compute:v1/compute.instances.setDiskAutoDelete/project": project
+"/compute:v1/compute.instances.setDiskAutoDelete/zone": zone
+"/compute:v1/compute.instances.setMetadata/instance": instance
+"/compute:v1/compute.instances.setMetadata/project": project
+"/compute:v1/compute.instances.setMetadata/zone": zone
+"/compute:v1/compute.instances.setScheduling/instance": instance
+"/compute:v1/compute.instances.setScheduling/project": project
+"/compute:v1/compute.instances.setScheduling/zone": zone
+"/compute:v1/compute.instances.setTags/instance": instance
+"/compute:v1/compute.instances.setTags/project": project
+"/compute:v1/compute.instances.setTags/zone": zone
+"/compute:v1/compute.instances.start": start_instance
+"/compute:v1/compute.instances.start/instance": instance
+"/compute:v1/compute.instances.start/project": project
+"/compute:v1/compute.instances.start/zone": zone
+"/compute:v1/compute.instances.stop": stop_instance
+"/compute:v1/compute.instances.stop/instance": instance
+"/compute:v1/compute.instances.stop/project": project
+"/compute:v1/compute.instances.stop/zone": zone
+"/compute:v1/compute.licenses.get": get_license
+"/compute:v1/compute.licenses.get/license": license
+"/compute:v1/compute.licenses.get/project": project
+"/compute:v1/compute.machineTypes.aggregatedList/filter": filter
+"/compute:v1/compute.machineTypes.aggregatedList/maxResults": max_results
+"/compute:v1/compute.machineTypes.aggregatedList/pageToken": page_token
+"/compute:v1/compute.machineTypes.aggregatedList/project": project
+"/compute:v1/compute.machineTypes.get": get_machine_type
+"/compute:v1/compute.machineTypes.get/machineType": machine_type
+"/compute:v1/compute.machineTypes.get/project": project
+"/compute:v1/compute.machineTypes.get/zone": zone
+"/compute:v1/compute.machineTypes.list": list_machine_types
+"/compute:v1/compute.machineTypes.list/filter": filter
+"/compute:v1/compute.machineTypes.list/maxResults": max_results
+"/compute:v1/compute.machineTypes.list/pageToken": page_token
+"/compute:v1/compute.machineTypes.list/project": project
+"/compute:v1/compute.machineTypes.list/zone": zone
+"/compute:v1/compute.networks.delete": delete_network
+"/compute:v1/compute.networks.delete/network": network
+"/compute:v1/compute.networks.delete/project": project
+"/compute:v1/compute.networks.get": get_network
+"/compute:v1/compute.networks.get/network": network
+"/compute:v1/compute.networks.get/project": project
+"/compute:v1/compute.networks.insert": insert_network
+"/compute:v1/compute.networks.insert/project": project
+"/compute:v1/compute.networks.list": list_networks
+"/compute:v1/compute.networks.list/filter": filter
+"/compute:v1/compute.networks.list/maxResults": max_results
+"/compute:v1/compute.networks.list/pageToken": page_token
+"/compute:v1/compute.networks.list/project": project
+"/compute:v1/compute.projects.get": get_project
+"/compute:v1/compute.projects.get/project": project
+"/compute:v1/compute.projects.moveDisk/project": project
+"/compute:v1/compute.projects.moveInstance/project": project
+"/compute:v1/compute.projects.setCommonInstanceMetadata/project": project
+"/compute:v1/compute.projects.setUsageExportBucket/project": project
+"/compute:v1/compute.regionOperations.delete": delete_region_operation
+"/compute:v1/compute.regionOperations.delete/operation": operation
+"/compute:v1/compute.regionOperations.delete/project": project
+"/compute:v1/compute.regionOperations.delete/region": region
+"/compute:v1/compute.regionOperations.get": get_region_operation
+"/compute:v1/compute.regionOperations.get/operation": operation
+"/compute:v1/compute.regionOperations.get/project": project
+"/compute:v1/compute.regionOperations.get/region": region
+"/compute:v1/compute.regionOperations.list": list_region_operations
+"/compute:v1/compute.regionOperations.list/filter": filter
+"/compute:v1/compute.regionOperations.list/maxResults": max_results
+"/compute:v1/compute.regionOperations.list/pageToken": page_token
+"/compute:v1/compute.regionOperations.list/project": project
+"/compute:v1/compute.regionOperations.list/region": region
+"/compute:v1/compute.regions.get": get_region
+"/compute:v1/compute.regions.get/project": project
+"/compute:v1/compute.regions.get/region": region
+"/compute:v1/compute.regions.list": list_regions
+"/compute:v1/compute.regions.list/filter": filter
+"/compute:v1/compute.regions.list/maxResults": max_results
+"/compute:v1/compute.regions.list/pageToken": page_token
+"/compute:v1/compute.regions.list/project": project
+"/compute:v1/compute.routes.delete": delete_route
+"/compute:v1/compute.routes.delete/project": project
+"/compute:v1/compute.routes.delete/route": route
+"/compute:v1/compute.routes.get": get_route
+"/compute:v1/compute.routes.get/project": project
+"/compute:v1/compute.routes.get/route": route
+"/compute:v1/compute.routes.insert": insert_route
+"/compute:v1/compute.routes.insert/project": project
+"/compute:v1/compute.routes.list": list_routes
+"/compute:v1/compute.routes.list/filter": filter
+"/compute:v1/compute.routes.list/maxResults": max_results
+"/compute:v1/compute.routes.list/pageToken": page_token
+"/compute:v1/compute.routes.list/project": project
+"/compute:v1/compute.snapshots.delete": delete_snapshot
+"/compute:v1/compute.snapshots.delete/project": project
+"/compute:v1/compute.snapshots.delete/snapshot": snapshot
+"/compute:v1/compute.snapshots.get": get_snapshot
+"/compute:v1/compute.snapshots.get/project": project
+"/compute:v1/compute.snapshots.get/snapshot": snapshot
+"/compute:v1/compute.snapshots.list": list_snapshots
+"/compute:v1/compute.snapshots.list/filter": filter
+"/compute:v1/compute.snapshots.list/maxResults": max_results
+"/compute:v1/compute.snapshots.list/pageToken": page_token
+"/compute:v1/compute.snapshots.list/project": project
+"/compute:v1/compute.targetHttpProxies.delete": delete_target_http_proxy
+"/compute:v1/compute.targetHttpProxies.delete/project": project
+"/compute:v1/compute.targetHttpProxies.delete/targetHttpProxy": target_http_proxy
+"/compute:v1/compute.targetHttpProxies.get": get_target_http_proxy
+"/compute:v1/compute.targetHttpProxies.get/project": project
+"/compute:v1/compute.targetHttpProxies.get/targetHttpProxy": target_http_proxy
+"/compute:v1/compute.targetHttpProxies.insert": insert_target_http_proxy
+"/compute:v1/compute.targetHttpProxies.insert/project": project
+"/compute:v1/compute.targetHttpProxies.list": list_target_http_proxies
+"/compute:v1/compute.targetHttpProxies.list/filter": filter
+"/compute:v1/compute.targetHttpProxies.list/maxResults": max_results
+"/compute:v1/compute.targetHttpProxies.list/pageToken": page_token
+"/compute:v1/compute.targetHttpProxies.list/project": project
+"/compute:v1/compute.targetHttpProxies.setUrlMap/project": project
+"/compute:v1/compute.targetHttpProxies.setUrlMap/targetHttpProxy": target_http_proxy
+"/compute:v1/compute.targetInstances.aggregatedList/filter": filter
+"/compute:v1/compute.targetInstances.aggregatedList/maxResults": max_results
+"/compute:v1/compute.targetInstances.aggregatedList/pageToken": page_token
+"/compute:v1/compute.targetInstances.aggregatedList/project": project
+"/compute:v1/compute.targetInstances.delete": delete_target_instance
+"/compute:v1/compute.targetInstances.delete/project": project
+"/compute:v1/compute.targetInstances.delete/targetInstance": target_instance
+"/compute:v1/compute.targetInstances.delete/zone": zone
+"/compute:v1/compute.targetInstances.get": get_target_instance
+"/compute:v1/compute.targetInstances.get/project": project
+"/compute:v1/compute.targetInstances.get/targetInstance": target_instance
+"/compute:v1/compute.targetInstances.get/zone": zone
+"/compute:v1/compute.targetInstances.insert": insert_target_instance
+"/compute:v1/compute.targetInstances.insert/project": project
+"/compute:v1/compute.targetInstances.insert/zone": zone
+"/compute:v1/compute.targetInstances.list": list_target_instances
+"/compute:v1/compute.targetInstances.list/filter": filter
+"/compute:v1/compute.targetInstances.list/maxResults": max_results
+"/compute:v1/compute.targetInstances.list/pageToken": page_token
+"/compute:v1/compute.targetInstances.list/project": project
+"/compute:v1/compute.targetInstances.list/zone": zone
+"/compute:v1/compute.targetPools.addHealthCheck/project": project
+"/compute:v1/compute.targetPools.addHealthCheck/region": region
+"/compute:v1/compute.targetPools.addHealthCheck/targetPool": target_pool
+"/compute:v1/compute.targetPools.addInstance/project": project
+"/compute:v1/compute.targetPools.addInstance/region": region
+"/compute:v1/compute.targetPools.addInstance/targetPool": target_pool
+"/compute:v1/compute.targetPools.aggregatedList/filter": filter
+"/compute:v1/compute.targetPools.aggregatedList/maxResults": max_results
+"/compute:v1/compute.targetPools.aggregatedList/pageToken": page_token
+"/compute:v1/compute.targetPools.aggregatedList/project": project
+"/compute:v1/compute.targetPools.delete": delete_target_pool
+"/compute:v1/compute.targetPools.delete/project": project
+"/compute:v1/compute.targetPools.delete/region": region
+"/compute:v1/compute.targetPools.delete/targetPool": target_pool
+"/compute:v1/compute.targetPools.get": get_target_pool
+"/compute:v1/compute.targetPools.get/project": project
+"/compute:v1/compute.targetPools.get/region": region
+"/compute:v1/compute.targetPools.get/targetPool": target_pool
+"/compute:v1/compute.targetPools.getHealth/project": project
+"/compute:v1/compute.targetPools.getHealth/region": region
+"/compute:v1/compute.targetPools.getHealth/targetPool": target_pool
+"/compute:v1/compute.targetPools.insert": insert_target_pool
+"/compute:v1/compute.targetPools.insert/project": project
+"/compute:v1/compute.targetPools.insert/region": region
+"/compute:v1/compute.targetPools.list": list_target_pools
+"/compute:v1/compute.targetPools.list/filter": filter
+"/compute:v1/compute.targetPools.list/maxResults": max_results
+"/compute:v1/compute.targetPools.list/pageToken": page_token
+"/compute:v1/compute.targetPools.list/project": project
+"/compute:v1/compute.targetPools.list/region": region
+"/compute:v1/compute.targetPools.removeHealthCheck/project": project
+"/compute:v1/compute.targetPools.removeHealthCheck/region": region
+"/compute:v1/compute.targetPools.removeHealthCheck/targetPool": target_pool
+"/compute:v1/compute.targetPools.removeInstance/project": project
+"/compute:v1/compute.targetPools.removeInstance/region": region
+"/compute:v1/compute.targetPools.removeInstance/targetPool": target_pool
+"/compute:v1/compute.targetPools.setBackup/failoverRatio": failover_ratio
+"/compute:v1/compute.targetPools.setBackup/project": project
+"/compute:v1/compute.targetPools.setBackup/region": region
+"/compute:v1/compute.targetPools.setBackup/targetPool": target_pool
+"/compute:v1/compute.targetVpnGateways.aggregatedList/filter": filter
+"/compute:v1/compute.targetVpnGateways.aggregatedList/maxResults": max_results
+"/compute:v1/compute.targetVpnGateways.aggregatedList/pageToken": page_token
+"/compute:v1/compute.targetVpnGateways.aggregatedList/project": project
+"/compute:v1/compute.targetVpnGateways.delete/project": project
+"/compute:v1/compute.targetVpnGateways.delete/region": region
+"/compute:v1/compute.targetVpnGateways.delete/targetVpnGateway": target_vpn_gateway
+"/compute:v1/compute.targetVpnGateways.get/project": project
+"/compute:v1/compute.targetVpnGateways.get/region": region
+"/compute:v1/compute.targetVpnGateways.get/targetVpnGateway": target_vpn_gateway
+"/compute:v1/compute.targetVpnGateways.insert/project": project
+"/compute:v1/compute.targetVpnGateways.insert/region": region
+"/compute:v1/compute.targetVpnGateways.list/filter": filter
+"/compute:v1/compute.targetVpnGateways.list/maxResults": max_results
+"/compute:v1/compute.targetVpnGateways.list/pageToken": page_token
+"/compute:v1/compute.targetVpnGateways.list/project": project
+"/compute:v1/compute.targetVpnGateways.list/region": region
+"/compute:v1/compute.urlMaps.delete": delete_url_map
+"/compute:v1/compute.urlMaps.delete/project": project
+"/compute:v1/compute.urlMaps.delete/urlMap": url_map
+"/compute:v1/compute.urlMaps.get": get_url_map
+"/compute:v1/compute.urlMaps.get/project": project
+"/compute:v1/compute.urlMaps.get/urlMap": url_map
+"/compute:v1/compute.urlMaps.insert": insert_url_map
+"/compute:v1/compute.urlMaps.insert/project": project
+"/compute:v1/compute.urlMaps.list": list_url_maps
+"/compute:v1/compute.urlMaps.list/filter": filter
+"/compute:v1/compute.urlMaps.list/maxResults": max_results
+"/compute:v1/compute.urlMaps.list/pageToken": page_token
+"/compute:v1/compute.urlMaps.list/project": project
+"/compute:v1/compute.urlMaps.patch": patch_url_map
+"/compute:v1/compute.urlMaps.patch/project": project
+"/compute:v1/compute.urlMaps.patch/urlMap": url_map
+"/compute:v1/compute.urlMaps.update": update_url_map
+"/compute:v1/compute.urlMaps.update/project": project
+"/compute:v1/compute.urlMaps.update/urlMap": url_map
+"/compute:v1/compute.urlMaps.validate": validate_url_map
+"/compute:v1/compute.urlMaps.validate/project": project
+"/compute:v1/compute.urlMaps.validate/urlMap": url_map
+"/compute:v1/compute.vpnTunnels.aggregatedList/filter": filter
+"/compute:v1/compute.vpnTunnels.aggregatedList/maxResults": max_results
+"/compute:v1/compute.vpnTunnels.aggregatedList/pageToken": page_token
+"/compute:v1/compute.vpnTunnels.aggregatedList/project": project
+"/compute:v1/compute.vpnTunnels.delete": delete_vpn_tunnel
+"/compute:v1/compute.vpnTunnels.delete/project": project
+"/compute:v1/compute.vpnTunnels.delete/region": region
+"/compute:v1/compute.vpnTunnels.delete/vpnTunnel": vpn_tunnel
+"/compute:v1/compute.vpnTunnels.get": get_vpn_tunnel
+"/compute:v1/compute.vpnTunnels.get/project": project
+"/compute:v1/compute.vpnTunnels.get/region": region
+"/compute:v1/compute.vpnTunnels.get/vpnTunnel": vpn_tunnel
+"/compute:v1/compute.vpnTunnels.insert": insert_vpn_tunnel
+"/compute:v1/compute.vpnTunnels.insert/project": project
+"/compute:v1/compute.vpnTunnels.insert/region": region
+"/compute:v1/compute.vpnTunnels.list": list_vpn_tunnels
+"/compute:v1/compute.vpnTunnels.list/filter": filter
+"/compute:v1/compute.vpnTunnels.list/maxResults": max_results
+"/compute:v1/compute.vpnTunnels.list/pageToken": page_token
+"/compute:v1/compute.vpnTunnels.list/project": project
+"/compute:v1/compute.vpnTunnels.list/region": region
+"/compute:v1/compute.zoneOperations.delete": delete_zone_operation
+"/compute:v1/compute.zoneOperations.delete/operation": operation
+"/compute:v1/compute.zoneOperations.delete/project": project
+"/compute:v1/compute.zoneOperations.delete/zone": zone
+"/compute:v1/compute.zoneOperations.get": get_zone_operation
+"/compute:v1/compute.zoneOperations.get/operation": operation
+"/compute:v1/compute.zoneOperations.get/project": project
+"/compute:v1/compute.zoneOperations.get/zone": zone
+"/compute:v1/compute.zoneOperations.list": list_zone_operations
+"/compute:v1/compute.zoneOperations.list/filter": filter
+"/compute:v1/compute.zoneOperations.list/maxResults": max_results
+"/compute:v1/compute.zoneOperations.list/pageToken": page_token
+"/compute:v1/compute.zoneOperations.list/project": project
+"/compute:v1/compute.zoneOperations.list/zone": zone
+"/compute:v1/compute.zones.get": get_zone
+"/compute:v1/compute.zones.get/project": project
+"/compute:v1/compute.zones.get/zone": zone
+"/compute:v1/compute.zones.list": list_zones
+"/compute:v1/compute.zones.list/filter": filter
+"/compute:v1/compute.zones.list/maxResults": max_results
+"/compute:v1/compute.zones.list/pageToken": page_token
+"/compute:v1/compute.zones.list/project": project
+"/compute:v1/AccessConfig": access_config
+"/compute:v1/AccessConfig/kind": kind
+"/compute:v1/AccessConfig/name": name
+"/compute:v1/AccessConfig/natIP": nat_ip
+"/compute:v1/AccessConfig/type": type
+"/compute:v1/Address": address
+"/compute:v1/Address/address": address
+"/compute:v1/Address/creationTimestamp": creation_timestamp
+"/compute:v1/Address/description": description
+"/compute:v1/Address/id": id
+"/compute:v1/Address/kind": kind
+"/compute:v1/Address/name": name
+"/compute:v1/Address/region": region
+"/compute:v1/Address/selfLink": self_link
+"/compute:v1/Address/status": status
+"/compute:v1/Address/users": users
+"/compute:v1/Address/users/user": user
+"/compute:v1/AddressAggregatedList": address_aggregated_list
+"/compute:v1/AddressAggregatedList/id": id
+"/compute:v1/AddressAggregatedList/items": items
+"/compute:v1/AddressAggregatedList/items/item": item
+"/compute:v1/AddressAggregatedList/kind": kind
+"/compute:v1/AddressAggregatedList/nextPageToken": next_page_token
+"/compute:v1/AddressAggregatedList/selfLink": self_link
+"/compute:v1/AddressList": address_list
+"/compute:v1/AddressList/id": id
+"/compute:v1/AddressList/items": items
+"/compute:v1/AddressList/items/item": item
+"/compute:v1/AddressList/kind": kind
+"/compute:v1/AddressList/nextPageToken": next_page_token
+"/compute:v1/AddressList/selfLink": self_link
+"/compute:v1/AddressesScopedList": addresses_scoped_list
+"/compute:v1/AddressesScopedList/addresses": addresses
+"/compute:v1/AddressesScopedList/addresses/address": address
+"/compute:v1/AddressesScopedList/warning": warning
+"/compute:v1/AddressesScopedList/warning/code": code
+"/compute:v1/AddressesScopedList/warning/data": data
+"/compute:v1/AddressesScopedList/warning/data/datum": datum
+"/compute:v1/AddressesScopedList/warning/data/datum/key": key
+"/compute:v1/AddressesScopedList/warning/data/datum/value": value
+"/compute:v1/AddressesScopedList/warning/message": message
+"/compute:v1/AttachedDisk": attached_disk
+"/compute:v1/AttachedDisk/autoDelete": auto_delete
+"/compute:v1/AttachedDisk/boot": boot
+"/compute:v1/AttachedDisk/deviceName": device_name
+"/compute:v1/AttachedDisk/index": index
+"/compute:v1/AttachedDisk/initializeParams": initialize_params
+"/compute:v1/AttachedDisk/interface": interface
+"/compute:v1/AttachedDisk/kind": kind
+"/compute:v1/AttachedDisk/licenses": licenses
+"/compute:v1/AttachedDisk/licenses/license": license
+"/compute:v1/AttachedDisk/mode": mode
+"/compute:v1/AttachedDisk/source": source
+"/compute:v1/AttachedDisk/type": type
+"/compute:v1/AttachedDiskInitializeParams": attached_disk_initialize_params
+"/compute:v1/AttachedDiskInitializeParams/diskName": disk_name
+"/compute:v1/AttachedDiskInitializeParams/diskSizeGb": disk_size_gb
+"/compute:v1/AttachedDiskInitializeParams/diskType": disk_type
+"/compute:v1/AttachedDiskInitializeParams/sourceImage": source_image
+"/compute:v1/Backend": backend
+"/compute:v1/Backend/balancingMode": balancing_mode
+"/compute:v1/Backend/capacityScaler": capacity_scaler
+"/compute:v1/Backend/description": description
+"/compute:v1/Backend/group": group
+"/compute:v1/Backend/maxRate": max_rate
+"/compute:v1/Backend/maxRatePerInstance": max_rate_per_instance
+"/compute:v1/Backend/maxUtilization": max_utilization
+"/compute:v1/BackendService": backend_service
+"/compute:v1/BackendService/backends": backends
+"/compute:v1/BackendService/backends/backend": backend
+"/compute:v1/BackendService/creationTimestamp": creation_timestamp
+"/compute:v1/BackendService/description": description
+"/compute:v1/BackendService/fingerprint": fingerprint
+"/compute:v1/BackendService/healthChecks": health_checks
+"/compute:v1/BackendService/healthChecks/health_check": health_check
+"/compute:v1/BackendService/id": id
+"/compute:v1/BackendService/kind": kind
+"/compute:v1/BackendService/name": name
+"/compute:v1/BackendService/port": port
+"/compute:v1/BackendService/portName": port_name
+"/compute:v1/BackendService/protocol": protocol
+"/compute:v1/BackendService/selfLink": self_link
+"/compute:v1/BackendService/timeoutSec": timeout_sec
+"/compute:v1/BackendServiceGroupHealth": backend_service_group_health
+"/compute:v1/BackendServiceGroupHealth/healthStatus": health_status
+"/compute:v1/BackendServiceGroupHealth/healthStatus/health_status": health_status
+"/compute:v1/BackendServiceGroupHealth/kind": kind
+"/compute:v1/BackendServiceList": backend_service_list
+"/compute:v1/BackendServiceList/id": id
+"/compute:v1/BackendServiceList/items": items
+"/compute:v1/BackendServiceList/items/item": item
+"/compute:v1/BackendServiceList/kind": kind
+"/compute:v1/BackendServiceList/nextPageToken": next_page_token
+"/compute:v1/BackendServiceList/selfLink": self_link
+"/compute:v1/DeprecationStatus": deprecation_status
+"/compute:v1/DeprecationStatus/deleted": deleted
+"/compute:v1/DeprecationStatus/deprecated": deprecated
+"/compute:v1/DeprecationStatus/obsolete": obsolete
+"/compute:v1/DeprecationStatus/replacement": replacement
+"/compute:v1/DeprecationStatus/state": state
+"/compute:v1/Disk": disk
+"/compute:v1/Disk/creationTimestamp": creation_timestamp
+"/compute:v1/Disk/description": description
+"/compute:v1/Disk/id": id
+"/compute:v1/Disk/kind": kind
+"/compute:v1/Disk/lastAttachTimestamp": last_attach_timestamp
+"/compute:v1/Disk/lastDetachTimestamp": last_detach_timestamp
+"/compute:v1/Disk/licenses": licenses
+"/compute:v1/Disk/licenses/license": license
+"/compute:v1/Disk/name": name
+"/compute:v1/Disk/options": options
+"/compute:v1/Disk/selfLink": self_link
+"/compute:v1/Disk/sizeGb": size_gb
+"/compute:v1/Disk/sourceImage": source_image
+"/compute:v1/Disk/sourceImageId": source_image_id
+"/compute:v1/Disk/sourceSnapshot": source_snapshot
+"/compute:v1/Disk/sourceSnapshotId": source_snapshot_id
+"/compute:v1/Disk/status": status
+"/compute:v1/Disk/type": type
+"/compute:v1/Disk/users": users
+"/compute:v1/Disk/users/user": user
+"/compute:v1/Disk/zone": zone
+"/compute:v1/DiskAggregatedList": disk_aggregated_list
+"/compute:v1/DiskAggregatedList/id": id
+"/compute:v1/DiskAggregatedList/items": items
+"/compute:v1/DiskAggregatedList/items/item": item
+"/compute:v1/DiskAggregatedList/kind": kind
+"/compute:v1/DiskAggregatedList/nextPageToken": next_page_token
+"/compute:v1/DiskAggregatedList/selfLink": self_link
+"/compute:v1/DiskList": disk_list
+"/compute:v1/DiskList/id": id
+"/compute:v1/DiskList/items": items
+"/compute:v1/DiskList/items/item": item
+"/compute:v1/DiskList/kind": kind
+"/compute:v1/DiskList/nextPageToken": next_page_token
+"/compute:v1/DiskList/selfLink": self_link
+"/compute:v1/DiskMoveRequest/destinationZone": destination_zone
+"/compute:v1/DiskMoveRequest/targetDisk": target_disk
+"/compute:v1/DiskType": disk_type
+"/compute:v1/DiskType/creationTimestamp": creation_timestamp
+"/compute:v1/DiskType/defaultDiskSizeGb": default_disk_size_gb
+"/compute:v1/DiskType/deprecated": deprecated
+"/compute:v1/DiskType/description": description
+"/compute:v1/DiskType/id": id
+"/compute:v1/DiskType/kind": kind
+"/compute:v1/DiskType/name": name
+"/compute:v1/DiskType/selfLink": self_link
+"/compute:v1/DiskType/validDiskSize": valid_disk_size
+"/compute:v1/DiskType/zone": zone
+"/compute:v1/DiskTypeAggregatedList": disk_type_aggregated_list
+"/compute:v1/DiskTypeAggregatedList/id": id
+"/compute:v1/DiskTypeAggregatedList/items": items
+"/compute:v1/DiskTypeAggregatedList/items/item": item
+"/compute:v1/DiskTypeAggregatedList/kind": kind
+"/compute:v1/DiskTypeAggregatedList/nextPageToken": next_page_token
+"/compute:v1/DiskTypeAggregatedList/selfLink": self_link
+"/compute:v1/DiskTypeList": disk_type_list
+"/compute:v1/DiskTypeList/id": id
+"/compute:v1/DiskTypeList/items": items
+"/compute:v1/DiskTypeList/items/item": item
+"/compute:v1/DiskTypeList/kind": kind
+"/compute:v1/DiskTypeList/nextPageToken": next_page_token
+"/compute:v1/DiskTypeList/selfLink": self_link
+"/compute:v1/DiskTypesScopedList": disk_types_scoped_list
+"/compute:v1/DiskTypesScopedList/diskTypes": disk_types
+"/compute:v1/DiskTypesScopedList/diskTypes/disk_type": disk_type
+"/compute:v1/DiskTypesScopedList/warning": warning
+"/compute:v1/DiskTypesScopedList/warning/code": code
+"/compute:v1/DiskTypesScopedList/warning/data": data
+"/compute:v1/DiskTypesScopedList/warning/data/datum": datum
+"/compute:v1/DiskTypesScopedList/warning/data/datum/key": key
+"/compute:v1/DiskTypesScopedList/warning/data/datum/value": value
+"/compute:v1/DiskTypesScopedList/warning/message": message
+"/compute:v1/DisksScopedList": disks_scoped_list
+"/compute:v1/DisksScopedList/disks": disks
+"/compute:v1/DisksScopedList/disks/disk": disk
+"/compute:v1/DisksScopedList/warning": warning
+"/compute:v1/DisksScopedList/warning/code": code
+"/compute:v1/DisksScopedList/warning/data": data
+"/compute:v1/DisksScopedList/warning/data/datum": datum
+"/compute:v1/DisksScopedList/warning/data/datum/key": key
+"/compute:v1/DisksScopedList/warning/data/datum/value": value
+"/compute:v1/DisksScopedList/warning/message": message
+"/compute:v1/Firewall": firewall
+"/compute:v1/Firewall/allowed": allowed
+"/compute:v1/Firewall/allowed/allowed": allowed
+"/compute:v1/Firewall/allowed/allowed/IPProtocol": ip_protocol
+"/compute:v1/Firewall/allowed/allowed/ports": ports
+"/compute:v1/Firewall/allowed/allowed/ports/port": port
+"/compute:v1/Firewall/creationTimestamp": creation_timestamp
+"/compute:v1/Firewall/description": description
+"/compute:v1/Firewall/id": id
+"/compute:v1/Firewall/kind": kind
+"/compute:v1/Firewall/name": name
+"/compute:v1/Firewall/network": network
+"/compute:v1/Firewall/selfLink": self_link
+"/compute:v1/Firewall/sourceRanges": source_ranges
+"/compute:v1/Firewall/sourceRanges/source_range": source_range
+"/compute:v1/Firewall/sourceTags": source_tags
+"/compute:v1/Firewall/sourceTags/source_tag": source_tag
+"/compute:v1/Firewall/targetTags": target_tags
+"/compute:v1/Firewall/targetTags/target_tag": target_tag
+"/compute:v1/FirewallList": firewall_list
+"/compute:v1/FirewallList/id": id
+"/compute:v1/FirewallList/items": items
+"/compute:v1/FirewallList/items/item": item
+"/compute:v1/FirewallList/kind": kind
+"/compute:v1/FirewallList/nextPageToken": next_page_token
+"/compute:v1/FirewallList/selfLink": self_link
+"/compute:v1/ForwardingRule": forwarding_rule
+"/compute:v1/ForwardingRule/IPAddress": ip_address
+"/compute:v1/ForwardingRule/IPProtocol": ip_protocol
+"/compute:v1/ForwardingRule/creationTimestamp": creation_timestamp
+"/compute:v1/ForwardingRule/description": description
+"/compute:v1/ForwardingRule/id": id
+"/compute:v1/ForwardingRule/kind": kind
+"/compute:v1/ForwardingRule/name": name
+"/compute:v1/ForwardingRule/portRange": port_range
+"/compute:v1/ForwardingRule/region": region
+"/compute:v1/ForwardingRule/selfLink": self_link
+"/compute:v1/ForwardingRule/target": target
+"/compute:v1/ForwardingRuleAggregatedList": forwarding_rule_aggregated_list
+"/compute:v1/ForwardingRuleAggregatedList/id": id
+"/compute:v1/ForwardingRuleAggregatedList/items": items
+"/compute:v1/ForwardingRuleAggregatedList/items/item": item
+"/compute:v1/ForwardingRuleAggregatedList/kind": kind
+"/compute:v1/ForwardingRuleAggregatedList/nextPageToken": next_page_token
+"/compute:v1/ForwardingRuleAggregatedList/selfLink": self_link
+"/compute:v1/ForwardingRuleList": forwarding_rule_list
+"/compute:v1/ForwardingRuleList/id": id
+"/compute:v1/ForwardingRuleList/items": items
+"/compute:v1/ForwardingRuleList/items/item": item
+"/compute:v1/ForwardingRuleList/kind": kind
+"/compute:v1/ForwardingRuleList/nextPageToken": next_page_token
+"/compute:v1/ForwardingRuleList/selfLink": self_link
+"/compute:v1/ForwardingRulesScopedList": forwarding_rules_scoped_list
+"/compute:v1/ForwardingRulesScopedList/forwardingRules": forwarding_rules
+"/compute:v1/ForwardingRulesScopedList/forwardingRules/forwarding_rule": forwarding_rule
+"/compute:v1/ForwardingRulesScopedList/warning": warning
+"/compute:v1/ForwardingRulesScopedList/warning/code": code
+"/compute:v1/ForwardingRulesScopedList/warning/data": data
+"/compute:v1/ForwardingRulesScopedList/warning/data/datum": datum
+"/compute:v1/ForwardingRulesScopedList/warning/data/datum/key": key
+"/compute:v1/ForwardingRulesScopedList/warning/data/datum/value": value
+"/compute:v1/ForwardingRulesScopedList/warning/message": message
+"/compute:v1/HealthCheckReference": health_check_reference
+"/compute:v1/HealthCheckReference/healthCheck": health_check
+"/compute:v1/HealthStatus": health_status
+"/compute:v1/HealthStatus/healthState": health_state
+"/compute:v1/HealthStatus/instance": instance
+"/compute:v1/HealthStatus/ipAddress": ip_address
+"/compute:v1/HealthStatus/port": port
+"/compute:v1/HostRule": host_rule
+"/compute:v1/HostRule/description": description
+"/compute:v1/HostRule/hosts": hosts
+"/compute:v1/HostRule/hosts/host": host
+"/compute:v1/HostRule/pathMatcher": path_matcher
+"/compute:v1/HttpHealthCheck": http_health_check
+"/compute:v1/HttpHealthCheck/checkIntervalSec": check_interval_sec
+"/compute:v1/HttpHealthCheck/creationTimestamp": creation_timestamp
+"/compute:v1/HttpHealthCheck/description": description
+"/compute:v1/HttpHealthCheck/healthyThreshold": healthy_threshold
+"/compute:v1/HttpHealthCheck/host": host
+"/compute:v1/HttpHealthCheck/id": id
+"/compute:v1/HttpHealthCheck/kind": kind
+"/compute:v1/HttpHealthCheck/name": name
+"/compute:v1/HttpHealthCheck/port": port
+"/compute:v1/HttpHealthCheck/requestPath": request_path
+"/compute:v1/HttpHealthCheck/selfLink": self_link
+"/compute:v1/HttpHealthCheck/timeoutSec": timeout_sec
+"/compute:v1/HttpHealthCheck/unhealthyThreshold": unhealthy_threshold
+"/compute:v1/HttpHealthCheckList": http_health_check_list
+"/compute:v1/HttpHealthCheckList/id": id
+"/compute:v1/HttpHealthCheckList/items": items
+"/compute:v1/HttpHealthCheckList/items/item": item
+"/compute:v1/HttpHealthCheckList/kind": kind
+"/compute:v1/HttpHealthCheckList/nextPageToken": next_page_token
+"/compute:v1/HttpHealthCheckList/selfLink": self_link
+"/compute:v1/Image": image
+"/compute:v1/Image/archiveSizeBytes": archive_size_bytes
+"/compute:v1/Image/creationTimestamp": creation_timestamp
+"/compute:v1/Image/deprecated": deprecated
+"/compute:v1/Image/description": description
+"/compute:v1/Image/diskSizeGb": disk_size_gb
+"/compute:v1/Image/id": id
+"/compute:v1/Image/kind": kind
+"/compute:v1/Image/licenses": licenses
+"/compute:v1/Image/licenses/license": license
+"/compute:v1/Image/name": name
+"/compute:v1/Image/rawDisk": raw_disk
+"/compute:v1/Image/rawDisk/containerType": container_type
+"/compute:v1/Image/rawDisk/sha1Checksum": sha1_checksum
+"/compute:v1/Image/rawDisk/source": source
+"/compute:v1/Image/selfLink": self_link
+"/compute:v1/Image/sourceDisk": source_disk
+"/compute:v1/Image/sourceDiskId": source_disk_id
+"/compute:v1/Image/sourceType": source_type
+"/compute:v1/Image/status": status
+"/compute:v1/ImageList": image_list
+"/compute:v1/ImageList/id": id
+"/compute:v1/ImageList/items": items
+"/compute:v1/ImageList/items/item": item
+"/compute:v1/ImageList/kind": kind
+"/compute:v1/ImageList/nextPageToken": next_page_token
+"/compute:v1/ImageList/selfLink": self_link
+"/compute:v1/Instance": instance
+"/compute:v1/Instance/canIpForward": can_ip_forward
+"/compute:v1/Instance/cpuPlatform": cpu_platform
+"/compute:v1/Instance/creationTimestamp": creation_timestamp
+"/compute:v1/Instance/description": description
+"/compute:v1/Instance/disks": disks
+"/compute:v1/Instance/disks/disk": disk
+"/compute:v1/Instance/id": id
+"/compute:v1/Instance/kind": kind
+"/compute:v1/Instance/machineType": machine_type
+"/compute:v1/Instance/metadata": metadata
+"/compute:v1/Instance/name": name
+"/compute:v1/Instance/networkInterfaces": network_interfaces
+"/compute:v1/Instance/networkInterfaces/network_interface": network_interface
+"/compute:v1/Instance/scheduling": scheduling
+"/compute:v1/Instance/selfLink": self_link
+"/compute:v1/Instance/serviceAccounts": service_accounts
+"/compute:v1/Instance/serviceAccounts/service_account": service_account
+"/compute:v1/Instance/status": status
+"/compute:v1/Instance/statusMessage": status_message
+"/compute:v1/Instance/tags": tags
+"/compute:v1/Instance/zone": zone
+"/compute:v1/InstanceAggregatedList": instance_aggregated_list
+"/compute:v1/InstanceAggregatedList/id": id
+"/compute:v1/InstanceAggregatedList/items": items
+"/compute:v1/InstanceAggregatedList/items/item": item
+"/compute:v1/InstanceAggregatedList/kind": kind
+"/compute:v1/InstanceAggregatedList/nextPageToken": next_page_token
+"/compute:v1/InstanceAggregatedList/selfLink": self_link
+"/compute:v1/InstanceList": instance_list
+"/compute:v1/InstanceList/id": id
+"/compute:v1/InstanceList/items": items
+"/compute:v1/InstanceList/items/item": item
+"/compute:v1/InstanceList/kind": kind
+"/compute:v1/InstanceList/nextPageToken": next_page_token
+"/compute:v1/InstanceList/selfLink": self_link
+"/compute:v1/InstanceMoveRequest/destinationZone": destination_zone
+"/compute:v1/InstanceMoveRequest/targetInstance": target_instance
+"/compute:v1/InstanceProperties": instance_properties
+"/compute:v1/InstanceProperties/canIpForward": can_ip_forward
+"/compute:v1/InstanceProperties/description": description
+"/compute:v1/InstanceProperties/disks": disks
+"/compute:v1/InstanceProperties/disks/disk": disk
+"/compute:v1/InstanceProperties/machineType": machine_type
+"/compute:v1/InstanceProperties/metadata": metadata
+"/compute:v1/InstanceProperties/networkInterfaces": network_interfaces
+"/compute:v1/InstanceProperties/networkInterfaces/network_interface": network_interface
+"/compute:v1/InstanceProperties/scheduling": scheduling
+"/compute:v1/InstanceProperties/serviceAccounts": service_accounts
+"/compute:v1/InstanceProperties/serviceAccounts/service_account": service_account
+"/compute:v1/InstanceProperties/tags": tags
+"/compute:v1/InstanceReference": instance_reference
+"/compute:v1/InstanceReference/instance": instance
+"/compute:v1/InstanceTemplate": instance_template
+"/compute:v1/InstanceTemplate/creationTimestamp": creation_timestamp
+"/compute:v1/InstanceTemplate/description": description
+"/compute:v1/InstanceTemplate/id": id
+"/compute:v1/InstanceTemplate/kind": kind
+"/compute:v1/InstanceTemplate/name": name
+"/compute:v1/InstanceTemplate/properties": properties
+"/compute:v1/InstanceTemplate/selfLink": self_link
+"/compute:v1/InstanceTemplateList": instance_template_list
+"/compute:v1/InstanceTemplateList/id": id
+"/compute:v1/InstanceTemplateList/items": items
+"/compute:v1/InstanceTemplateList/items/item": item
+"/compute:v1/InstanceTemplateList/kind": kind
+"/compute:v1/InstanceTemplateList/nextPageToken": next_page_token
+"/compute:v1/InstanceTemplateList/selfLink": self_link
+"/compute:v1/InstancesScopedList": instances_scoped_list
+"/compute:v1/InstancesScopedList/instances": instances
+"/compute:v1/InstancesScopedList/instances/instance": instance
+"/compute:v1/InstancesScopedList/warning": warning
+"/compute:v1/InstancesScopedList/warning/code": code
+"/compute:v1/InstancesScopedList/warning/data": data
+"/compute:v1/InstancesScopedList/warning/data/datum": datum
+"/compute:v1/InstancesScopedList/warning/data/datum/key": key
+"/compute:v1/InstancesScopedList/warning/data/datum/value": value
+"/compute:v1/InstancesScopedList/warning/message": message
+"/compute:v1/License": license
+"/compute:v1/License/chargesUseFee": charges_use_fee
+"/compute:v1/License/kind": kind
+"/compute:v1/License/name": name
+"/compute:v1/License/selfLink": self_link
+"/compute:v1/MachineType": machine_type
+"/compute:v1/MachineType/creationTimestamp": creation_timestamp
+"/compute:v1/MachineType/deprecated": deprecated
+"/compute:v1/MachineType/description": description
+"/compute:v1/MachineType/guestCpus": guest_cpus
+"/compute:v1/MachineType/id": id
+"/compute:v1/MachineType/imageSpaceGb": image_space_gb
+"/compute:v1/MachineType/kind": kind
+"/compute:v1/MachineType/maximumPersistentDisks": maximum_persistent_disks
+"/compute:v1/MachineType/maximumPersistentDisksSizeGb": maximum_persistent_disks_size_gb
+"/compute:v1/MachineType/memoryMb": memory_mb
+"/compute:v1/MachineType/name": name
+"/compute:v1/MachineType/scratchDisks": scratch_disks
+"/compute:v1/MachineType/scratchDisks/scratch_disk": scratch_disk
+"/compute:v1/MachineType/scratchDisks/scratch_disk/diskGb": disk_gb
+"/compute:v1/MachineType/selfLink": self_link
+"/compute:v1/MachineType/zone": zone
+"/compute:v1/MachineTypeAggregatedList": machine_type_aggregated_list
+"/compute:v1/MachineTypeAggregatedList/id": id
+"/compute:v1/MachineTypeAggregatedList/items": items
+"/compute:v1/MachineTypeAggregatedList/items/item": item
+"/compute:v1/MachineTypeAggregatedList/kind": kind
+"/compute:v1/MachineTypeAggregatedList/nextPageToken": next_page_token
+"/compute:v1/MachineTypeAggregatedList/selfLink": self_link
+"/compute:v1/MachineTypeList": machine_type_list
+"/compute:v1/MachineTypeList/id": id
+"/compute:v1/MachineTypeList/items": items
+"/compute:v1/MachineTypeList/items/item": item
+"/compute:v1/MachineTypeList/kind": kind
+"/compute:v1/MachineTypeList/nextPageToken": next_page_token
+"/compute:v1/MachineTypeList/selfLink": self_link
+"/compute:v1/MachineTypesScopedList": machine_types_scoped_list
+"/compute:v1/MachineTypesScopedList/machineTypes": machine_types
+"/compute:v1/MachineTypesScopedList/machineTypes/machine_type": machine_type
+"/compute:v1/MachineTypesScopedList/warning": warning
+"/compute:v1/MachineTypesScopedList/warning/code": code
+"/compute:v1/MachineTypesScopedList/warning/data": data
+"/compute:v1/MachineTypesScopedList/warning/data/datum": datum
+"/compute:v1/MachineTypesScopedList/warning/data/datum/key": key
+"/compute:v1/MachineTypesScopedList/warning/data/datum/value": value
+"/compute:v1/MachineTypesScopedList/warning/message": message
+"/compute:v1/Metadata": metadata
+"/compute:v1/Metadata/fingerprint": fingerprint
+"/compute:v1/Metadata/items": items
+"/compute:v1/Metadata/items/item": item
+"/compute:v1/Metadata/items/item/key": key
+"/compute:v1/Metadata/items/item/value": value
+"/compute:v1/Metadata/kind": kind
+"/compute:v1/Network": network
+"/compute:v1/Network/IPv4Range": i_pv4_range
+"/compute:v1/Network/creationTimestamp": creation_timestamp
+"/compute:v1/Network/description": description
+"/compute:v1/Network/gatewayIPv4": gateway_i_pv4
+"/compute:v1/Network/id": id
+"/compute:v1/Network/kind": kind
+"/compute:v1/Network/name": name
+"/compute:v1/Network/selfLink": self_link
+"/compute:v1/NetworkInterface": network_interface
+"/compute:v1/NetworkInterface/accessConfigs": access_configs
+"/compute:v1/NetworkInterface/accessConfigs/access_config": access_config
+"/compute:v1/NetworkInterface/name": name
+"/compute:v1/NetworkInterface/network": network
+"/compute:v1/NetworkInterface/networkIP": network_ip
+"/compute:v1/NetworkList": network_list
+"/compute:v1/NetworkList/id": id
+"/compute:v1/NetworkList/items": items
+"/compute:v1/NetworkList/items/item": item
+"/compute:v1/NetworkList/kind": kind
+"/compute:v1/NetworkList/nextPageToken": next_page_token
+"/compute:v1/NetworkList/selfLink": self_link
+"/compute:v1/Operation": operation
+"/compute:v1/Operation/clientOperationId": client_operation_id
+"/compute:v1/Operation/creationTimestamp": creation_timestamp
+"/compute:v1/Operation/endTime": end_time
+"/compute:v1/Operation/error": error
+"/compute:v1/Operation/error/errors": errors
+"/compute:v1/Operation/error/errors/error": error
+"/compute:v1/Operation/error/errors/error/code": code
+"/compute:v1/Operation/error/errors/error/location": location
+"/compute:v1/Operation/error/errors/error/message": message
+"/compute:v1/Operation/httpErrorMessage": http_error_message
+"/compute:v1/Operation/httpErrorStatusCode": http_error_status_code
+"/compute:v1/Operation/id": id
+"/compute:v1/Operation/insertTime": insert_time
+"/compute:v1/Operation/kind": kind
+"/compute:v1/Operation/name": name
+"/compute:v1/Operation/operationType": operation_type
+"/compute:v1/Operation/progress": progress
+"/compute:v1/Operation/region": region
+"/compute:v1/Operation/selfLink": self_link
+"/compute:v1/Operation/startTime": start_time
+"/compute:v1/Operation/status": status
+"/compute:v1/Operation/statusMessage": status_message
+"/compute:v1/Operation/targetId": target_id
+"/compute:v1/Operation/targetLink": target_link
+"/compute:v1/Operation/user": user
+"/compute:v1/Operation/warnings": warnings
+"/compute:v1/Operation/warnings/warning": warning
+"/compute:v1/Operation/warnings/warning/code": code
+"/compute:v1/Operation/warnings/warning/data": data
+"/compute:v1/Operation/warnings/warning/data/datum": datum
+"/compute:v1/Operation/warnings/warning/data/datum/key": key
+"/compute:v1/Operation/warnings/warning/data/datum/value": value
+"/compute:v1/Operation/warnings/warning/message": message
+"/compute:v1/Operation/zone": zone
+"/compute:v1/OperationAggregatedList": operation_aggregated_list
+"/compute:v1/OperationAggregatedList/id": id
+"/compute:v1/OperationAggregatedList/items": items
+"/compute:v1/OperationAggregatedList/items/item": item
+"/compute:v1/OperationAggregatedList/kind": kind
+"/compute:v1/OperationAggregatedList/nextPageToken": next_page_token
+"/compute:v1/OperationAggregatedList/selfLink": self_link
+"/compute:v1/OperationList": operation_list
+"/compute:v1/OperationList/id": id
+"/compute:v1/OperationList/items": items
+"/compute:v1/OperationList/items/item": item
+"/compute:v1/OperationList/kind": kind
+"/compute:v1/OperationList/nextPageToken": next_page_token
+"/compute:v1/OperationList/selfLink": self_link
+"/compute:v1/OperationsScopedList": operations_scoped_list
+"/compute:v1/OperationsScopedList/operations": operations
+"/compute:v1/OperationsScopedList/operations/operation": operation
+"/compute:v1/OperationsScopedList/warning": warning
+"/compute:v1/OperationsScopedList/warning/code": code
+"/compute:v1/OperationsScopedList/warning/data": data
+"/compute:v1/OperationsScopedList/warning/data/datum": datum
+"/compute:v1/OperationsScopedList/warning/data/datum/key": key
+"/compute:v1/OperationsScopedList/warning/data/datum/value": value
+"/compute:v1/OperationsScopedList/warning/message": message
+"/compute:v1/PathMatcher": path_matcher
+"/compute:v1/PathMatcher/defaultService": default_service
+"/compute:v1/PathMatcher/description": description
+"/compute:v1/PathMatcher/name": name
+"/compute:v1/PathMatcher/pathRules": path_rules
+"/compute:v1/PathMatcher/pathRules/path_rule": path_rule
+"/compute:v1/PathRule": path_rule
+"/compute:v1/PathRule/paths": paths
+"/compute:v1/PathRule/paths/path": path
+"/compute:v1/PathRule/service": service
+"/compute:v1/Project": project
+"/compute:v1/Project/commonInstanceMetadata": common_instance_metadata
+"/compute:v1/Project/creationTimestamp": creation_timestamp
+"/compute:v1/Project/description": description
+"/compute:v1/Project/id": id
+"/compute:v1/Project/kind": kind
+"/compute:v1/Project/name": name
+"/compute:v1/Project/quotas": quotas
+"/compute:v1/Project/quotas/quota": quota
+"/compute:v1/Project/selfLink": self_link
+"/compute:v1/Project/usageExportLocation": usage_export_location
+"/compute:v1/Quota": quota
+"/compute:v1/Quota/limit": limit
+"/compute:v1/Quota/metric": metric
+"/compute:v1/Quota/usage": usage
+"/compute:v1/Region": region
+"/compute:v1/Region/creationTimestamp": creation_timestamp
+"/compute:v1/Region/deprecated": deprecated
+"/compute:v1/Region/description": description
+"/compute:v1/Region/id": id
+"/compute:v1/Region/kind": kind
+"/compute:v1/Region/name": name
+"/compute:v1/Region/quotas": quotas
+"/compute:v1/Region/quotas/quota": quota
+"/compute:v1/Region/selfLink": self_link
+"/compute:v1/Region/status": status
+"/compute:v1/Region/zones": zones
+"/compute:v1/Region/zones/zone": zone
+"/compute:v1/RegionList": region_list
+"/compute:v1/RegionList/id": id
+"/compute:v1/RegionList/items": items
+"/compute:v1/RegionList/items/item": item
+"/compute:v1/RegionList/kind": kind
+"/compute:v1/RegionList/nextPageToken": next_page_token
+"/compute:v1/RegionList/selfLink": self_link
+"/compute:v1/ResourceGroupReference": resource_group_reference
+"/compute:v1/ResourceGroupReference/group": group
+"/compute:v1/Route": route
+"/compute:v1/Route/creationTimestamp": creation_timestamp
+"/compute:v1/Route/description": description
+"/compute:v1/Route/destRange": dest_range
+"/compute:v1/Route/id": id
+"/compute:v1/Route/kind": kind
+"/compute:v1/Route/name": name
+"/compute:v1/Route/network": network
+"/compute:v1/Route/nextHopGateway": next_hop_gateway
+"/compute:v1/Route/nextHopInstance": next_hop_instance
+"/compute:v1/Route/nextHopIp": next_hop_ip
+"/compute:v1/Route/nextHopNetwork": next_hop_network
+"/compute:v1/Route/nextHopVpnTunnel": next_hop_vpn_tunnel
+"/compute:v1/Route/priority": priority
+"/compute:v1/Route/selfLink": self_link
+"/compute:v1/Route/tags": tags
+"/compute:v1/Route/tags/tag": tag
+"/compute:v1/Route/warnings": warnings
+"/compute:v1/Route/warnings/warning": warning
+"/compute:v1/Route/warnings/warning/code": code
+"/compute:v1/Route/warnings/warning/data": data
+"/compute:v1/Route/warnings/warning/data/datum": datum
+"/compute:v1/Route/warnings/warning/data/datum/key": key
+"/compute:v1/Route/warnings/warning/data/datum/value": value
+"/compute:v1/Route/warnings/warning/message": message
+"/compute:v1/RouteList": route_list
+"/compute:v1/RouteList/id": id
+"/compute:v1/RouteList/items": items
+"/compute:v1/RouteList/items/item": item
+"/compute:v1/RouteList/kind": kind
+"/compute:v1/RouteList/nextPageToken": next_page_token
+"/compute:v1/RouteList/selfLink": self_link
+"/compute:v1/Scheduling": scheduling
+"/compute:v1/Scheduling/automaticRestart": automatic_restart
+"/compute:v1/Scheduling/onHostMaintenance": on_host_maintenance
+"/compute:v1/Scheduling/preemptible": preemptible
+"/compute:v1/SerialPortOutput": serial_port_output
+"/compute:v1/SerialPortOutput/contents": contents
+"/compute:v1/SerialPortOutput/kind": kind
+"/compute:v1/SerialPortOutput/selfLink": self_link
+"/compute:v1/ServiceAccount": service_account
+"/compute:v1/ServiceAccount/email": email
+"/compute:v1/ServiceAccount/scopes": scopes
+"/compute:v1/ServiceAccount/scopes/scope": scope
+"/compute:v1/Snapshot": snapshot
+"/compute:v1/Snapshot/creationTimestamp": creation_timestamp
+"/compute:v1/Snapshot/description": description
+"/compute:v1/Snapshot/diskSizeGb": disk_size_gb
+"/compute:v1/Snapshot/id": id
+"/compute:v1/Snapshot/kind": kind
+"/compute:v1/Snapshot/licenses": licenses
+"/compute:v1/Snapshot/licenses/license": license
+"/compute:v1/Snapshot/name": name
+"/compute:v1/Snapshot/selfLink": self_link
+"/compute:v1/Snapshot/sourceDisk": source_disk
+"/compute:v1/Snapshot/sourceDiskId": source_disk_id
+"/compute:v1/Snapshot/status": status
+"/compute:v1/Snapshot/storageBytes": storage_bytes
+"/compute:v1/Snapshot/storageBytesStatus": storage_bytes_status
+"/compute:v1/SnapshotList": snapshot_list
+"/compute:v1/SnapshotList/id": id
+"/compute:v1/SnapshotList/items": items
+"/compute:v1/SnapshotList/items/item": item
+"/compute:v1/SnapshotList/kind": kind
+"/compute:v1/SnapshotList/nextPageToken": next_page_token
+"/compute:v1/SnapshotList/selfLink": self_link
+"/compute:v1/Tags": tags
+"/compute:v1/Tags/fingerprint": fingerprint
+"/compute:v1/Tags/items": items
+"/compute:v1/Tags/items/item": item
+"/compute:v1/TargetHttpProxy": target_http_proxy
+"/compute:v1/TargetHttpProxy/creationTimestamp": creation_timestamp
+"/compute:v1/TargetHttpProxy/description": description
+"/compute:v1/TargetHttpProxy/id": id
+"/compute:v1/TargetHttpProxy/kind": kind
+"/compute:v1/TargetHttpProxy/name": name
+"/compute:v1/TargetHttpProxy/selfLink": self_link
+"/compute:v1/TargetHttpProxy/urlMap": url_map
+"/compute:v1/TargetHttpProxyList": target_http_proxy_list
+"/compute:v1/TargetHttpProxyList/id": id
+"/compute:v1/TargetHttpProxyList/items": items
+"/compute:v1/TargetHttpProxyList/items/item": item
+"/compute:v1/TargetHttpProxyList/kind": kind
+"/compute:v1/TargetHttpProxyList/nextPageToken": next_page_token
+"/compute:v1/TargetHttpProxyList/selfLink": self_link
+"/compute:v1/TargetInstance": target_instance
+"/compute:v1/TargetInstance/creationTimestamp": creation_timestamp
+"/compute:v1/TargetInstance/description": description
+"/compute:v1/TargetInstance/id": id
+"/compute:v1/TargetInstance/instance": instance
+"/compute:v1/TargetInstance/kind": kind
+"/compute:v1/TargetInstance/name": name
+"/compute:v1/TargetInstance/natPolicy": nat_policy
+"/compute:v1/TargetInstance/selfLink": self_link
+"/compute:v1/TargetInstance/zone": zone
+"/compute:v1/TargetInstanceAggregatedList": target_instance_aggregated_list
+"/compute:v1/TargetInstanceAggregatedList/id": id
+"/compute:v1/TargetInstanceAggregatedList/items": items
+"/compute:v1/TargetInstanceAggregatedList/items/item": item
+"/compute:v1/TargetInstanceAggregatedList/kind": kind
+"/compute:v1/TargetInstanceAggregatedList/nextPageToken": next_page_token
+"/compute:v1/TargetInstanceAggregatedList/selfLink": self_link
+"/compute:v1/TargetInstanceList": target_instance_list
+"/compute:v1/TargetInstanceList/id": id
+"/compute:v1/TargetInstanceList/items": items
+"/compute:v1/TargetInstanceList/items/item": item
+"/compute:v1/TargetInstanceList/kind": kind
+"/compute:v1/TargetInstanceList/nextPageToken": next_page_token
+"/compute:v1/TargetInstanceList/selfLink": self_link
+"/compute:v1/TargetInstancesScopedList": target_instances_scoped_list
+"/compute:v1/TargetInstancesScopedList/targetInstances": target_instances
+"/compute:v1/TargetInstancesScopedList/targetInstances/target_instance": target_instance
+"/compute:v1/TargetInstancesScopedList/warning": warning
+"/compute:v1/TargetInstancesScopedList/warning/code": code
+"/compute:v1/TargetInstancesScopedList/warning/data": data
+"/compute:v1/TargetInstancesScopedList/warning/data/datum": datum
+"/compute:v1/TargetInstancesScopedList/warning/data/datum/key": key
+"/compute:v1/TargetInstancesScopedList/warning/data/datum/value": value
+"/compute:v1/TargetInstancesScopedList/warning/message": message
+"/compute:v1/TargetPool": target_pool
+"/compute:v1/TargetPool/backupPool": backup_pool
+"/compute:v1/TargetPool/creationTimestamp": creation_timestamp
+"/compute:v1/TargetPool/description": description
+"/compute:v1/TargetPool/failoverRatio": failover_ratio
+"/compute:v1/TargetPool/healthChecks": health_checks
+"/compute:v1/TargetPool/healthChecks/health_check": health_check
+"/compute:v1/TargetPool/id": id
+"/compute:v1/TargetPool/instances": instances
+"/compute:v1/TargetPool/instances/instance": instance
+"/compute:v1/TargetPool/kind": kind
+"/compute:v1/TargetPool/name": name
+"/compute:v1/TargetPool/region": region
+"/compute:v1/TargetPool/selfLink": self_link
+"/compute:v1/TargetPool/sessionAffinity": session_affinity
+"/compute:v1/TargetPoolAggregatedList": target_pool_aggregated_list
+"/compute:v1/TargetPoolAggregatedList/id": id
+"/compute:v1/TargetPoolAggregatedList/items": items
+"/compute:v1/TargetPoolAggregatedList/items/item": item
+"/compute:v1/TargetPoolAggregatedList/kind": kind
+"/compute:v1/TargetPoolAggregatedList/nextPageToken": next_page_token
+"/compute:v1/TargetPoolAggregatedList/selfLink": self_link
+"/compute:v1/TargetPoolInstanceHealth": target_pool_instance_health
+"/compute:v1/TargetPoolInstanceHealth/healthStatus": health_status
+"/compute:v1/TargetPoolInstanceHealth/healthStatus/health_status": health_status
+"/compute:v1/TargetPoolInstanceHealth/kind": kind
+"/compute:v1/TargetPoolList": target_pool_list
+"/compute:v1/TargetPoolList/id": id
+"/compute:v1/TargetPoolList/items": items
+"/compute:v1/TargetPoolList/items/item": item
+"/compute:v1/TargetPoolList/kind": kind
+"/compute:v1/TargetPoolList/nextPageToken": next_page_token
+"/compute:v1/TargetPoolList/selfLink": self_link
+"/compute:v1/TargetPoolsAddHealthCheckRequest/healthChecks": health_checks
+"/compute:v1/TargetPoolsAddHealthCheckRequest/healthChecks/health_check": health_check
+"/compute:v1/TargetPoolsAddInstanceRequest/instances": instances
+"/compute:v1/TargetPoolsAddInstanceRequest/instances/instance": instance
+"/compute:v1/TargetPoolsRemoveHealthCheckRequest/healthChecks": health_checks
+"/compute:v1/TargetPoolsRemoveHealthCheckRequest/healthChecks/health_check": health_check
+"/compute:v1/TargetPoolsRemoveInstanceRequest/instances": instances
+"/compute:v1/TargetPoolsRemoveInstanceRequest/instances/instance": instance
+"/compute:v1/TargetPoolsScopedList": target_pools_scoped_list
+"/compute:v1/TargetPoolsScopedList/targetPools": target_pools
+"/compute:v1/TargetPoolsScopedList/targetPools/target_pool": target_pool
+"/compute:v1/TargetPoolsScopedList/warning": warning
+"/compute:v1/TargetPoolsScopedList/warning/code": code
+"/compute:v1/TargetPoolsScopedList/warning/data": data
+"/compute:v1/TargetPoolsScopedList/warning/data/datum": datum
+"/compute:v1/TargetPoolsScopedList/warning/data/datum/key": key
+"/compute:v1/TargetPoolsScopedList/warning/data/datum/value": value
+"/compute:v1/TargetPoolsScopedList/warning/message": message
+"/compute:v1/TargetReference": target_reference
+"/compute:v1/TargetReference/target": target
+"/compute:v1/TargetVpnGateway": target_vpn_gateway
+"/compute:v1/TargetVpnGateway/creationTimestamp": creation_timestamp
+"/compute:v1/TargetVpnGateway/description": description
+"/compute:v1/TargetVpnGateway/forwardingRules": forwarding_rules
+"/compute:v1/TargetVpnGateway/forwardingRules/forwarding_rule": forwarding_rule
+"/compute:v1/TargetVpnGateway/id": id
+"/compute:v1/TargetVpnGateway/kind": kind
+"/compute:v1/TargetVpnGateway/name": name
+"/compute:v1/TargetVpnGateway/network": network
+"/compute:v1/TargetVpnGateway/region": region
+"/compute:v1/TargetVpnGateway/selfLink": self_link
+"/compute:v1/TargetVpnGateway/status": status
+"/compute:v1/TargetVpnGateway/tunnels": tunnels
+"/compute:v1/TargetVpnGateway/tunnels/tunnel": tunnel
+"/compute:v1/TargetVpnGatewayAggregatedList": target_vpn_gateway_aggregated_list
+"/compute:v1/TargetVpnGatewayAggregatedList/id": id
+"/compute:v1/TargetVpnGatewayAggregatedList/items": items
+"/compute:v1/TargetVpnGatewayAggregatedList/items/item": item
+"/compute:v1/TargetVpnGatewayAggregatedList/kind": kind
+"/compute:v1/TargetVpnGatewayAggregatedList/nextPageToken": next_page_token
+"/compute:v1/TargetVpnGatewayAggregatedList/selfLink": self_link
+"/compute:v1/TargetVpnGatewayList": target_vpn_gateway_list
+"/compute:v1/TargetVpnGatewayList/id": id
+"/compute:v1/TargetVpnGatewayList/items": items
+"/compute:v1/TargetVpnGatewayList/items/item": item
+"/compute:v1/TargetVpnGatewayList/kind": kind
+"/compute:v1/TargetVpnGatewayList/nextPageToken": next_page_token
+"/compute:v1/TargetVpnGatewayList/selfLink": self_link
+"/compute:v1/TargetVpnGatewaysScopedList": target_vpn_gateways_scoped_list
+"/compute:v1/TargetVpnGatewaysScopedList/targetVpnGateways": target_vpn_gateways
+"/compute:v1/TargetVpnGatewaysScopedList/targetVpnGateways/target_vpn_gateway": target_vpn_gateway
+"/compute:v1/TargetVpnGatewaysScopedList/warning": warning
+"/compute:v1/TargetVpnGatewaysScopedList/warning/code": code
+"/compute:v1/TargetVpnGatewaysScopedList/warning/data": data
+"/compute:v1/TargetVpnGatewaysScopedList/warning/data/datum": datum
+"/compute:v1/TargetVpnGatewaysScopedList/warning/data/datum/key": key
+"/compute:v1/TargetVpnGatewaysScopedList/warning/data/datum/value": value
+"/compute:v1/TargetVpnGatewaysScopedList/warning/message": message
+"/compute:v1/TestFailure": test_failure
+"/compute:v1/TestFailure/actualService": actual_service
+"/compute:v1/TestFailure/expectedService": expected_service
+"/compute:v1/TestFailure/host": host
+"/compute:v1/TestFailure/path": path
+"/compute:v1/UrlMap": url_map
+"/compute:v1/UrlMap/creationTimestamp": creation_timestamp
+"/compute:v1/UrlMap/defaultService": default_service
+"/compute:v1/UrlMap/description": description
+"/compute:v1/UrlMap/fingerprint": fingerprint
+"/compute:v1/UrlMap/hostRules": host_rules
+"/compute:v1/UrlMap/hostRules/host_rule": host_rule
+"/compute:v1/UrlMap/id": id
+"/compute:v1/UrlMap/kind": kind
+"/compute:v1/UrlMap/name": name
+"/compute:v1/UrlMap/pathMatchers": path_matchers
+"/compute:v1/UrlMap/pathMatchers/path_matcher": path_matcher
+"/compute:v1/UrlMap/selfLink": self_link
+"/compute:v1/UrlMap/tests": tests
+"/compute:v1/UrlMap/tests/test": test
+"/compute:v1/UrlMapList": url_map_list
+"/compute:v1/UrlMapList/id": id
+"/compute:v1/UrlMapList/items": items
+"/compute:v1/UrlMapList/items/item": item
+"/compute:v1/UrlMapList/kind": kind
+"/compute:v1/UrlMapList/nextPageToken": next_page_token
+"/compute:v1/UrlMapList/selfLink": self_link
+"/compute:v1/UrlMapReference": url_map_reference
+"/compute:v1/UrlMapReference/urlMap": url_map
+"/compute:v1/UrlMapTest": url_map_test
+"/compute:v1/UrlMapTest/description": description
+"/compute:v1/UrlMapTest/host": host
+"/compute:v1/UrlMapTest/path": path
+"/compute:v1/UrlMapTest/service": service
+"/compute:v1/UrlMapValidationResult": url_map_validation_result
+"/compute:v1/UrlMapValidationResult/loadErrors": load_errors
+"/compute:v1/UrlMapValidationResult/loadErrors/load_error": load_error
+"/compute:v1/UrlMapValidationResult/loadSucceeded": load_succeeded
+"/compute:v1/UrlMapValidationResult/testFailures": test_failures
+"/compute:v1/UrlMapValidationResult/testFailures/test_failure": test_failure
+"/compute:v1/UrlMapValidationResult/testPassed": test_passed
+"/compute:v1/UrlMapsValidateRequest/resource": resource
+"/compute:v1/UrlMapsValidateResponse/result": result
+"/compute:v1/UsageExportLocation": usage_export_location
+"/compute:v1/UsageExportLocation/bucketName": bucket_name
+"/compute:v1/UsageExportLocation/reportNamePrefix": report_name_prefix
+"/compute:v1/VpnTunnel": vpn_tunnel
+"/compute:v1/VpnTunnel/creationTimestamp": creation_timestamp
+"/compute:v1/VpnTunnel/description": description
+"/compute:v1/VpnTunnel/detailedStatus": detailed_status
+"/compute:v1/VpnTunnel/id": id
+"/compute:v1/VpnTunnel/ikeNetworks": ike_networks
+"/compute:v1/VpnTunnel/ikeNetworks/ike_network": ike_network
+"/compute:v1/VpnTunnel/ikeVersion": ike_version
+"/compute:v1/VpnTunnel/kind": kind
+"/compute:v1/VpnTunnel/name": name
+"/compute:v1/VpnTunnel/peerIp": peer_ip
+"/compute:v1/VpnTunnel/region": region
+"/compute:v1/VpnTunnel/selfLink": self_link
+"/compute:v1/VpnTunnel/sharedSecret": shared_secret
+"/compute:v1/VpnTunnel/sharedSecretHash": shared_secret_hash
+"/compute:v1/VpnTunnel/status": status
+"/compute:v1/VpnTunnel/targetVpnGateway": target_vpn_gateway
+"/compute:v1/VpnTunnelAggregatedList": vpn_tunnel_aggregated_list
+"/compute:v1/VpnTunnelAggregatedList/id": id
+"/compute:v1/VpnTunnelAggregatedList/items": items
+"/compute:v1/VpnTunnelAggregatedList/items/item": item
+"/compute:v1/VpnTunnelAggregatedList/kind": kind
+"/compute:v1/VpnTunnelAggregatedList/nextPageToken": next_page_token
+"/compute:v1/VpnTunnelAggregatedList/selfLink": self_link
+"/compute:v1/VpnTunnelList": vpn_tunnel_list
+"/compute:v1/VpnTunnelList/id": id
+"/compute:v1/VpnTunnelList/items": items
+"/compute:v1/VpnTunnelList/items/item": item
+"/compute:v1/VpnTunnelList/kind": kind
+"/compute:v1/VpnTunnelList/nextPageToken": next_page_token
+"/compute:v1/VpnTunnelList/selfLink": self_link
+"/compute:v1/VpnTunnelsScopedList": vpn_tunnels_scoped_list
+"/compute:v1/VpnTunnelsScopedList/vpnTunnels": vpn_tunnels
+"/compute:v1/VpnTunnelsScopedList/vpnTunnels/vpn_tunnel": vpn_tunnel
+"/compute:v1/VpnTunnelsScopedList/warning": warning
+"/compute:v1/VpnTunnelsScopedList/warning/code": code
+"/compute:v1/VpnTunnelsScopedList/warning/data": data
+"/compute:v1/VpnTunnelsScopedList/warning/data/datum": datum
+"/compute:v1/VpnTunnelsScopedList/warning/data/datum/key": key
+"/compute:v1/VpnTunnelsScopedList/warning/data/datum/value": value
+"/compute:v1/VpnTunnelsScopedList/warning/message": message
+"/compute:v1/Zone": zone
+"/compute:v1/Zone/creationTimestamp": creation_timestamp
+"/compute:v1/Zone/deprecated": deprecated
+"/compute:v1/Zone/description": description
+"/compute:v1/Zone/id": id
+"/compute:v1/Zone/kind": kind
+"/compute:v1/Zone/maintenanceWindows": maintenance_windows
+"/compute:v1/Zone/maintenanceWindows/maintenance_window": maintenance_window
+"/compute:v1/Zone/maintenanceWindows/maintenance_window/beginTime": begin_time
+"/compute:v1/Zone/maintenanceWindows/maintenance_window/description": description
+"/compute:v1/Zone/maintenanceWindows/maintenance_window/endTime": end_time
+"/compute:v1/Zone/maintenanceWindows/maintenance_window/name": name
+"/compute:v1/Zone/name": name
+"/compute:v1/Zone/region": region
+"/compute:v1/Zone/selfLink": self_link
+"/compute:v1/Zone/status": status
+"/compute:v1/ZoneList": zone_list
+"/compute:v1/ZoneList/id": id
+"/compute:v1/ZoneList/items": items
+"/compute:v1/ZoneList/items/item": item
+"/compute:v1/ZoneList/kind": kind
+"/compute:v1/ZoneList/nextPageToken": next_page_token
+"/compute:v1/ZoneList/selfLink": self_link
+"/container:v1beta1/fields": fields
+"/container:v1beta1/key": key
+"/container:v1beta1/quotaUser": quota_user
+"/container:v1beta1/userIp": user_ip
+"/container:v1beta1/container.projects.clusters.list/projectId": project_id
+"/container:v1beta1/container.projects.operations.list/projectId": project_id
+"/container:v1beta1/container.projects.zones.clusters.create/projectId": project_id
+"/container:v1beta1/container.projects.zones.clusters.create/zoneId": zone_id
+"/container:v1beta1/container.projects.zones.clusters.delete/clusterId": cluster_id
+"/container:v1beta1/container.projects.zones.clusters.delete/projectId": project_id
+"/container:v1beta1/container.projects.zones.clusters.delete/zoneId": zone_id
+"/container:v1beta1/container.projects.zones.clusters.get/clusterId": cluster_id
+"/container:v1beta1/container.projects.zones.clusters.get/projectId": project_id
+"/container:v1beta1/container.projects.zones.clusters.get/zoneId": zone_id
+"/container:v1beta1/container.projects.zones.clusters.list/projectId": project_id
+"/container:v1beta1/container.projects.zones.clusters.list/zoneId": zone_id
+"/container:v1beta1/container.projects.zones.operations.get/operationId": operation_id
+"/container:v1beta1/container.projects.zones.operations.get/projectId": project_id
+"/container:v1beta1/container.projects.zones.operations.get/zoneId": zone_id
+"/container:v1beta1/container.projects.zones.operations.list/projectId": project_id
+"/container:v1beta1/container.projects.zones.operations.list/zoneId": zone_id
+"/container:v1beta1/Cluster": cluster
+"/container:v1beta1/Cluster/clusterApiVersion": cluster_api_version
+"/container:v1beta1/Cluster/containerIpv4Cidr": container_ipv4_cidr
+"/container:v1beta1/Cluster/creationTimestamp": creation_timestamp
+"/container:v1beta1/Cluster/description": description
+"/container:v1beta1/Cluster/enableCloudLogging": enable_cloud_logging
+"/container:v1beta1/Cluster/enableCloudMonitoring": enable_cloud_monitoring
+"/container:v1beta1/Cluster/endpoint": endpoint
+"/container:v1beta1/Cluster/instanceGroupUrls": instance_group_urls
+"/container:v1beta1/Cluster/instanceGroupUrls/instance_group_url": instance_group_url
+"/container:v1beta1/Cluster/masterAuth": master_auth
+"/container:v1beta1/Cluster/name": name
+"/container:v1beta1/Cluster/network": network
+"/container:v1beta1/Cluster/nodeConfig": node_config
+"/container:v1beta1/Cluster/nodeRoutingPrefixSize": node_routing_prefix_size
+"/container:v1beta1/Cluster/numNodes": num_nodes
+"/container:v1beta1/Cluster/selfLink": self_link
+"/container:v1beta1/Cluster/servicesIpv4Cidr": services_ipv4_cidr
+"/container:v1beta1/Cluster/status": status
+"/container:v1beta1/Cluster/statusMessage": status_message
+"/container:v1beta1/Cluster/zone": zone
+"/container:v1beta1/CreateClusterRequest": create_cluster_request
+"/container:v1beta1/CreateClusterRequest/cluster": cluster
+"/container:v1beta1/ListAggregatedClustersResponse": list_aggregated_clusters_response
+"/container:v1beta1/ListAggregatedClustersResponse/clusters": clusters
+"/container:v1beta1/ListAggregatedClustersResponse/clusters/cluster": cluster
+"/container:v1beta1/ListAggregatedOperationsResponse": list_aggregated_operations_response
+"/container:v1beta1/ListAggregatedOperationsResponse/operations": operations
+"/container:v1beta1/ListAggregatedOperationsResponse/operations/operation": operation
+"/container:v1beta1/ListClustersResponse": list_clusters_response
+"/container:v1beta1/ListClustersResponse/clusters": clusters
+"/container:v1beta1/ListClustersResponse/clusters/cluster": cluster
+"/container:v1beta1/ListOperationsResponse": list_operations_response
+"/container:v1beta1/ListOperationsResponse/operations": operations
+"/container:v1beta1/ListOperationsResponse/operations/operation": operation
+"/container:v1beta1/MasterAuth": master_auth
+"/container:v1beta1/MasterAuth/bearerToken": bearer_token
+"/container:v1beta1/MasterAuth/clientCertificate": client_certificate
+"/container:v1beta1/MasterAuth/clientKey": client_key
+"/container:v1beta1/MasterAuth/clusterCaCertificate": cluster_ca_certificate
+"/container:v1beta1/MasterAuth/password": password
+"/container:v1beta1/MasterAuth/user": user
+"/container:v1beta1/NodeConfig": node_config
+"/container:v1beta1/NodeConfig/machineType": machine_type
+"/container:v1beta1/NodeConfig/serviceAccounts": service_accounts
+"/container:v1beta1/NodeConfig/serviceAccounts/service_account": service_account
+"/container:v1beta1/NodeConfig/sourceImage": source_image
+"/container:v1beta1/Operation": operation
+"/container:v1beta1/Operation/errorMessage": error_message
+"/container:v1beta1/Operation/name": name
+"/container:v1beta1/Operation/operationType": operation_type
+"/container:v1beta1/Operation/selfLink": self_link
+"/container:v1beta1/Operation/status": status
+"/container:v1beta1/Operation/target": target
+"/container:v1beta1/Operation/targetLink": target_link
+"/container:v1beta1/Operation/zone": zone
+"/container:v1beta1/ServiceAccount": service_account
+"/container:v1beta1/ServiceAccount/email": email
+"/container:v1beta1/ServiceAccount/scopes": scopes
+"/container:v1beta1/ServiceAccount/scopes/scope": scope
+"/content:v2/fields": fields
+"/content:v2/key": key
+"/content:v2/quotaUser": quota_user
+"/content:v2/userIp": user_ip
+"/content:v2/content.accounts.delete": delete_account
+"/content:v2/content.accounts.delete/accountId": account_id
+"/content:v2/content.accounts.delete/merchantId": merchant_id
+"/content:v2/content.accounts.get": get_account
+"/content:v2/content.accounts.get/accountId": account_id
+"/content:v2/content.accounts.get/merchantId": merchant_id
+"/content:v2/content.accounts.insert": insert_account
+"/content:v2/content.accounts.insert/merchantId": merchant_id
+"/content:v2/content.accounts.list": list_accounts
+"/content:v2/content.accounts.list/maxResults": max_results
+"/content:v2/content.accounts.list/merchantId": merchant_id
+"/content:v2/content.accounts.list/pageToken": page_token
+"/content:v2/content.accounts.patch": patch_account
+"/content:v2/content.accounts.patch/accountId": account_id
+"/content:v2/content.accounts.patch/merchantId": merchant_id
+"/content:v2/content.accounts.update": update_account
+"/content:v2/content.accounts.update/accountId": account_id
+"/content:v2/content.accounts.update/merchantId": merchant_id
+"/content:v2/content.accountshipping.custombatch/dryRun": dry_run
+"/content:v2/content.accountshipping.get/accountId": account_id
+"/content:v2/content.accountshipping.get/merchantId": merchant_id
+"/content:v2/content.accountshipping.list/maxResults": max_results
+"/content:v2/content.accountshipping.list/merchantId": merchant_id
+"/content:v2/content.accountshipping.list/pageToken": page_token
+"/content:v2/content.accountshipping.patch/accountId": account_id
+"/content:v2/content.accountshipping.patch/dryRun": dry_run
+"/content:v2/content.accountshipping.patch/merchantId": merchant_id
+"/content:v2/content.accountshipping.update/accountId": account_id
+"/content:v2/content.accountshipping.update/dryRun": dry_run
+"/content:v2/content.accountshipping.update/merchantId": merchant_id
+"/content:v2/content.accountstatuses.get/accountId": account_id
+"/content:v2/content.accountstatuses.get/merchantId": merchant_id
+"/content:v2/content.accountstatuses.list/maxResults": max_results
+"/content:v2/content.accountstatuses.list/merchantId": merchant_id
+"/content:v2/content.accountstatuses.list/pageToken": page_token
+"/content:v2/content.accounttax.custombatch/dryRun": dry_run
+"/content:v2/content.accounttax.get/accountId": account_id
+"/content:v2/content.accounttax.get/merchantId": merchant_id
+"/content:v2/content.accounttax.list/maxResults": max_results
+"/content:v2/content.accounttax.list/merchantId": merchant_id
+"/content:v2/content.accounttax.list/pageToken": page_token
+"/content:v2/content.accounttax.patch/accountId": account_id
+"/content:v2/content.accounttax.patch/dryRun": dry_run
+"/content:v2/content.accounttax.patch/merchantId": merchant_id
+"/content:v2/content.accounttax.update/accountId": account_id
+"/content:v2/content.accounttax.update/dryRun": dry_run
+"/content:v2/content.accounttax.update/merchantId": merchant_id
+"/content:v2/content.datafeeds.delete": delete_datafeed
+"/content:v2/content.datafeeds.delete/datafeedId": datafeed_id
+"/content:v2/content.datafeeds.delete/merchantId": merchant_id
+"/content:v2/content.datafeeds.get": get_datafeed
+"/content:v2/content.datafeeds.get/datafeedId": datafeed_id
+"/content:v2/content.datafeeds.get/merchantId": merchant_id
+"/content:v2/content.datafeeds.insert": insert_datafeed
+"/content:v2/content.datafeeds.insert/merchantId": merchant_id
+"/content:v2/content.datafeeds.list": list_datafeeds
+"/content:v2/content.datafeeds.list/maxResults": max_results
+"/content:v2/content.datafeeds.list/merchantId": merchant_id
+"/content:v2/content.datafeeds.list/pageToken": page_token
+"/content:v2/content.datafeeds.patch": patch_datafeed
+"/content:v2/content.datafeeds.patch/datafeedId": datafeed_id
+"/content:v2/content.datafeeds.patch/merchantId": merchant_id
+"/content:v2/content.datafeeds.update": update_datafeed
+"/content:v2/content.datafeeds.update/datafeedId": datafeed_id
+"/content:v2/content.datafeeds.update/merchantId": merchant_id
+"/content:v2/content.datafeedstatuses.get/datafeedId": datafeed_id
+"/content:v2/content.datafeedstatuses.get/merchantId": merchant_id
+"/content:v2/content.datafeedstatuses.list/maxResults": max_results
+"/content:v2/content.datafeedstatuses.list/merchantId": merchant_id
+"/content:v2/content.datafeedstatuses.list/pageToken": page_token
+"/content:v2/content.inventory.set/merchantId": merchant_id
+"/content:v2/content.inventory.set/productId": product_id
+"/content:v2/content.inventory.set/storeCode": store_code
+"/content:v2/content.products.custombatch/dryRun": dry_run
+"/content:v2/content.products.delete": delete_product
+"/content:v2/content.products.delete/dryRun": dry_run
+"/content:v2/content.products.delete/merchantId": merchant_id
+"/content:v2/content.products.delete/productId": product_id
+"/content:v2/content.products.get": get_product
+"/content:v2/content.products.get/merchantId": merchant_id
+"/content:v2/content.products.get/productId": product_id
+"/content:v2/content.products.insert": insert_product
+"/content:v2/content.products.insert/dryRun": dry_run
+"/content:v2/content.products.insert/merchantId": merchant_id
+"/content:v2/content.products.list": list_products
+"/content:v2/content.products.list/maxResults": max_results
+"/content:v2/content.products.list/merchantId": merchant_id
+"/content:v2/content.products.list/pageToken": page_token
+"/content:v2/content.productstatuses.get/merchantId": merchant_id
+"/content:v2/content.productstatuses.get/productId": product_id
+"/content:v2/content.productstatuses.list/maxResults": max_results
+"/content:v2/content.productstatuses.list/merchantId": merchant_id
+"/content:v2/content.productstatuses.list/pageToken": page_token
+"/content:v2/Account": account
+"/content:v2/Account/adultContent": adult_content
+"/content:v2/Account/adwordsLinks": adwords_links
+"/content:v2/Account/adwordsLinks/adwords_link": adwords_link
+"/content:v2/Account/id": id
+"/content:v2/Account/kind": kind
+"/content:v2/Account/name": name
+"/content:v2/Account/reviewsUrl": reviews_url
+"/content:v2/Account/sellerId": seller_id
+"/content:v2/Account/users": users
+"/content:v2/Account/users/user": user
+"/content:v2/Account/websiteUrl": website_url
+"/content:v2/AccountAdwordsLink": account_adwords_link
+"/content:v2/AccountAdwordsLink/adwordsId": adwords_id
+"/content:v2/AccountAdwordsLink/status": status
+"/content:v2/AccountIdentifier": account_identifier
+"/content:v2/AccountIdentifier/aggregatorId": aggregator_id
+"/content:v2/AccountIdentifier/merchantId": merchant_id
+"/content:v2/AccountShipping": account_shipping
+"/content:v2/AccountShipping/accountId": account_id
+"/content:v2/AccountShipping/carrierRates": carrier_rates
+"/content:v2/AccountShipping/carrierRates/carrier_rate": carrier_rate
+"/content:v2/AccountShipping/kind": kind
+"/content:v2/AccountShipping/locationGroups": location_groups
+"/content:v2/AccountShipping/locationGroups/location_group": location_group
+"/content:v2/AccountShipping/rateTables": rate_tables
+"/content:v2/AccountShipping/rateTables/rate_table": rate_table
+"/content:v2/AccountShipping/services": services
+"/content:v2/AccountShipping/services/service": service
+"/content:v2/AccountShippingCarrierRate": account_shipping_carrier_rate
+"/content:v2/AccountShippingCarrierRate/carrier": carrier
+"/content:v2/AccountShippingCarrierRate/carrierService": carrier_service
+"/content:v2/AccountShippingCarrierRate/modifierFlatRate": modifier_flat_rate
+"/content:v2/AccountShippingCarrierRate/modifierPercent": modifier_percent
+"/content:v2/AccountShippingCarrierRate/name": name
+"/content:v2/AccountShippingCarrierRate/saleCountry": sale_country
+"/content:v2/AccountShippingCarrierRate/shippingOrigin": shipping_origin
+"/content:v2/AccountShippingCondition": account_shipping_condition
+"/content:v2/AccountShippingCondition/deliveryLocationGroup": delivery_location_group
+"/content:v2/AccountShippingCondition/deliveryLocationId": delivery_location_id
+"/content:v2/AccountShippingCondition/deliveryPostalCode": delivery_postal_code
+"/content:v2/AccountShippingCondition/deliveryPostalCodeRange": delivery_postal_code_range
+"/content:v2/AccountShippingCondition/priceMax": price_max
+"/content:v2/AccountShippingCondition/shippingLabel": shipping_label
+"/content:v2/AccountShippingCondition/weightMax": weight_max
+"/content:v2/AccountShippingLocationGroup": account_shipping_location_group
+"/content:v2/AccountShippingLocationGroup/country": country
+"/content:v2/AccountShippingLocationGroup/locationIds": location_ids
+"/content:v2/AccountShippingLocationGroup/locationIds/location_id": location_id
+"/content:v2/AccountShippingLocationGroup/name": name
+"/content:v2/AccountShippingLocationGroup/postalCodeRanges": postal_code_ranges
+"/content:v2/AccountShippingLocationGroup/postalCodeRanges/postal_code_range": postal_code_range
+"/content:v2/AccountShippingLocationGroup/postalCodes": postal_codes
+"/content:v2/AccountShippingLocationGroup/postalCodes/postal_code": postal_code
+"/content:v2/AccountShippingPostalCodeRange": account_shipping_postal_code_range
+"/content:v2/AccountShippingPostalCodeRange/end": end
+"/content:v2/AccountShippingPostalCodeRange/start": start
+"/content:v2/AccountShippingRateTable": account_shipping_rate_table
+"/content:v2/AccountShippingRateTable/content": content
+"/content:v2/AccountShippingRateTable/content/content": content
+"/content:v2/AccountShippingRateTable/name": name
+"/content:v2/AccountShippingRateTable/saleCountry": sale_country
+"/content:v2/AccountShippingRateTableCell": account_shipping_rate_table_cell
+"/content:v2/AccountShippingRateTableCell/condition": condition
+"/content:v2/AccountShippingRateTableCell/rate": rate
+"/content:v2/AccountShippingShippingService": account_shipping_shipping_service
+"/content:v2/AccountShippingShippingService/active": active
+"/content:v2/AccountShippingShippingService/calculationMethod": calculation_method
+"/content:v2/AccountShippingShippingService/costRuleTree": cost_rule_tree
+"/content:v2/AccountShippingShippingService/name": name
+"/content:v2/AccountShippingShippingService/saleCountry": sale_country
+"/content:v2/AccountShippingShippingServiceCalculationMethod": account_shipping_shipping_service_calculation_method
+"/content:v2/AccountShippingShippingServiceCalculationMethod/carrierRate": carrier_rate
+"/content:v2/AccountShippingShippingServiceCalculationMethod/excluded": excluded
+"/content:v2/AccountShippingShippingServiceCalculationMethod/flatRate": flat_rate
+"/content:v2/AccountShippingShippingServiceCalculationMethod/percentageRate": percentage_rate
+"/content:v2/AccountShippingShippingServiceCalculationMethod/rateTable": rate_table
+"/content:v2/AccountShippingShippingServiceCostRule": account_shipping_shipping_service_cost_rule
+"/content:v2/AccountShippingShippingServiceCostRule/calculationMethod": calculation_method
+"/content:v2/AccountShippingShippingServiceCostRule/children": children
+"/content:v2/AccountShippingShippingServiceCostRule/children/child": child
+"/content:v2/AccountShippingShippingServiceCostRule/condition": condition
+"/content:v2/AccountStatus": account_status
+"/content:v2/AccountStatus/accountId": account_id
+"/content:v2/AccountStatus/dataQualityIssues": data_quality_issues
+"/content:v2/AccountStatus/dataQualityIssues/data_quality_issue": data_quality_issue
+"/content:v2/AccountStatus/kind": kind
+"/content:v2/AccountStatusDataQualityIssue": account_status_data_quality_issue
+"/content:v2/AccountStatusDataQualityIssue/country": country
+"/content:v2/AccountStatusDataQualityIssue/displayedValue": displayed_value
+"/content:v2/AccountStatusDataQualityIssue/exampleItems": example_items
+"/content:v2/AccountStatusDataQualityIssue/exampleItems/example_item": example_item
+"/content:v2/AccountStatusDataQualityIssue/id": id
+"/content:v2/AccountStatusDataQualityIssue/lastChecked": last_checked
+"/content:v2/AccountStatusDataQualityIssue/numItems": num_items
+"/content:v2/AccountStatusDataQualityIssue/severity": severity
+"/content:v2/AccountStatusDataQualityIssue/submittedValue": submitted_value
+"/content:v2/AccountStatusExampleItem": account_status_example_item
+"/content:v2/AccountStatusExampleItem/itemId": item_id
+"/content:v2/AccountStatusExampleItem/link": link
+"/content:v2/AccountStatusExampleItem/submittedValue": submitted_value
+"/content:v2/AccountStatusExampleItem/title": title
+"/content:v2/AccountStatusExampleItem/valueOnLandingPage": value_on_landing_page
+"/content:v2/AccountTax": account_tax
+"/content:v2/AccountTax/accountId": account_id
+"/content:v2/AccountTax/kind": kind
+"/content:v2/AccountTax/rules": rules
+"/content:v2/AccountTax/rules/rule": rule
+"/content:v2/AccountTaxTaxRule": account_tax_tax_rule
+"/content:v2/AccountTaxTaxRule/country": country
+"/content:v2/AccountTaxTaxRule/locationId": location_id
+"/content:v2/AccountTaxTaxRule/ratePercent": rate_percent
+"/content:v2/AccountTaxTaxRule/shippingTaxed": shipping_taxed
+"/content:v2/AccountTaxTaxRule/useGlobalRate": use_global_rate
+"/content:v2/AccountUser": account_user
+"/content:v2/AccountUser/admin": admin
+"/content:v2/AccountUser/emailAddress": email_address
+"/content:v2/AccountsAuthInfoResponse/accountIdentifiers": account_identifiers
+"/content:v2/AccountsAuthInfoResponse/accountIdentifiers/account_identifier": account_identifier
+"/content:v2/AccountsAuthInfoResponse/kind": kind
+"/content:v2/AccountsCustomBatchRequest/entries": entries
+"/content:v2/AccountsCustomBatchRequest/entries/entry": entry
+"/content:v2/AccountsCustomBatchRequestEntry/account": account
+"/content:v2/AccountsCustomBatchRequestEntry/accountId": account_id
+"/content:v2/AccountsCustomBatchRequestEntry/batchId": batch_id
+"/content:v2/AccountsCustomBatchRequestEntry/merchantId": merchant_id
+"/content:v2/AccountsCustomBatchResponse/entries": entries
+"/content:v2/AccountsCustomBatchResponse/entries/entry": entry
+"/content:v2/AccountsCustomBatchResponse/kind": kind
+"/content:v2/AccountsCustomBatchResponseEntry/account": account
+"/content:v2/AccountsCustomBatchResponseEntry/batchId": batch_id
+"/content:v2/AccountsCustomBatchResponseEntry/errors": errors
+"/content:v2/AccountsCustomBatchResponseEntry/kind": kind
+"/content:v2/AccountsListResponse/kind": kind
+"/content:v2/AccountsListResponse/nextPageToken": next_page_token
+"/content:v2/AccountsListResponse/resources": resources
+"/content:v2/AccountsListResponse/resources/resource": resource
+"/content:v2/AccountshippingCustomBatchRequest/entries": entries
+"/content:v2/AccountshippingCustomBatchRequest/entries/entry": entry
+"/content:v2/AccountshippingCustomBatchRequestEntry/accountId": account_id
+"/content:v2/AccountshippingCustomBatchRequestEntry/accountShipping": account_shipping
+"/content:v2/AccountshippingCustomBatchRequestEntry/batchId": batch_id
+"/content:v2/AccountshippingCustomBatchRequestEntry/merchantId": merchant_id
+"/content:v2/AccountshippingCustomBatchResponse/entries": entries
+"/content:v2/AccountshippingCustomBatchResponse/entries/entry": entry
+"/content:v2/AccountshippingCustomBatchResponse/kind": kind
+"/content:v2/AccountshippingCustomBatchResponseEntry/accountShipping": account_shipping
+"/content:v2/AccountshippingCustomBatchResponseEntry/batchId": batch_id
+"/content:v2/AccountshippingCustomBatchResponseEntry/errors": errors
+"/content:v2/AccountshippingCustomBatchResponseEntry/kind": kind
+"/content:v2/AccountshippingListResponse/kind": kind
+"/content:v2/AccountshippingListResponse/nextPageToken": next_page_token
+"/content:v2/AccountshippingListResponse/resources": resources
+"/content:v2/AccountshippingListResponse/resources/resource": resource
+"/content:v2/AccountstatusesCustomBatchRequest/entries": entries
+"/content:v2/AccountstatusesCustomBatchRequest/entries/entry": entry
+"/content:v2/AccountstatusesCustomBatchRequestEntry/accountId": account_id
+"/content:v2/AccountstatusesCustomBatchRequestEntry/batchId": batch_id
+"/content:v2/AccountstatusesCustomBatchRequestEntry/merchantId": merchant_id
+"/content:v2/AccountstatusesCustomBatchResponse/entries": entries
+"/content:v2/AccountstatusesCustomBatchResponse/entries/entry": entry
+"/content:v2/AccountstatusesCustomBatchResponse/kind": kind
+"/content:v2/AccountstatusesCustomBatchResponseEntry/accountStatus": account_status
+"/content:v2/AccountstatusesCustomBatchResponseEntry/batchId": batch_id
+"/content:v2/AccountstatusesCustomBatchResponseEntry/errors": errors
+"/content:v2/AccountstatusesListResponse/kind": kind
+"/content:v2/AccountstatusesListResponse/nextPageToken": next_page_token
+"/content:v2/AccountstatusesListResponse/resources": resources
+"/content:v2/AccountstatusesListResponse/resources/resource": resource
+"/content:v2/AccounttaxCustomBatchRequest/entries": entries
+"/content:v2/AccounttaxCustomBatchRequest/entries/entry": entry
+"/content:v2/AccounttaxCustomBatchRequestEntry/accountId": account_id
+"/content:v2/AccounttaxCustomBatchRequestEntry/accountTax": account_tax
+"/content:v2/AccounttaxCustomBatchRequestEntry/batchId": batch_id
+"/content:v2/AccounttaxCustomBatchRequestEntry/merchantId": merchant_id
+"/content:v2/AccounttaxCustomBatchResponse/entries": entries
+"/content:v2/AccounttaxCustomBatchResponse/entries/entry": entry
+"/content:v2/AccounttaxCustomBatchResponse/kind": kind
+"/content:v2/AccounttaxCustomBatchResponseEntry/accountTax": account_tax
+"/content:v2/AccounttaxCustomBatchResponseEntry/batchId": batch_id
+"/content:v2/AccounttaxCustomBatchResponseEntry/errors": errors
+"/content:v2/AccounttaxCustomBatchResponseEntry/kind": kind
+"/content:v2/AccounttaxListResponse/kind": kind
+"/content:v2/AccounttaxListResponse/nextPageToken": next_page_token
+"/content:v2/AccounttaxListResponse/resources": resources
+"/content:v2/AccounttaxListResponse/resources/resource": resource
+"/content:v2/Datafeed": datafeed
+"/content:v2/Datafeed/attributeLanguage": attribute_language
+"/content:v2/Datafeed/contentLanguage": content_language
+"/content:v2/Datafeed/contentType": content_type
+"/content:v2/Datafeed/fetchSchedule": fetch_schedule
+"/content:v2/Datafeed/fileName": file_name
+"/content:v2/Datafeed/format": format
+"/content:v2/Datafeed/id": id
+"/content:v2/Datafeed/intendedDestinations": intended_destinations
+"/content:v2/Datafeed/intendedDestinations/intended_destination": intended_destination
+"/content:v2/Datafeed/kind": kind
+"/content:v2/Datafeed/name": name
+"/content:v2/Datafeed/targetCountry": target_country
+"/content:v2/DatafeedFetchSchedule": datafeed_fetch_schedule
+"/content:v2/DatafeedFetchSchedule/dayOfMonth": day_of_month
+"/content:v2/DatafeedFetchSchedule/fetchUrl": fetch_url
+"/content:v2/DatafeedFetchSchedule/hour": hour
+"/content:v2/DatafeedFetchSchedule/password": password
+"/content:v2/DatafeedFetchSchedule/timeZone": time_zone
+"/content:v2/DatafeedFetchSchedule/username": username
+"/content:v2/DatafeedFetchSchedule/weekday": weekday
+"/content:v2/DatafeedFormat": datafeed_format
+"/content:v2/DatafeedFormat/columnDelimiter": column_delimiter
+"/content:v2/DatafeedFormat/fileEncoding": file_encoding
+"/content:v2/DatafeedFormat/quotingMode": quoting_mode
+"/content:v2/DatafeedStatus": datafeed_status
+"/content:v2/DatafeedStatus/datafeedId": datafeed_id
+"/content:v2/DatafeedStatus/errors": errors
+"/content:v2/DatafeedStatus/errors/error": error
+"/content:v2/DatafeedStatus/itemsTotal": items_total
+"/content:v2/DatafeedStatus/itemsValid": items_valid
+"/content:v2/DatafeedStatus/kind": kind
+"/content:v2/DatafeedStatus/lastUploadDate": last_upload_date
+"/content:v2/DatafeedStatus/processingStatus": processing_status
+"/content:v2/DatafeedStatus/warnings": warnings
+"/content:v2/DatafeedStatus/warnings/warning": warning
+"/content:v2/DatafeedStatusError": datafeed_status_error
+"/content:v2/DatafeedStatusError/code": code
+"/content:v2/DatafeedStatusError/count": count
+"/content:v2/DatafeedStatusError/examples": examples
+"/content:v2/DatafeedStatusError/examples/example": example
+"/content:v2/DatafeedStatusError/message": message
+"/content:v2/DatafeedStatusExample": datafeed_status_example
+"/content:v2/DatafeedStatusExample/itemId": item_id
+"/content:v2/DatafeedStatusExample/lineNumber": line_number
+"/content:v2/DatafeedStatusExample/value": value
+"/content:v2/DatafeedsCustomBatchRequest/entries": entries
+"/content:v2/DatafeedsCustomBatchRequest/entries/entry": entry
+"/content:v2/DatafeedsCustomBatchRequestEntry/batchId": batch_id
+"/content:v2/DatafeedsCustomBatchRequestEntry/datafeed": datafeed
+"/content:v2/DatafeedsCustomBatchRequestEntry/datafeedId": datafeed_id
+"/content:v2/DatafeedsCustomBatchRequestEntry/merchantId": merchant_id
+"/content:v2/DatafeedsCustomBatchResponse/entries": entries
+"/content:v2/DatafeedsCustomBatchResponse/entries/entry": entry
+"/content:v2/DatafeedsCustomBatchResponse/kind": kind
+"/content:v2/DatafeedsCustomBatchResponseEntry/batchId": batch_id
+"/content:v2/DatafeedsCustomBatchResponseEntry/datafeed": datafeed
+"/content:v2/DatafeedsCustomBatchResponseEntry/errors": errors
+"/content:v2/DatafeedsListResponse/kind": kind
+"/content:v2/DatafeedsListResponse/nextPageToken": next_page_token
+"/content:v2/DatafeedsListResponse/resources": resources
+"/content:v2/DatafeedsListResponse/resources/resource": resource
+"/content:v2/DatafeedstatusesCustomBatchRequest/entries": entries
+"/content:v2/DatafeedstatusesCustomBatchRequest/entries/entry": entry
+"/content:v2/DatafeedstatusesCustomBatchRequestEntry/batchId": batch_id
+"/content:v2/DatafeedstatusesCustomBatchRequestEntry/datafeedId": datafeed_id
+"/content:v2/DatafeedstatusesCustomBatchRequestEntry/merchantId": merchant_id
+"/content:v2/DatafeedstatusesCustomBatchResponse/entries": entries
+"/content:v2/DatafeedstatusesCustomBatchResponse/entries/entry": entry
+"/content:v2/DatafeedstatusesCustomBatchResponse/kind": kind
+"/content:v2/DatafeedstatusesCustomBatchResponseEntry/batchId": batch_id
+"/content:v2/DatafeedstatusesCustomBatchResponseEntry/datafeedStatus": datafeed_status
+"/content:v2/DatafeedstatusesCustomBatchResponseEntry/errors": errors
+"/content:v2/DatafeedstatusesListResponse/kind": kind
+"/content:v2/DatafeedstatusesListResponse/nextPageToken": next_page_token
+"/content:v2/DatafeedstatusesListResponse/resources": resources
+"/content:v2/DatafeedstatusesListResponse/resources/resource": resource
+"/content:v2/Error": error
+"/content:v2/Error/domain": domain
+"/content:v2/Error/message": message
+"/content:v2/Error/reason": reason
+"/content:v2/Errors": errors
+"/content:v2/Errors/code": code
+"/content:v2/Errors/errors": errors
+"/content:v2/Errors/errors/error": error
+"/content:v2/Errors/message": message
+"/content:v2/Inventory": inventory
+"/content:v2/Inventory/availability": availability
+"/content:v2/Inventory/kind": kind
+"/content:v2/Inventory/price": price
+"/content:v2/Inventory/quantity": quantity
+"/content:v2/Inventory/salePrice": sale_price
+"/content:v2/Inventory/salePriceEffectiveDate": sale_price_effective_date
+"/content:v2/InventoryCustomBatchRequest/entries": entries
+"/content:v2/InventoryCustomBatchRequest/entries/entry": entry
+"/content:v2/InventoryCustomBatchRequestEntry/batchId": batch_id
+"/content:v2/InventoryCustomBatchRequestEntry/inventory": inventory
+"/content:v2/InventoryCustomBatchRequestEntry/merchantId": merchant_id
+"/content:v2/InventoryCustomBatchRequestEntry/productId": product_id
+"/content:v2/InventoryCustomBatchRequestEntry/storeCode": store_code
+"/content:v2/InventoryCustomBatchResponse/entries": entries
+"/content:v2/InventoryCustomBatchResponse/entries/entry": entry
+"/content:v2/InventoryCustomBatchResponse/kind": kind
+"/content:v2/InventoryCustomBatchResponseEntry/batchId": batch_id
+"/content:v2/InventoryCustomBatchResponseEntry/errors": errors
+"/content:v2/InventoryCustomBatchResponseEntry/kind": kind
+"/content:v2/InventorySetRequest/availability": availability
+"/content:v2/InventorySetRequest/price": price
+"/content:v2/InventorySetRequest/quantity": quantity
+"/content:v2/InventorySetRequest/salePrice": sale_price
+"/content:v2/InventorySetRequest/salePriceEffectiveDate": sale_price_effective_date
+"/content:v2/InventorySetResponse/kind": kind
+"/content:v2/LoyaltyPoints": loyalty_points
+"/content:v2/LoyaltyPoints/name": name
+"/content:v2/LoyaltyPoints/pointsValue": points_value
+"/content:v2/LoyaltyPoints/ratio": ratio
+"/content:v2/Price": price
+"/content:v2/Price/currency": currency
+"/content:v2/Price/value": value
+"/content:v2/Product": product
+"/content:v2/Product/additionalImageLinks": additional_image_links
+"/content:v2/Product/additionalImageLinks/additional_image_link": additional_image_link
+"/content:v2/Product/adult": adult
+"/content:v2/Product/adwordsGrouping": adwords_grouping
+"/content:v2/Product/adwordsLabels": adwords_labels
+"/content:v2/Product/adwordsLabels/adwords_label": adwords_label
+"/content:v2/Product/adwordsRedirect": adwords_redirect
+"/content:v2/Product/ageGroup": age_group
+"/content:v2/Product/aspects": aspects
+"/content:v2/Product/aspects/aspect": aspect
+"/content:v2/Product/availability": availability
+"/content:v2/Product/availabilityDate": availability_date
+"/content:v2/Product/brand": brand
+"/content:v2/Product/channel": channel
+"/content:v2/Product/color": color
+"/content:v2/Product/condition": condition
+"/content:v2/Product/contentLanguage": content_language
+"/content:v2/Product/customAttributes": custom_attributes
+"/content:v2/Product/customAttributes/custom_attribute": custom_attribute
+"/content:v2/Product/customGroups": custom_groups
+"/content:v2/Product/customGroups/custom_group": custom_group
+"/content:v2/Product/customLabel0": custom_label0
+"/content:v2/Product/customLabel1": custom_label1
+"/content:v2/Product/customLabel2": custom_label2
+"/content:v2/Product/customLabel3": custom_label3
+"/content:v2/Product/customLabel4": custom_label4
+"/content:v2/Product/description": description
+"/content:v2/Product/destinations": destinations
+"/content:v2/Product/destinations/destination": destination
+"/content:v2/Product/displayAdsId": display_ads_id
+"/content:v2/Product/displayAdsLink": display_ads_link
+"/content:v2/Product/displayAdsSimilarIds": display_ads_similar_ids
+"/content:v2/Product/displayAdsSimilarIds/display_ads_similar_id": display_ads_similar_id
+"/content:v2/Product/displayAdsTitle": display_ads_title
+"/content:v2/Product/displayAdsValue": display_ads_value
+"/content:v2/Product/energyEfficiencyClass": energy_efficiency_class
+"/content:v2/Product/expirationDate": expiration_date
+"/content:v2/Product/gender": gender
+"/content:v2/Product/googleProductCategory": google_product_category
+"/content:v2/Product/gtin": gtin
+"/content:v2/Product/id": id
+"/content:v2/Product/identifierExists": identifier_exists
+"/content:v2/Product/imageLink": image_link
+"/content:v2/Product/installment": installment
+"/content:v2/Product/isBundle": is_bundle
+"/content:v2/Product/itemGroupId": item_group_id
+"/content:v2/Product/kind": kind
+"/content:v2/Product/link": link
+"/content:v2/Product/loyaltyPoints": loyalty_points
+"/content:v2/Product/material": material
+"/content:v2/Product/mobileLink": mobile_link
+"/content:v2/Product/mpn": mpn
+"/content:v2/Product/multipack": multipack
+"/content:v2/Product/offerId": offer_id
+"/content:v2/Product/onlineOnly": online_only
+"/content:v2/Product/pattern": pattern
+"/content:v2/Product/price": price
+"/content:v2/Product/productType": product_type
+"/content:v2/Product/salePrice": sale_price
+"/content:v2/Product/salePriceEffectiveDate": sale_price_effective_date
+"/content:v2/Product/shipping": shipping
+"/content:v2/Product/shipping/shipping": shipping
+"/content:v2/Product/shippingHeight": shipping_height
+"/content:v2/Product/shippingLabel": shipping_label
+"/content:v2/Product/shippingLength": shipping_length
+"/content:v2/Product/shippingWeight": shipping_weight
+"/content:v2/Product/shippingWidth": shipping_width
+"/content:v2/Product/sizeSystem": size_system
+"/content:v2/Product/sizeType": size_type
+"/content:v2/Product/sizes": sizes
+"/content:v2/Product/sizes/size": size
+"/content:v2/Product/targetCountry": target_country
+"/content:v2/Product/taxes": taxes
+"/content:v2/Product/taxes/tax": tax
+"/content:v2/Product/title": title
+"/content:v2/Product/unitPricingBaseMeasure": unit_pricing_base_measure
+"/content:v2/Product/unitPricingMeasure": unit_pricing_measure
+"/content:v2/Product/validatedDestinations": validated_destinations
+"/content:v2/Product/validatedDestinations/validated_destination": validated_destination
+"/content:v2/Product/warnings": warnings
+"/content:v2/Product/warnings/warning": warning
+"/content:v2/ProductAspect": product_aspect
+"/content:v2/ProductAspect/aspectName": aspect_name
+"/content:v2/ProductAspect/destinationName": destination_name
+"/content:v2/ProductAspect/intention": intention
+"/content:v2/ProductCustomAttribute": product_custom_attribute
+"/content:v2/ProductCustomAttribute/name": name
+"/content:v2/ProductCustomAttribute/type": type
+"/content:v2/ProductCustomAttribute/unit": unit
+"/content:v2/ProductCustomAttribute/value": value
+"/content:v2/ProductCustomGroup": product_custom_group
+"/content:v2/ProductCustomGroup/attributes": attributes
+"/content:v2/ProductCustomGroup/attributes/attribute": attribute
+"/content:v2/ProductCustomGroup/name": name
+"/content:v2/ProductDestination": product_destination
+"/content:v2/ProductDestination/destinationName": destination_name
+"/content:v2/ProductDestination/intention": intention
+"/content:v2/ProductInstallment": product_installment
+"/content:v2/ProductInstallment/amount": amount
+"/content:v2/ProductInstallment/months": months
+"/content:v2/ProductShipping": product_shipping
+"/content:v2/ProductShipping/country": country
+"/content:v2/ProductShipping/locationGroupName": location_group_name
+"/content:v2/ProductShipping/locationId": location_id
+"/content:v2/ProductShipping/postalCode": postal_code
+"/content:v2/ProductShipping/price": price
+"/content:v2/ProductShipping/region": region
+"/content:v2/ProductShipping/service": service
+"/content:v2/ProductShippingDimension": product_shipping_dimension
+"/content:v2/ProductShippingDimension/unit": unit
+"/content:v2/ProductShippingDimension/value": value
+"/content:v2/ProductShippingWeight": product_shipping_weight
+"/content:v2/ProductShippingWeight/unit": unit
+"/content:v2/ProductShippingWeight/value": value
+"/content:v2/ProductStatus": product_status
+"/content:v2/ProductStatus/creationDate": creation_date
+"/content:v2/ProductStatus/dataQualityIssues": data_quality_issues
+"/content:v2/ProductStatus/dataQualityIssues/data_quality_issue": data_quality_issue
+"/content:v2/ProductStatus/destinationStatuses": destination_statuses
+"/content:v2/ProductStatus/destinationStatuses/destination_status": destination_status
+"/content:v2/ProductStatus/googleExpirationDate": google_expiration_date
+"/content:v2/ProductStatus/kind": kind
+"/content:v2/ProductStatus/lastUpdateDate": last_update_date
+"/content:v2/ProductStatus/link": link
+"/content:v2/ProductStatus/productId": product_id
+"/content:v2/ProductStatus/title": title
+"/content:v2/ProductStatusDataQualityIssue": product_status_data_quality_issue
+"/content:v2/ProductStatusDataQualityIssue/detail": detail
+"/content:v2/ProductStatusDataQualityIssue/fetchStatus": fetch_status
+"/content:v2/ProductStatusDataQualityIssue/id": id
+"/content:v2/ProductStatusDataQualityIssue/location": location
+"/content:v2/ProductStatusDataQualityIssue/severity": severity
+"/content:v2/ProductStatusDataQualityIssue/timestamp": timestamp
+"/content:v2/ProductStatusDataQualityIssue/valueOnLandingPage": value_on_landing_page
+"/content:v2/ProductStatusDataQualityIssue/valueProvided": value_provided
+"/content:v2/ProductStatusDestinationStatus": product_status_destination_status
+"/content:v2/ProductStatusDestinationStatus/approvalStatus": approval_status
+"/content:v2/ProductStatusDestinationStatus/destination": destination
+"/content:v2/ProductStatusDestinationStatus/intention": intention
+"/content:v2/ProductTax": product_tax
+"/content:v2/ProductTax/country": country
+"/content:v2/ProductTax/locationId": location_id
+"/content:v2/ProductTax/postalCode": postal_code
+"/content:v2/ProductTax/rate": rate
+"/content:v2/ProductTax/region": region
+"/content:v2/ProductTax/taxShip": tax_ship
+"/content:v2/ProductUnitPricingBaseMeasure": product_unit_pricing_base_measure
+"/content:v2/ProductUnitPricingBaseMeasure/unit": unit
+"/content:v2/ProductUnitPricingBaseMeasure/value": value
+"/content:v2/ProductUnitPricingMeasure": product_unit_pricing_measure
+"/content:v2/ProductUnitPricingMeasure/unit": unit
+"/content:v2/ProductUnitPricingMeasure/value": value
+"/content:v2/ProductsCustomBatchRequest/entries": entries
+"/content:v2/ProductsCustomBatchRequest/entries/entry": entry
+"/content:v2/ProductsCustomBatchRequestEntry/batchId": batch_id
+"/content:v2/ProductsCustomBatchRequestEntry/merchantId": merchant_id
+"/content:v2/ProductsCustomBatchRequestEntry/product": product
+"/content:v2/ProductsCustomBatchRequestEntry/productId": product_id
+"/content:v2/ProductsCustomBatchResponse/entries": entries
+"/content:v2/ProductsCustomBatchResponse/entries/entry": entry
+"/content:v2/ProductsCustomBatchResponse/kind": kind
+"/content:v2/ProductsCustomBatchResponseEntry/batchId": batch_id
+"/content:v2/ProductsCustomBatchResponseEntry/errors": errors
+"/content:v2/ProductsCustomBatchResponseEntry/kind": kind
+"/content:v2/ProductsCustomBatchResponseEntry/product": product
+"/content:v2/ProductsListResponse/kind": kind
+"/content:v2/ProductsListResponse/nextPageToken": next_page_token
+"/content:v2/ProductsListResponse/resources": resources
+"/content:v2/ProductsListResponse/resources/resource": resource
+"/content:v2/ProductstatusesCustomBatchRequest/entries": entries
+"/content:v2/ProductstatusesCustomBatchRequest/entries/entry": entry
+"/content:v2/ProductstatusesCustomBatchRequestEntry/batchId": batch_id
+"/content:v2/ProductstatusesCustomBatchRequestEntry/merchantId": merchant_id
+"/content:v2/ProductstatusesCustomBatchRequestEntry/productId": product_id
+"/content:v2/ProductstatusesCustomBatchResponse/entries": entries
+"/content:v2/ProductstatusesCustomBatchResponse/entries/entry": entry
+"/content:v2/ProductstatusesCustomBatchResponse/kind": kind
+"/content:v2/ProductstatusesCustomBatchResponseEntry/batchId": batch_id
+"/content:v2/ProductstatusesCustomBatchResponseEntry/errors": errors
+"/content:v2/ProductstatusesCustomBatchResponseEntry/kind": kind
+"/content:v2/ProductstatusesCustomBatchResponseEntry/productStatus": product_status
+"/content:v2/ProductstatusesListResponse/kind": kind
+"/content:v2/ProductstatusesListResponse/nextPageToken": next_page_token
+"/content:v2/ProductstatusesListResponse/resources": resources
+"/content:v2/ProductstatusesListResponse/resources/resource": resource
+"/content:v2/Weight": weight
+"/content:v2/Weight/unit": unit
+"/content:v2/Weight/value": value
+"/coordinate:v1/fields": fields
+"/coordinate:v1/key": key
+"/coordinate:v1/quotaUser": quota_user
+"/coordinate:v1/userIp": user_ip
+"/coordinate:v1/coordinate.customFieldDef.list": list_custom_field_defs
+"/coordinate:v1/coordinate.customFieldDef.list/teamId": team_id
+"/coordinate:v1/coordinate.jobs.get": get_job
+"/coordinate:v1/coordinate.jobs.get/jobId": job_id
+"/coordinate:v1/coordinate.jobs.get/teamId": team_id
+"/coordinate:v1/coordinate.jobs.insert": insert_job
+"/coordinate:v1/coordinate.jobs.insert/address": address
+"/coordinate:v1/coordinate.jobs.insert/assignee": assignee
+"/coordinate:v1/coordinate.jobs.insert/customField": custom_field
+"/coordinate:v1/coordinate.jobs.insert/customerName": customer_name
+"/coordinate:v1/coordinate.jobs.insert/customerPhoneNumber": customer_phone_number
+"/coordinate:v1/coordinate.jobs.insert/lat": lat
+"/coordinate:v1/coordinate.jobs.insert/lng": lng
+"/coordinate:v1/coordinate.jobs.insert/note": note
+"/coordinate:v1/coordinate.jobs.insert/teamId": team_id
+"/coordinate:v1/coordinate.jobs.insert/title": title
+"/coordinate:v1/coordinate.jobs.list": list_jobs
+"/coordinate:v1/coordinate.jobs.list/maxResults": max_results
+"/coordinate:v1/coordinate.jobs.list/minModifiedTimestampMs": min_modified_timestamp_ms
+"/coordinate:v1/coordinate.jobs.list/pageToken": page_token
+"/coordinate:v1/coordinate.jobs.list/teamId": team_id
+"/coordinate:v1/coordinate.jobs.patch": patch_job
+"/coordinate:v1/coordinate.jobs.patch/address": address
+"/coordinate:v1/coordinate.jobs.patch/assignee": assignee
+"/coordinate:v1/coordinate.jobs.patch/customField": custom_field
+"/coordinate:v1/coordinate.jobs.patch/customerName": customer_name
+"/coordinate:v1/coordinate.jobs.patch/customerPhoneNumber": customer_phone_number
+"/coordinate:v1/coordinate.jobs.patch/jobId": job_id
+"/coordinate:v1/coordinate.jobs.patch/lat": lat
+"/coordinate:v1/coordinate.jobs.patch/lng": lng
+"/coordinate:v1/coordinate.jobs.patch/note": note
+"/coordinate:v1/coordinate.jobs.patch/progress": progress
+"/coordinate:v1/coordinate.jobs.patch/teamId": team_id
+"/coordinate:v1/coordinate.jobs.patch/title": title
+"/coordinate:v1/coordinate.jobs.update": update_job
+"/coordinate:v1/coordinate.jobs.update/address": address
+"/coordinate:v1/coordinate.jobs.update/assignee": assignee
+"/coordinate:v1/coordinate.jobs.update/customField": custom_field
+"/coordinate:v1/coordinate.jobs.update/customerName": customer_name
+"/coordinate:v1/coordinate.jobs.update/customerPhoneNumber": customer_phone_number
+"/coordinate:v1/coordinate.jobs.update/jobId": job_id
+"/coordinate:v1/coordinate.jobs.update/lat": lat
+"/coordinate:v1/coordinate.jobs.update/lng": lng
+"/coordinate:v1/coordinate.jobs.update/note": note
+"/coordinate:v1/coordinate.jobs.update/progress": progress
+"/coordinate:v1/coordinate.jobs.update/teamId": team_id
+"/coordinate:v1/coordinate.jobs.update/title": title
+"/coordinate:v1/coordinate.location.list": list_locations
+"/coordinate:v1/coordinate.location.list/maxResults": max_results
+"/coordinate:v1/coordinate.location.list/pageToken": page_token
+"/coordinate:v1/coordinate.location.list/startTimestampMs": start_timestamp_ms
+"/coordinate:v1/coordinate.location.list/teamId": team_id
+"/coordinate:v1/coordinate.location.list/workerEmail": worker_email
+"/coordinate:v1/coordinate.schedule.get": get_schedule
+"/coordinate:v1/coordinate.schedule.get/jobId": job_id
+"/coordinate:v1/coordinate.schedule.get/teamId": team_id
+"/coordinate:v1/coordinate.schedule.patch": patch_schedule
+"/coordinate:v1/coordinate.schedule.patch/allDay": all_day
+"/coordinate:v1/coordinate.schedule.patch/duration": duration
+"/coordinate:v1/coordinate.schedule.patch/endTime": end_time
+"/coordinate:v1/coordinate.schedule.patch/jobId": job_id
+"/coordinate:v1/coordinate.schedule.patch/startTime": start_time
+"/coordinate:v1/coordinate.schedule.patch/teamId": team_id
+"/coordinate:v1/coordinate.schedule.update": update_schedule
+"/coordinate:v1/coordinate.schedule.update/allDay": all_day
+"/coordinate:v1/coordinate.schedule.update/duration": duration
+"/coordinate:v1/coordinate.schedule.update/endTime": end_time
+"/coordinate:v1/coordinate.schedule.update/jobId": job_id
+"/coordinate:v1/coordinate.schedule.update/startTime": start_time
+"/coordinate:v1/coordinate.schedule.update/teamId": team_id
+"/coordinate:v1/coordinate.team.list": list_teams
+"/coordinate:v1/coordinate.team.list/admin": admin
+"/coordinate:v1/coordinate.team.list/dispatcher": dispatcher
+"/coordinate:v1/coordinate.team.list/worker": worker
+"/coordinate:v1/coordinate.worker.list": list_workers
+"/coordinate:v1/coordinate.worker.list/teamId": team_id
+"/coordinate:v1/CustomField": custom_field
+"/coordinate:v1/CustomField/customFieldId": custom_field_id
+"/coordinate:v1/CustomField/kind": kind
+"/coordinate:v1/CustomField/value": value
+"/coordinate:v1/CustomFieldDef": custom_field_def
+"/coordinate:v1/CustomFieldDef/enabled": enabled
+"/coordinate:v1/CustomFieldDef/enumitems": enumitems
+"/coordinate:v1/CustomFieldDef/enumitems/enumitem": enumitem
+"/coordinate:v1/CustomFieldDef/id": id
+"/coordinate:v1/CustomFieldDef/kind": kind
+"/coordinate:v1/CustomFieldDef/name": name
+"/coordinate:v1/CustomFieldDef/requiredForCheckout": required_for_checkout
+"/coordinate:v1/CustomFieldDef/type": type
+"/coordinate:v1/CustomFieldDefListResponse/items": items
+"/coordinate:v1/CustomFieldDefListResponse/items/item": item
+"/coordinate:v1/CustomFieldDefListResponse/kind": kind
+"/coordinate:v1/CustomFields": custom_fields
+"/coordinate:v1/CustomFields/customField": custom_field
+"/coordinate:v1/CustomFields/customField/custom_field": custom_field
+"/coordinate:v1/CustomFields/kind": kind
+"/coordinate:v1/EnumItemDef": enum_item_def
+"/coordinate:v1/EnumItemDef/active": active
+"/coordinate:v1/EnumItemDef/kind": kind
+"/coordinate:v1/EnumItemDef/value": value
+"/coordinate:v1/Job": job
+"/coordinate:v1/Job/id": id
+"/coordinate:v1/Job/jobChange": job_change
+"/coordinate:v1/Job/jobChange/job_change": job_change
+"/coordinate:v1/Job/kind": kind
+"/coordinate:v1/Job/state": state
+"/coordinate:v1/JobChange": job_change
+"/coordinate:v1/JobChange/kind": kind
+"/coordinate:v1/JobChange/state": state
+"/coordinate:v1/JobChange/timestamp": timestamp
+"/coordinate:v1/JobListResponse/items": items
+"/coordinate:v1/JobListResponse/items/item": item
+"/coordinate:v1/JobListResponse/kind": kind
+"/coordinate:v1/JobListResponse/nextPageToken": next_page_token
+"/coordinate:v1/JobState": job_state
+"/coordinate:v1/JobState/assignee": assignee
+"/coordinate:v1/JobState/customFields": custom_fields
+"/coordinate:v1/JobState/customerName": customer_name
+"/coordinate:v1/JobState/customerPhoneNumber": customer_phone_number
+"/coordinate:v1/JobState/kind": kind
+"/coordinate:v1/JobState/location": location
+"/coordinate:v1/JobState/note": note
+"/coordinate:v1/JobState/note/note": note
+"/coordinate:v1/JobState/progress": progress
+"/coordinate:v1/JobState/title": title
+"/coordinate:v1/Location": location
+"/coordinate:v1/Location/addressLine": address_line
+"/coordinate:v1/Location/addressLine/address_line": address_line
+"/coordinate:v1/Location/kind": kind
+"/coordinate:v1/Location/lat": lat
+"/coordinate:v1/Location/lng": lng
+"/coordinate:v1/LocationListResponse/items": items
+"/coordinate:v1/LocationListResponse/items/item": item
+"/coordinate:v1/LocationListResponse/kind": kind
+"/coordinate:v1/LocationListResponse/nextPageToken": next_page_token
+"/coordinate:v1/LocationListResponse/tokenPagination": token_pagination
+"/coordinate:v1/LocationRecord": location_record
+"/coordinate:v1/LocationRecord/collectionTime": collection_time
+"/coordinate:v1/LocationRecord/confidenceRadius": confidence_radius
+"/coordinate:v1/LocationRecord/kind": kind
+"/coordinate:v1/LocationRecord/latitude": latitude
+"/coordinate:v1/LocationRecord/longitude": longitude
+"/coordinate:v1/Schedule": schedule
+"/coordinate:v1/Schedule/allDay": all_day
+"/coordinate:v1/Schedule/duration": duration
+"/coordinate:v1/Schedule/endTime": end_time
+"/coordinate:v1/Schedule/kind": kind
+"/coordinate:v1/Schedule/startTime": start_time
+"/coordinate:v1/Team": team
+"/coordinate:v1/Team/id": id
+"/coordinate:v1/Team/kind": kind
+"/coordinate:v1/Team/name": name
+"/coordinate:v1/TeamListResponse/items": items
+"/coordinate:v1/TeamListResponse/items/item": item
+"/coordinate:v1/TeamListResponse/kind": kind
+"/coordinate:v1/TokenPagination": token_pagination
+"/coordinate:v1/TokenPagination/kind": kind
+"/coordinate:v1/TokenPagination/nextPageToken": next_page_token
+"/coordinate:v1/TokenPagination/previousPageToken": previous_page_token
+"/coordinate:v1/Worker": worker
+"/coordinate:v1/Worker/id": id
+"/coordinate:v1/Worker/kind": kind
+"/coordinate:v1/WorkerListResponse/items": items
+"/coordinate:v1/WorkerListResponse/items/item": item
+"/coordinate:v1/WorkerListResponse/kind": kind
+"/customsearch:v1/fields": fields
+"/customsearch:v1/key": key
+"/customsearch:v1/quotaUser": quota_user
+"/customsearch:v1/userIp": user_ip
+"/customsearch:v1/search.cse.list": list_cses
+"/customsearch:v1/search.cse.list/c2coff": c2coff
+"/customsearch:v1/search.cse.list/cr": cr
+"/customsearch:v1/search.cse.list/cref": cref
+"/customsearch:v1/search.cse.list/cx": cx
+"/customsearch:v1/search.cse.list/dateRestrict": date_restrict
+"/customsearch:v1/search.cse.list/exactTerms": exact_terms
+"/customsearch:v1/search.cse.list/excludeTerms": exclude_terms
+"/customsearch:v1/search.cse.list/fileType": file_type
+"/customsearch:v1/search.cse.list/filter": filter
+"/customsearch:v1/search.cse.list/gl": gl
+"/customsearch:v1/search.cse.list/googlehost": googlehost
+"/customsearch:v1/search.cse.list/highRange": high_range
+"/customsearch:v1/search.cse.list/hl": hl
+"/customsearch:v1/search.cse.list/hq": hq
+"/customsearch:v1/search.cse.list/imgColorType": img_color_type
+"/customsearch:v1/search.cse.list/imgDominantColor": img_dominant_color
+"/customsearch:v1/search.cse.list/imgSize": img_size
+"/customsearch:v1/search.cse.list/imgType": img_type
+"/customsearch:v1/search.cse.list/linkSite": link_site
+"/customsearch:v1/search.cse.list/lowRange": low_range
+"/customsearch:v1/search.cse.list/lr": lr
+"/customsearch:v1/search.cse.list/num": num
+"/customsearch:v1/search.cse.list/orTerms": or_terms
+"/customsearch:v1/search.cse.list/q": q
+"/customsearch:v1/search.cse.list/relatedSite": related_site
+"/customsearch:v1/search.cse.list/rights": rights
+"/customsearch:v1/search.cse.list/safe": safe
+"/customsearch:v1/search.cse.list/searchType": search_type
+"/customsearch:v1/search.cse.list/siteSearch": site_search
+"/customsearch:v1/search.cse.list/siteSearchFilter": site_search_filter
+"/customsearch:v1/search.cse.list/sort": sort
+"/customsearch:v1/search.cse.list/start": start
+"/customsearch:v1/Context": context
+"/customsearch:v1/Context/facets": facets
+"/customsearch:v1/Context/facets/facet": facet
+"/customsearch:v1/Context/facets/facet/facet": facet
+"/customsearch:v1/Context/facets/facet/facet/anchor": anchor
+"/customsearch:v1/Context/facets/facet/facet/label": label
+"/customsearch:v1/Context/facets/facet/facet/label_with_op": label_with_op
+"/customsearch:v1/Context/title": title
+"/customsearch:v1/Promotion": promotion
+"/customsearch:v1/Promotion/bodyLines": body_lines
+"/customsearch:v1/Promotion/bodyLines/body_line": body_line
+"/customsearch:v1/Promotion/bodyLines/body_line/htmlTitle": html_title
+"/customsearch:v1/Promotion/bodyLines/body_line/link": link
+"/customsearch:v1/Promotion/bodyLines/body_line/title": title
+"/customsearch:v1/Promotion/bodyLines/body_line/url": url
+"/customsearch:v1/Promotion/displayLink": display_link
+"/customsearch:v1/Promotion/htmlTitle": html_title
+"/customsearch:v1/Promotion/image": image
+"/customsearch:v1/Promotion/image/height": height
+"/customsearch:v1/Promotion/image/source": source
+"/customsearch:v1/Promotion/image/width": width
+"/customsearch:v1/Promotion/link": link
+"/customsearch:v1/Promotion/title": title
+"/customsearch:v1/Query": query
+"/customsearch:v1/Query/count": count
+"/customsearch:v1/Query/cr": cr
+"/customsearch:v1/Query/cref": cref
+"/customsearch:v1/Query/cx": cx
+"/customsearch:v1/Query/dateRestrict": date_restrict
+"/customsearch:v1/Query/disableCnTwTranslation": disable_cn_tw_translation
+"/customsearch:v1/Query/exactTerms": exact_terms
+"/customsearch:v1/Query/excludeTerms": exclude_terms
+"/customsearch:v1/Query/fileType": file_type
+"/customsearch:v1/Query/filter": filter
+"/customsearch:v1/Query/gl": gl
+"/customsearch:v1/Query/googleHost": google_host
+"/customsearch:v1/Query/highRange": high_range
+"/customsearch:v1/Query/hl": hl
+"/customsearch:v1/Query/hq": hq
+"/customsearch:v1/Query/imgColorType": img_color_type
+"/customsearch:v1/Query/imgDominantColor": img_dominant_color
+"/customsearch:v1/Query/imgSize": img_size
+"/customsearch:v1/Query/imgType": img_type
+"/customsearch:v1/Query/inputEncoding": input_encoding
+"/customsearch:v1/Query/language": language
+"/customsearch:v1/Query/linkSite": link_site
+"/customsearch:v1/Query/lowRange": low_range
+"/customsearch:v1/Query/orTerms": or_terms
+"/customsearch:v1/Query/outputEncoding": output_encoding
+"/customsearch:v1/Query/relatedSite": related_site
+"/customsearch:v1/Query/rights": rights
+"/customsearch:v1/Query/safe": safe
+"/customsearch:v1/Query/searchTerms": search_terms
+"/customsearch:v1/Query/searchType": search_type
+"/customsearch:v1/Query/siteSearch": site_search
+"/customsearch:v1/Query/siteSearchFilter": site_search_filter
+"/customsearch:v1/Query/sort": sort
+"/customsearch:v1/Query/startIndex": start_index
+"/customsearch:v1/Query/startPage": start_page
+"/customsearch:v1/Query/title": title
+"/customsearch:v1/Query/totalResults": total_results
+"/customsearch:v1/Result": result
+"/customsearch:v1/Result/cacheId": cache_id
+"/customsearch:v1/Result/displayLink": display_link
+"/customsearch:v1/Result/fileFormat": file_format
+"/customsearch:v1/Result/formattedUrl": formatted_url
+"/customsearch:v1/Result/htmlFormattedUrl": html_formatted_url
+"/customsearch:v1/Result/htmlSnippet": html_snippet
+"/customsearch:v1/Result/htmlTitle": html_title
+"/customsearch:v1/Result/image": image
+"/customsearch:v1/Result/image/byteSize": byte_size
+"/customsearch:v1/Result/image/contextLink": context_link
+"/customsearch:v1/Result/image/height": height
+"/customsearch:v1/Result/image/thumbnailHeight": thumbnail_height
+"/customsearch:v1/Result/image/thumbnailLink": thumbnail_link
+"/customsearch:v1/Result/image/thumbnailWidth": thumbnail_width
+"/customsearch:v1/Result/image/width": width
+"/customsearch:v1/Result/kind": kind
+"/customsearch:v1/Result/labels": labels
+"/customsearch:v1/Result/labels/label": label
+"/customsearch:v1/Result/labels/label/displayName": display_name
+"/customsearch:v1/Result/labels/label/label_with_op": label_with_op
+"/customsearch:v1/Result/labels/label/name": name
+"/customsearch:v1/Result/link": link
+"/customsearch:v1/Result/mime": mime
+"/customsearch:v1/Result/pagemap": pagemap
+"/customsearch:v1/Result/pagemap/pagemap": pagemap
+"/customsearch:v1/Result/pagemap/pagemap/pagemap": pagemap
+"/customsearch:v1/Result/pagemap/pagemap/pagemap/pagemap": pagemap
+"/customsearch:v1/Result/snippet": snippet
+"/customsearch:v1/Result/title": title
+"/customsearch:v1/Search": search
+"/customsearch:v1/Search/context": context
+"/customsearch:v1/Search/items": items
+"/customsearch:v1/Search/items/item": item
+"/customsearch:v1/Search/kind": kind
+"/customsearch:v1/Search/promotions": promotions
+"/customsearch:v1/Search/promotions/promotion": promotion
+"/customsearch:v1/Search/queries": queries
+"/customsearch:v1/Search/queries/query": query
+"/customsearch:v1/Search/queries/query/query": query
+"/customsearch:v1/Search/searchInformation": search_information
+"/customsearch:v1/Search/searchInformation/formattedSearchTime": formatted_search_time
+"/customsearch:v1/Search/searchInformation/formattedTotalResults": formatted_total_results
+"/customsearch:v1/Search/searchInformation/searchTime": search_time
+"/customsearch:v1/Search/searchInformation/totalResults": total_results
+"/customsearch:v1/Search/spelling": spelling
+"/customsearch:v1/Search/spelling/correctedQuery": corrected_query
+"/customsearch:v1/Search/spelling/htmlCorrectedQuery": html_corrected_query
+"/customsearch:v1/Search/url": url
+"/customsearch:v1/Search/url/template": template
+"/customsearch:v1/Search/url/type": type
+"/datastore:v1beta2/fields": fields
+"/datastore:v1beta2/key": key
+"/datastore:v1beta2/quotaUser": quota_user
+"/datastore:v1beta2/userIp": user_ip
+"/datastore:v1beta2/datastore.datasets.allocateIds": allocate_ids
+"/datastore:v1beta2/datastore.datasets.allocateIds/datasetId": dataset_id
+"/datastore:v1beta2/datastore.datasets.beginTransaction": begin_transaction
+"/datastore:v1beta2/datastore.datasets.beginTransaction/datasetId": dataset_id
+"/datastore:v1beta2/datastore.datasets.commit": commit
+"/datastore:v1beta2/datastore.datasets.commit/datasetId": dataset_id
+"/datastore:v1beta2/datastore.datasets.lookup": lookup
+"/datastore:v1beta2/datastore.datasets.lookup/datasetId": dataset_id
+"/datastore:v1beta2/datastore.datasets.rollback": rollback
+"/datastore:v1beta2/datastore.datasets.rollback/datasetId": dataset_id
+"/datastore:v1beta2/datastore.datasets.runQuery": run_query
+"/datastore:v1beta2/datastore.datasets.runQuery/datasetId": dataset_id
+"/datastore:v1beta2/AllocateIdsRequest/keys": keys
+"/datastore:v1beta2/AllocateIdsRequest/keys/key": key
+"/datastore:v1beta2/AllocateIdsResponse/header": header
+"/datastore:v1beta2/AllocateIdsResponse/keys": keys
+"/datastore:v1beta2/AllocateIdsResponse/keys/key": key
+"/datastore:v1beta2/BeginTransactionRequest/isolationLevel": isolation_level
+"/datastore:v1beta2/BeginTransactionResponse/header": header
+"/datastore:v1beta2/BeginTransactionResponse/transaction": transaction
+"/datastore:v1beta2/CommitRequest": commit_request
+"/datastore:v1beta2/CommitRequest/ignoreReadOnly": ignore_read_only
+"/datastore:v1beta2/CommitRequest/mode": mode
+"/datastore:v1beta2/CommitRequest/mutation": mutation
+"/datastore:v1beta2/CommitRequest/transaction": transaction
+"/datastore:v1beta2/CommitResponse": commit_response
+"/datastore:v1beta2/CommitResponse/header": header
+"/datastore:v1beta2/CommitResponse/mutationResult": mutation_result
+"/datastore:v1beta2/CompositeFilter": composite_filter
+"/datastore:v1beta2/CompositeFilter/filters": filters
+"/datastore:v1beta2/CompositeFilter/filters/filter": filter
+"/datastore:v1beta2/CompositeFilter/operator": operator
+"/datastore:v1beta2/Entity": entity
+"/datastore:v1beta2/Entity/key": key
+"/datastore:v1beta2/Entity/properties": properties
+"/datastore:v1beta2/Entity/properties/property": property
+"/datastore:v1beta2/EntityResult": entity_result
+"/datastore:v1beta2/EntityResult/entity": entity
+"/datastore:v1beta2/Filter": filter
+"/datastore:v1beta2/Filter/compositeFilter": composite_filter
+"/datastore:v1beta2/Filter/propertyFilter": property_filter
+"/datastore:v1beta2/GqlQuery": gql_query
+"/datastore:v1beta2/GqlQuery/allowLiteral": allow_literal
+"/datastore:v1beta2/GqlQuery/nameArgs": name_args
+"/datastore:v1beta2/GqlQuery/nameArgs/name_arg": name_arg
+"/datastore:v1beta2/GqlQuery/numberArgs": number_args
+"/datastore:v1beta2/GqlQuery/numberArgs/number_arg": number_arg
+"/datastore:v1beta2/GqlQuery/queryString": query_string
+"/datastore:v1beta2/GqlQueryArg": gql_query_arg
+"/datastore:v1beta2/GqlQueryArg/cursor": cursor
+"/datastore:v1beta2/GqlQueryArg/name": name
+"/datastore:v1beta2/GqlQueryArg/value": value
+"/datastore:v1beta2/Key": key
+"/datastore:v1beta2/Key/partitionId": partition_id
+"/datastore:v1beta2/Key/path": path
+"/datastore:v1beta2/Key/path/path": path
+"/datastore:v1beta2/KeyPathElement": key_path_element
+"/datastore:v1beta2/KeyPathElement/id": id
+"/datastore:v1beta2/KeyPathElement/kind": kind
+"/datastore:v1beta2/KeyPathElement/name": name
+"/datastore:v1beta2/KindExpression": kind_expression
+"/datastore:v1beta2/KindExpression/name": name
+"/datastore:v1beta2/LookupRequest": lookup_request
+"/datastore:v1beta2/LookupRequest/keys": keys
+"/datastore:v1beta2/LookupRequest/keys/key": key
+"/datastore:v1beta2/LookupRequest/readOptions": read_options
+"/datastore:v1beta2/LookupResponse": lookup_response
+"/datastore:v1beta2/LookupResponse/deferred": deferred
+"/datastore:v1beta2/LookupResponse/deferred/deferred": deferred
+"/datastore:v1beta2/LookupResponse/found": found
+"/datastore:v1beta2/LookupResponse/found/found": found
+"/datastore:v1beta2/LookupResponse/header": header
+"/datastore:v1beta2/LookupResponse/missing": missing
+"/datastore:v1beta2/LookupResponse/missing/missing": missing
+"/datastore:v1beta2/Mutation": mutation
+"/datastore:v1beta2/Mutation/delete": delete
+"/datastore:v1beta2/Mutation/delete/delete": delete
+"/datastore:v1beta2/Mutation/force": force
+"/datastore:v1beta2/Mutation/insert": insert
+"/datastore:v1beta2/Mutation/insert/insert": insert
+"/datastore:v1beta2/Mutation/insertAutoId": insert_auto_id
+"/datastore:v1beta2/Mutation/insertAutoId/insert_auto_id": insert_auto_id
+"/datastore:v1beta2/Mutation/update": update
+"/datastore:v1beta2/Mutation/update/update": update
+"/datastore:v1beta2/Mutation/upsert": upsert
+"/datastore:v1beta2/Mutation/upsert/upsert": upsert
+"/datastore:v1beta2/MutationResult": mutation_result
+"/datastore:v1beta2/MutationResult/indexUpdates": index_updates
+"/datastore:v1beta2/MutationResult/insertAutoIdKeys": insert_auto_id_keys
+"/datastore:v1beta2/MutationResult/insertAutoIdKeys/insert_auto_id_key": insert_auto_id_key
+"/datastore:v1beta2/PartitionId": partition_id
+"/datastore:v1beta2/PartitionId/datasetId": dataset_id
+"/datastore:v1beta2/PartitionId/namespace": namespace
+"/datastore:v1beta2/Property": property
+"/datastore:v1beta2/Property/blobKeyValue": blob_key_value
+"/datastore:v1beta2/Property/blobValue": blob_value
+"/datastore:v1beta2/Property/booleanValue": boolean_value
+"/datastore:v1beta2/Property/dateTimeValue": date_time_value
+"/datastore:v1beta2/Property/doubleValue": double_value
+"/datastore:v1beta2/Property/entityValue": entity_value
+"/datastore:v1beta2/Property/indexed": indexed
+"/datastore:v1beta2/Property/integerValue": integer_value
+"/datastore:v1beta2/Property/keyValue": key_value
+"/datastore:v1beta2/Property/listValue": list_value
+"/datastore:v1beta2/Property/listValue/list_value": list_value
+"/datastore:v1beta2/Property/meaning": meaning
+"/datastore:v1beta2/Property/stringValue": string_value
+"/datastore:v1beta2/PropertyExpression": property_expression
+"/datastore:v1beta2/PropertyExpression/aggregationFunction": aggregation_function
+"/datastore:v1beta2/PropertyExpression/property": property
+"/datastore:v1beta2/PropertyFilter": property_filter
+"/datastore:v1beta2/PropertyFilter/operator": operator
+"/datastore:v1beta2/PropertyFilter/property": property
+"/datastore:v1beta2/PropertyFilter/value": value
+"/datastore:v1beta2/PropertyOrder": property_order
+"/datastore:v1beta2/PropertyOrder/direction": direction
+"/datastore:v1beta2/PropertyOrder/property": property
+"/datastore:v1beta2/PropertyReference": property_reference
+"/datastore:v1beta2/PropertyReference/name": name
+"/datastore:v1beta2/Query": query
+"/datastore:v1beta2/Query/endCursor": end_cursor
+"/datastore:v1beta2/Query/filter": filter
+"/datastore:v1beta2/Query/groupBy": group_by
+"/datastore:v1beta2/Query/groupBy/group_by": group_by
+"/datastore:v1beta2/Query/kinds": kinds
+"/datastore:v1beta2/Query/kinds/kind": kind
+"/datastore:v1beta2/Query/limit": limit
+"/datastore:v1beta2/Query/offset": offset
+"/datastore:v1beta2/Query/order": order
+"/datastore:v1beta2/Query/order/order": order
+"/datastore:v1beta2/Query/projection": projection
+"/datastore:v1beta2/Query/projection/projection": projection
+"/datastore:v1beta2/Query/startCursor": start_cursor
+"/datastore:v1beta2/QueryResultBatch": query_result_batch
+"/datastore:v1beta2/QueryResultBatch/endCursor": end_cursor
+"/datastore:v1beta2/QueryResultBatch/entityResultType": entity_result_type
+"/datastore:v1beta2/QueryResultBatch/entityResults": entity_results
+"/datastore:v1beta2/QueryResultBatch/entityResults/entity_result": entity_result
+"/datastore:v1beta2/QueryResultBatch/moreResults": more_results
+"/datastore:v1beta2/QueryResultBatch/skippedResults": skipped_results
+"/datastore:v1beta2/ReadOptions": read_options
+"/datastore:v1beta2/ReadOptions/readConsistency": read_consistency
+"/datastore:v1beta2/ReadOptions/transaction": transaction
+"/datastore:v1beta2/ResponseHeader": response_header
+"/datastore:v1beta2/ResponseHeader/kind": kind
+"/datastore:v1beta2/RollbackRequest": rollback_request
+"/datastore:v1beta2/RollbackRequest/transaction": transaction
+"/datastore:v1beta2/RollbackResponse": rollback_response
+"/datastore:v1beta2/RollbackResponse/header": header
+"/datastore:v1beta2/RunQueryRequest": run_query_request
+"/datastore:v1beta2/RunQueryRequest/gqlQuery": gql_query
+"/datastore:v1beta2/RunQueryRequest/partitionId": partition_id
+"/datastore:v1beta2/RunQueryRequest/query": query
+"/datastore:v1beta2/RunQueryRequest/readOptions": read_options
+"/datastore:v1beta2/RunQueryResponse": run_query_response
+"/datastore:v1beta2/RunQueryResponse/batch": batch
+"/datastore:v1beta2/RunQueryResponse/header": header
+"/datastore:v1beta2/Value": value
+"/datastore:v1beta2/Value/blobKeyValue": blob_key_value
+"/datastore:v1beta2/Value/blobValue": blob_value
+"/datastore:v1beta2/Value/booleanValue": boolean_value
+"/datastore:v1beta2/Value/dateTimeValue": date_time_value
+"/datastore:v1beta2/Value/doubleValue": double_value
+"/datastore:v1beta2/Value/entityValue": entity_value
+"/datastore:v1beta2/Value/indexed": indexed
+"/datastore:v1beta2/Value/integerValue": integer_value
+"/datastore:v1beta2/Value/keyValue": key_value
+"/datastore:v1beta2/Value/listValue": list_value
+"/datastore:v1beta2/Value/listValue/list_value": list_value
+"/datastore:v1beta2/Value/meaning": meaning
+"/datastore:v1beta2/Value/stringValue": string_value
+"/deploymentmanager:v2beta2/fields": fields
+"/deploymentmanager:v2beta2/key": key
+"/deploymentmanager:v2beta2/quotaUser": quota_user
+"/deploymentmanager:v2beta2/userIp": user_ip
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.delete": delete_deployment
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.delete/deployment": deployment
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.delete/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.get": get_deployment
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.get/deployment": deployment
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.get/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.insert": insert_deployment
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.insert/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.list": list_deployments
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.list/filter": filter
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.list/maxResults": max_results
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.list/pageToken": page_token
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.list/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.patch": patch_deployment
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.patch/createPolicy": create_policy
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.patch/deletePolicy": delete_policy
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.patch/deployment": deployment
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.patch/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.patch/updatePolicy": update_policy
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.update": update_deployment
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.update/createPolicy": create_policy
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.update/deletePolicy": delete_policy
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.update/deployment": deployment
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.update/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.deployments.update/updatePolicy": update_policy
+"/deploymentmanager:v2beta2/deploymentmanager.manifests.get": get_manifest
+"/deploymentmanager:v2beta2/deploymentmanager.manifests.get/deployment": deployment
+"/deploymentmanager:v2beta2/deploymentmanager.manifests.get/manifest": manifest
+"/deploymentmanager:v2beta2/deploymentmanager.manifests.get/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.manifests.list": list_manifests
+"/deploymentmanager:v2beta2/deploymentmanager.manifests.list/deployment": deployment
+"/deploymentmanager:v2beta2/deploymentmanager.manifests.list/filter": filter
+"/deploymentmanager:v2beta2/deploymentmanager.manifests.list/maxResults": max_results
+"/deploymentmanager:v2beta2/deploymentmanager.manifests.list/pageToken": page_token
+"/deploymentmanager:v2beta2/deploymentmanager.manifests.list/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.operations.get": get_operation
+"/deploymentmanager:v2beta2/deploymentmanager.operations.get/operation": operation
+"/deploymentmanager:v2beta2/deploymentmanager.operations.get/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.operations.list": list_operations
+"/deploymentmanager:v2beta2/deploymentmanager.operations.list/filter": filter
+"/deploymentmanager:v2beta2/deploymentmanager.operations.list/maxResults": max_results
+"/deploymentmanager:v2beta2/deploymentmanager.operations.list/pageToken": page_token
+"/deploymentmanager:v2beta2/deploymentmanager.operations.list/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.resources.get": get_resource
+"/deploymentmanager:v2beta2/deploymentmanager.resources.get/deployment": deployment
+"/deploymentmanager:v2beta2/deploymentmanager.resources.get/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.resources.get/resource": resource
+"/deploymentmanager:v2beta2/deploymentmanager.resources.list": list_resources
+"/deploymentmanager:v2beta2/deploymentmanager.resources.list/deployment": deployment
+"/deploymentmanager:v2beta2/deploymentmanager.resources.list/filter": filter
+"/deploymentmanager:v2beta2/deploymentmanager.resources.list/maxResults": max_results
+"/deploymentmanager:v2beta2/deploymentmanager.resources.list/pageToken": page_token
+"/deploymentmanager:v2beta2/deploymentmanager.resources.list/project": project
+"/deploymentmanager:v2beta2/deploymentmanager.types.list": list_types
+"/deploymentmanager:v2beta2/deploymentmanager.types.list/filter": filter
+"/deploymentmanager:v2beta2/deploymentmanager.types.list/maxResults": max_results
+"/deploymentmanager:v2beta2/deploymentmanager.types.list/pageToken": page_token
+"/deploymentmanager:v2beta2/deploymentmanager.types.list/project": project
+"/deploymentmanager:v2beta2/Deployment": deployment
+"/deploymentmanager:v2beta2/Deployment/description": description
+"/deploymentmanager:v2beta2/Deployment/fingerprint": fingerprint
+"/deploymentmanager:v2beta2/Deployment/id": id
+"/deploymentmanager:v2beta2/Deployment/insertTime": insert_time
+"/deploymentmanager:v2beta2/Deployment/intent": intent
+"/deploymentmanager:v2beta2/Deployment/manifest": manifest
+"/deploymentmanager:v2beta2/Deployment/name": name
+"/deploymentmanager:v2beta2/Deployment/state": state
+"/deploymentmanager:v2beta2/Deployment/target": target
+"/deploymentmanager:v2beta2/Deployment/update": update
+"/deploymentmanager:v2beta2/Deployment/updateTime": update_time
+"/deploymentmanager:v2beta2/DeploymentUpdate": deployment_update
+"/deploymentmanager:v2beta2/DeploymentUpdate/errors": errors
+"/deploymentmanager:v2beta2/DeploymentUpdate/errors/error": error
+"/deploymentmanager:v2beta2/DeploymentUpdate/manifest": manifest
+"/deploymentmanager:v2beta2/DeploymentsListResponse/deployments": deployments
+"/deploymentmanager:v2beta2/DeploymentsListResponse/deployments/deployment": deployment
+"/deploymentmanager:v2beta2/DeploymentsListResponse/nextPageToken": next_page_token
+"/deploymentmanager:v2beta2/ImportFile": import_file
+"/deploymentmanager:v2beta2/ImportFile/content": content
+"/deploymentmanager:v2beta2/ImportFile/name": name
+"/deploymentmanager:v2beta2/Manifest": manifest
+"/deploymentmanager:v2beta2/Manifest/config": config
+"/deploymentmanager:v2beta2/Manifest/evaluatedConfig": evaluated_config
+"/deploymentmanager:v2beta2/Manifest/id": id
+"/deploymentmanager:v2beta2/Manifest/imports": imports
+"/deploymentmanager:v2beta2/Manifest/imports/import": import
+"/deploymentmanager:v2beta2/Manifest/insertTime": insert_time
+"/deploymentmanager:v2beta2/Manifest/layout": layout
+"/deploymentmanager:v2beta2/Manifest/name": name
+"/deploymentmanager:v2beta2/Manifest/selfLink": self_link
+"/deploymentmanager:v2beta2/ManifestsListResponse/manifests": manifests
+"/deploymentmanager:v2beta2/ManifestsListResponse/manifests/manifest": manifest
+"/deploymentmanager:v2beta2/ManifestsListResponse/nextPageToken": next_page_token
+"/deploymentmanager:v2beta2/Operation": operation
+"/deploymentmanager:v2beta2/Operation/clientOperationId": client_operation_id
+"/deploymentmanager:v2beta2/Operation/creationTimestamp": creation_timestamp
+"/deploymentmanager:v2beta2/Operation/endTime": end_time
+"/deploymentmanager:v2beta2/Operation/error": error
+"/deploymentmanager:v2beta2/Operation/error/errors": errors
+"/deploymentmanager:v2beta2/Operation/error/errors/error": error
+"/deploymentmanager:v2beta2/Operation/error/errors/error/code": code
+"/deploymentmanager:v2beta2/Operation/error/errors/error/location": location
+"/deploymentmanager:v2beta2/Operation/error/errors/error/message": message
+"/deploymentmanager:v2beta2/Operation/httpErrorMessage": http_error_message
+"/deploymentmanager:v2beta2/Operation/httpErrorStatusCode": http_error_status_code
+"/deploymentmanager:v2beta2/Operation/id": id
+"/deploymentmanager:v2beta2/Operation/insertTime": insert_time
+"/deploymentmanager:v2beta2/Operation/kind": kind
+"/deploymentmanager:v2beta2/Operation/name": name
+"/deploymentmanager:v2beta2/Operation/operationType": operation_type
+"/deploymentmanager:v2beta2/Operation/progress": progress
+"/deploymentmanager:v2beta2/Operation/region": region
+"/deploymentmanager:v2beta2/Operation/selfLink": self_link
+"/deploymentmanager:v2beta2/Operation/startTime": start_time
+"/deploymentmanager:v2beta2/Operation/status": status
+"/deploymentmanager:v2beta2/Operation/statusMessage": status_message
+"/deploymentmanager:v2beta2/Operation/targetId": target_id
+"/deploymentmanager:v2beta2/Operation/targetLink": target_link
+"/deploymentmanager:v2beta2/Operation/user": user
+"/deploymentmanager:v2beta2/Operation/warnings": warnings
+"/deploymentmanager:v2beta2/Operation/warnings/warning": warning
+"/deploymentmanager:v2beta2/Operation/warnings/warning/code": code
+"/deploymentmanager:v2beta2/Operation/warnings/warning/data": data
+"/deploymentmanager:v2beta2/Operation/warnings/warning/data/datum": datum
+"/deploymentmanager:v2beta2/Operation/warnings/warning/data/datum/key": key
+"/deploymentmanager:v2beta2/Operation/warnings/warning/data/datum/value": value
+"/deploymentmanager:v2beta2/Operation/warnings/warning/message": message
+"/deploymentmanager:v2beta2/Operation/zone": zone
+"/deploymentmanager:v2beta2/OperationsListResponse/nextPageToken": next_page_token
+"/deploymentmanager:v2beta2/OperationsListResponse/operations": operations
+"/deploymentmanager:v2beta2/OperationsListResponse/operations/operation": operation
+"/deploymentmanager:v2beta2/Resource": resource
+"/deploymentmanager:v2beta2/Resource/finalProperties": final_properties
+"/deploymentmanager:v2beta2/Resource/id": id
+"/deploymentmanager:v2beta2/Resource/insertTime": insert_time
+"/deploymentmanager:v2beta2/Resource/manifest": manifest
+"/deploymentmanager:v2beta2/Resource/name": name
+"/deploymentmanager:v2beta2/Resource/properties": properties
+"/deploymentmanager:v2beta2/Resource/type": type
+"/deploymentmanager:v2beta2/Resource/update": update
+"/deploymentmanager:v2beta2/Resource/updateTime": update_time
+"/deploymentmanager:v2beta2/Resource/url": url
+"/deploymentmanager:v2beta2/ResourceUpdate": resource_update
+"/deploymentmanager:v2beta2/ResourceUpdate/errors": errors
+"/deploymentmanager:v2beta2/ResourceUpdate/errors/error": error
+"/deploymentmanager:v2beta2/ResourceUpdate/finalProperties": final_properties
+"/deploymentmanager:v2beta2/ResourceUpdate/intent": intent
+"/deploymentmanager:v2beta2/ResourceUpdate/manifest": manifest
+"/deploymentmanager:v2beta2/ResourceUpdate/properties": properties
+"/deploymentmanager:v2beta2/ResourceUpdate/state": state
+"/deploymentmanager:v2beta2/ResourcesListResponse/nextPageToken": next_page_token
+"/deploymentmanager:v2beta2/ResourcesListResponse/resources": resources
+"/deploymentmanager:v2beta2/ResourcesListResponse/resources/resource": resource
+"/deploymentmanager:v2beta2/TargetConfiguration": target_configuration
+"/deploymentmanager:v2beta2/TargetConfiguration/config": config
+"/deploymentmanager:v2beta2/TargetConfiguration/imports": imports
+"/deploymentmanager:v2beta2/TargetConfiguration/imports/import": import
+"/deploymentmanager:v2beta2/Type": type
+"/deploymentmanager:v2beta2/Type/name": name
+"/deploymentmanager:v2beta2/TypesListResponse/nextPageToken": next_page_token
+"/deploymentmanager:v2beta2/TypesListResponse/types": types
+"/deploymentmanager:v2beta2/TypesListResponse/types/type": type
+"/dfareporting:v2.1/fields": fields
+"/dfareporting:v2.1/key": key
+"/dfareporting:v2.1/quotaUser": quota_user
+"/dfareporting:v2.1/userIp": user_ip
+"/dfareporting:v2.1/dfareporting.accountActiveAdSummaries.get": get_account_active_ad_summary
+"/dfareporting:v2.1/dfareporting.accountActiveAdSummaries.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accountActiveAdSummaries.get/summaryAccountId": summary_account_id
+"/dfareporting:v2.1/dfareporting.accountPermissionGroups.get": get_account_permission_group
+"/dfareporting:v2.1/dfareporting.accountPermissionGroups.get/id": id
+"/dfareporting:v2.1/dfareporting.accountPermissionGroups.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accountPermissionGroups.list": list_account_permission_groups
+"/dfareporting:v2.1/dfareporting.accountPermissionGroups.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accountPermissions.get": get_account_permission
+"/dfareporting:v2.1/dfareporting.accountPermissions.get/id": id
+"/dfareporting:v2.1/dfareporting.accountPermissions.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accountPermissions.list": list_account_permissions
+"/dfareporting:v2.1/dfareporting.accountPermissions.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.get": get_account_user_profile
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.get/id": id
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.insert": insert_account_user_profile
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list": list_account_user_profiles
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list/active": active
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list/ids": ids
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list/subaccountId": subaccount_id
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.list/userRoleId": user_role_id
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.patch": patch_account_user_profile
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.patch/id": id
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.update": update_account_user_profile
+"/dfareporting:v2.1/dfareporting.accountUserProfiles.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accounts.get": get_account
+"/dfareporting:v2.1/dfareporting.accounts.get/id": id
+"/dfareporting:v2.1/dfareporting.accounts.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accounts.list": list_accounts
+"/dfareporting:v2.1/dfareporting.accounts.list/active": active
+"/dfareporting:v2.1/dfareporting.accounts.list/ids": ids
+"/dfareporting:v2.1/dfareporting.accounts.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.accounts.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.accounts.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accounts.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.accounts.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.accounts.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.accounts.patch": patch_account
+"/dfareporting:v2.1/dfareporting.accounts.patch/id": id
+"/dfareporting:v2.1/dfareporting.accounts.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.accounts.update": update_account
+"/dfareporting:v2.1/dfareporting.accounts.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.ads.get": get_ad
+"/dfareporting:v2.1/dfareporting.ads.get/id": id
+"/dfareporting:v2.1/dfareporting.ads.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.ads.insert": insert_ad
+"/dfareporting:v2.1/dfareporting.ads.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.ads.list": list_ads
+"/dfareporting:v2.1/dfareporting.ads.list/active": active
+"/dfareporting:v2.1/dfareporting.ads.list/advertiserId": advertiser_id
+"/dfareporting:v2.1/dfareporting.ads.list/archived": archived
+"/dfareporting:v2.1/dfareporting.ads.list/audienceSegmentIds": audience_segment_ids
+"/dfareporting:v2.1/dfareporting.ads.list/campaignIds": campaign_ids
+"/dfareporting:v2.1/dfareporting.ads.list/compatibility": compatibility
+"/dfareporting:v2.1/dfareporting.ads.list/creativeIds": creative_ids
+"/dfareporting:v2.1/dfareporting.ads.list/creativeOptimizationConfigurationIds": creative_optimization_configuration_ids
+"/dfareporting:v2.1/dfareporting.ads.list/creativeType": creative_type
+"/dfareporting:v2.1/dfareporting.ads.list/dynamicClickTracker": dynamic_click_tracker
+"/dfareporting:v2.1/dfareporting.ads.list/ids": ids
+"/dfareporting:v2.1/dfareporting.ads.list/landingPageIds": landing_page_ids
+"/dfareporting:v2.1/dfareporting.ads.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.ads.list/overriddenEventTagId": overridden_event_tag_id
+"/dfareporting:v2.1/dfareporting.ads.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.ads.list/placementIds": placement_ids
+"/dfareporting:v2.1/dfareporting.ads.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.ads.list/remarketingListIds": remarketing_list_ids
+"/dfareporting:v2.1/dfareporting.ads.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.ads.list/sizeIds": size_ids
+"/dfareporting:v2.1/dfareporting.ads.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.ads.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.ads.list/sslCompliant": ssl_compliant
+"/dfareporting:v2.1/dfareporting.ads.list/sslRequired": ssl_required
+"/dfareporting:v2.1/dfareporting.ads.list/type": type
+"/dfareporting:v2.1/dfareporting.ads.patch": patch_ad
+"/dfareporting:v2.1/dfareporting.ads.patch/id": id
+"/dfareporting:v2.1/dfareporting.ads.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.ads.update": update_ad
+"/dfareporting:v2.1/dfareporting.ads.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertiserGroups.delete": delete_advertiser_group
+"/dfareporting:v2.1/dfareporting.advertiserGroups.delete/id": id
+"/dfareporting:v2.1/dfareporting.advertiserGroups.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertiserGroups.get": get_advertiser_group
+"/dfareporting:v2.1/dfareporting.advertiserGroups.get/id": id
+"/dfareporting:v2.1/dfareporting.advertiserGroups.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertiserGroups.insert": insert_advertiser_group
+"/dfareporting:v2.1/dfareporting.advertiserGroups.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertiserGroups.list": list_advertiser_groups
+"/dfareporting:v2.1/dfareporting.advertiserGroups.list/ids": ids
+"/dfareporting:v2.1/dfareporting.advertiserGroups.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.advertiserGroups.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.advertiserGroups.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertiserGroups.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.advertiserGroups.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.advertiserGroups.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.advertiserGroups.patch": patch_advertiser_group
+"/dfareporting:v2.1/dfareporting.advertiserGroups.patch/id": id
+"/dfareporting:v2.1/dfareporting.advertiserGroups.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertiserGroups.update": update_advertiser_group
+"/dfareporting:v2.1/dfareporting.advertiserGroups.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertisers.get": get_advertiser
+"/dfareporting:v2.1/dfareporting.advertisers.get/id": id
+"/dfareporting:v2.1/dfareporting.advertisers.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertisers.insert": insert_advertiser
+"/dfareporting:v2.1/dfareporting.advertisers.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertisers.list": list_advertisers
+"/dfareporting:v2.1/dfareporting.advertisers.list/advertiserGroupIds": advertiser_group_ids
+"/dfareporting:v2.1/dfareporting.advertisers.list/floodlightConfigurationIds": floodlight_configuration_ids
+"/dfareporting:v2.1/dfareporting.advertisers.list/ids": ids
+"/dfareporting:v2.1/dfareporting.advertisers.list/includeAdvertisersWithoutGroupsOnly": include_advertisers_without_groups_only
+"/dfareporting:v2.1/dfareporting.advertisers.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.advertisers.list/onlyParent": only_parent
+"/dfareporting:v2.1/dfareporting.advertisers.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.advertisers.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertisers.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.advertisers.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.advertisers.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.advertisers.list/status": status
+"/dfareporting:v2.1/dfareporting.advertisers.list/subaccountId": subaccount_id
+"/dfareporting:v2.1/dfareporting.advertisers.patch": patch_advertiser
+"/dfareporting:v2.1/dfareporting.advertisers.patch/id": id
+"/dfareporting:v2.1/dfareporting.advertisers.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.advertisers.update": update_advertiser
+"/dfareporting:v2.1/dfareporting.advertisers.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.browsers.list": list_browsers
+"/dfareporting:v2.1/dfareporting.browsers.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.campaignCreativeAssociations.insert": insert_campaign_creative_association
+"/dfareporting:v2.1/dfareporting.campaignCreativeAssociations.insert/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.campaignCreativeAssociations.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.campaignCreativeAssociations.list": list_campaign_creative_associations
+"/dfareporting:v2.1/dfareporting.campaignCreativeAssociations.list/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.campaignCreativeAssociations.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.campaignCreativeAssociations.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.campaignCreativeAssociations.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.campaignCreativeAssociations.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.campaigns.get": get_campaign
+"/dfareporting:v2.1/dfareporting.campaigns.get/id": id
+"/dfareporting:v2.1/dfareporting.campaigns.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.campaigns.insert": insert_campaign
+"/dfareporting:v2.1/dfareporting.campaigns.insert/defaultLandingPageName": default_landing_page_name
+"/dfareporting:v2.1/dfareporting.campaigns.insert/defaultLandingPageUrl": default_landing_page_url
+"/dfareporting:v2.1/dfareporting.campaigns.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.campaigns.list": list_campaigns
+"/dfareporting:v2.1/dfareporting.campaigns.list/advertiserGroupIds": advertiser_group_ids
+"/dfareporting:v2.1/dfareporting.campaigns.list/advertiserIds": advertiser_ids
+"/dfareporting:v2.1/dfareporting.campaigns.list/archived": archived
+"/dfareporting:v2.1/dfareporting.campaigns.list/atLeastOneOptimizationActivity": at_least_one_optimization_activity
+"/dfareporting:v2.1/dfareporting.campaigns.list/excludedIds": excluded_ids
+"/dfareporting:v2.1/dfareporting.campaigns.list/ids": ids
+"/dfareporting:v2.1/dfareporting.campaigns.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.campaigns.list/overriddenEventTagId": overridden_event_tag_id
+"/dfareporting:v2.1/dfareporting.campaigns.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.campaigns.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.campaigns.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.campaigns.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.campaigns.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.campaigns.list/subaccountId": subaccount_id
+"/dfareporting:v2.1/dfareporting.campaigns.patch": patch_campaign
+"/dfareporting:v2.1/dfareporting.campaigns.patch/id": id
+"/dfareporting:v2.1/dfareporting.campaigns.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.campaigns.update": update_campaign
+"/dfareporting:v2.1/dfareporting.campaigns.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.changeLogs.get": get_change_log
+"/dfareporting:v2.1/dfareporting.changeLogs.get/id": id
+"/dfareporting:v2.1/dfareporting.changeLogs.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.changeLogs.list": list_change_logs
+"/dfareporting:v2.1/dfareporting.changeLogs.list/action": action
+"/dfareporting:v2.1/dfareporting.changeLogs.list/ids": ids
+"/dfareporting:v2.1/dfareporting.changeLogs.list/maxChangeTime": max_change_time
+"/dfareporting:v2.1/dfareporting.changeLogs.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.changeLogs.list/minChangeTime": min_change_time
+"/dfareporting:v2.1/dfareporting.changeLogs.list/objectIds": object_ids
+"/dfareporting:v2.1/dfareporting.changeLogs.list/objectType": object_type
+"/dfareporting:v2.1/dfareporting.changeLogs.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.changeLogs.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.changeLogs.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.changeLogs.list/userProfileIds": user_profile_ids
+"/dfareporting:v2.1/dfareporting.cities.list": list_cities
+"/dfareporting:v2.1/dfareporting.cities.list/countryDartIds": country_dart_ids
+"/dfareporting:v2.1/dfareporting.cities.list/dartIds": dart_ids
+"/dfareporting:v2.1/dfareporting.cities.list/namePrefix": name_prefix
+"/dfareporting:v2.1/dfareporting.cities.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.cities.list/regionDartIds": region_dart_ids
+"/dfareporting:v2.1/dfareporting.connectionTypes.get": get_connection_type
+"/dfareporting:v2.1/dfareporting.connectionTypes.get/id": id
+"/dfareporting:v2.1/dfareporting.connectionTypes.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.connectionTypes.list": list_connection_types
+"/dfareporting:v2.1/dfareporting.connectionTypes.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.contentCategories.delete": delete_content_category
+"/dfareporting:v2.1/dfareporting.contentCategories.delete/id": id
+"/dfareporting:v2.1/dfareporting.contentCategories.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.contentCategories.get": get_content_category
+"/dfareporting:v2.1/dfareporting.contentCategories.get/id": id
+"/dfareporting:v2.1/dfareporting.contentCategories.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.contentCategories.insert": insert_content_category
+"/dfareporting:v2.1/dfareporting.contentCategories.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.contentCategories.list": list_content_categories
+"/dfareporting:v2.1/dfareporting.contentCategories.list/ids": ids
+"/dfareporting:v2.1/dfareporting.contentCategories.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.contentCategories.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.contentCategories.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.contentCategories.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.contentCategories.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.contentCategories.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.contentCategories.patch": patch_content_category
+"/dfareporting:v2.1/dfareporting.contentCategories.patch/id": id
+"/dfareporting:v2.1/dfareporting.contentCategories.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.contentCategories.update": update_content_category
+"/dfareporting:v2.1/dfareporting.contentCategories.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.countries.get": get_country
+"/dfareporting:v2.1/dfareporting.countries.get/dartId": dart_id
+"/dfareporting:v2.1/dfareporting.countries.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.countries.list": list_countries
+"/dfareporting:v2.1/dfareporting.countries.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeAssets.insert": insert_creative_asset
+"/dfareporting:v2.1/dfareporting.creativeAssets.insert/advertiserId": advertiser_id
+"/dfareporting:v2.1/dfareporting.creativeAssets.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.delete": delete_creative_field_value
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.delete/creativeFieldId": creative_field_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.delete/id": id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.get": get_creative_field_value
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.get/creativeFieldId": creative_field_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.get/id": id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.insert": insert_creative_field_value
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.insert/creativeFieldId": creative_field_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.list": list_creative_field_values
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.list/creativeFieldId": creative_field_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.list/ids": ids
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.patch": patch_creative_field_value
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.patch/creativeFieldId": creative_field_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.patch/id": id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.update": update_creative_field_value
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.update/creativeFieldId": creative_field_id
+"/dfareporting:v2.1/dfareporting.creativeFieldValues.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFields.delete": delete_creative_field
+"/dfareporting:v2.1/dfareporting.creativeFields.delete/id": id
+"/dfareporting:v2.1/dfareporting.creativeFields.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFields.get": get_creative_field
+"/dfareporting:v2.1/dfareporting.creativeFields.get/id": id
+"/dfareporting:v2.1/dfareporting.creativeFields.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFields.insert": insert_creative_field
+"/dfareporting:v2.1/dfareporting.creativeFields.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFields.list": list_creative_fields
+"/dfareporting:v2.1/dfareporting.creativeFields.list/advertiserIds": advertiser_ids
+"/dfareporting:v2.1/dfareporting.creativeFields.list/ids": ids
+"/dfareporting:v2.1/dfareporting.creativeFields.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.creativeFields.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.creativeFields.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFields.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.creativeFields.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.creativeFields.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.creativeFields.patch": patch_creative_field
+"/dfareporting:v2.1/dfareporting.creativeFields.patch/id": id
+"/dfareporting:v2.1/dfareporting.creativeFields.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeFields.update": update_creative_field
+"/dfareporting:v2.1/dfareporting.creativeFields.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeGroups.get": get_creative_group
+"/dfareporting:v2.1/dfareporting.creativeGroups.get/id": id
+"/dfareporting:v2.1/dfareporting.creativeGroups.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeGroups.insert": insert_creative_group
+"/dfareporting:v2.1/dfareporting.creativeGroups.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeGroups.list": list_creative_groups
+"/dfareporting:v2.1/dfareporting.creativeGroups.list/advertiserIds": advertiser_ids
+"/dfareporting:v2.1/dfareporting.creativeGroups.list/groupNumber": group_number
+"/dfareporting:v2.1/dfareporting.creativeGroups.list/ids": ids
+"/dfareporting:v2.1/dfareporting.creativeGroups.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.creativeGroups.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.creativeGroups.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeGroups.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.creativeGroups.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.creativeGroups.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.creativeGroups.patch": patch_creative_group
+"/dfareporting:v2.1/dfareporting.creativeGroups.patch/id": id
+"/dfareporting:v2.1/dfareporting.creativeGroups.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creativeGroups.update": update_creative_group
+"/dfareporting:v2.1/dfareporting.creativeGroups.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creatives.get": get_creative
+"/dfareporting:v2.1/dfareporting.creatives.get/id": id
+"/dfareporting:v2.1/dfareporting.creatives.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creatives.insert": insert_creative
+"/dfareporting:v2.1/dfareporting.creatives.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creatives.list": list_creatives
+"/dfareporting:v2.1/dfareporting.creatives.list/active": active
+"/dfareporting:v2.1/dfareporting.creatives.list/advertiserId": advertiser_id
+"/dfareporting:v2.1/dfareporting.creatives.list/archived": archived
+"/dfareporting:v2.1/dfareporting.creatives.list/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.creatives.list/companionCreativeIds": companion_creative_ids
+"/dfareporting:v2.1/dfareporting.creatives.list/creativeFieldIds": creative_field_ids
+"/dfareporting:v2.1/dfareporting.creatives.list/ids": ids
+"/dfareporting:v2.1/dfareporting.creatives.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.creatives.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.creatives.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creatives.list/renderingIds": rendering_ids
+"/dfareporting:v2.1/dfareporting.creatives.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.creatives.list/sizeIds": size_ids
+"/dfareporting:v2.1/dfareporting.creatives.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.creatives.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.creatives.list/studioCreativeId": studio_creative_id
+"/dfareporting:v2.1/dfareporting.creatives.list/types": types
+"/dfareporting:v2.1/dfareporting.creatives.patch": patch_creative
+"/dfareporting:v2.1/dfareporting.creatives.patch/id": id
+"/dfareporting:v2.1/dfareporting.creatives.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.creatives.update": update_creative
+"/dfareporting:v2.1/dfareporting.creatives.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.dimensionValues.query": query_dimension_value
+"/dfareporting:v2.1/dfareporting.dimensionValues.query/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.dimensionValues.query/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.dimensionValues.query/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.get": get_directory_site_contact
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.get/id": id
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.list": list_directory_site_contacts
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.list/directorySiteIds": directory_site_ids
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.list/ids": ids
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.directorySiteContacts.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.directorySites.get": get_directory_site
+"/dfareporting:v2.1/dfareporting.directorySites.get/id": id
+"/dfareporting:v2.1/dfareporting.directorySites.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.directorySites.insert": insert_directory_site
+"/dfareporting:v2.1/dfareporting.directorySites.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.directorySites.list": list_directory_sites
+"/dfareporting:v2.1/dfareporting.directorySites.list/acceptsInStreamVideoPlacements": accepts_in_stream_video_placements
+"/dfareporting:v2.1/dfareporting.directorySites.list/acceptsInterstitialPlacements": accepts_interstitial_placements
+"/dfareporting:v2.1/dfareporting.directorySites.list/acceptsPublisherPaidPlacements": accepts_publisher_paid_placements
+"/dfareporting:v2.1/dfareporting.directorySites.list/active": active
+"/dfareporting:v2.1/dfareporting.directorySites.list/countryId": country_id
+"/dfareporting:v2.1/dfareporting.directorySites.list/dfp_network_code": dfp_network_code
+"/dfareporting:v2.1/dfareporting.directorySites.list/ids": ids
+"/dfareporting:v2.1/dfareporting.directorySites.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.directorySites.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.directorySites.list/parentId": parent_id
+"/dfareporting:v2.1/dfareporting.directorySites.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.directorySites.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.directorySites.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.directorySites.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.eventTags.delete": delete_event_tag
+"/dfareporting:v2.1/dfareporting.eventTags.delete/id": id
+"/dfareporting:v2.1/dfareporting.eventTags.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.eventTags.get": get_event_tag
+"/dfareporting:v2.1/dfareporting.eventTags.get/id": id
+"/dfareporting:v2.1/dfareporting.eventTags.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.eventTags.insert": insert_event_tag
+"/dfareporting:v2.1/dfareporting.eventTags.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.eventTags.list": list_event_tags
+"/dfareporting:v2.1/dfareporting.eventTags.list/adId": ad_id
+"/dfareporting:v2.1/dfareporting.eventTags.list/advertiserId": advertiser_id
+"/dfareporting:v2.1/dfareporting.eventTags.list/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.eventTags.list/definitionsOnly": definitions_only
+"/dfareporting:v2.1/dfareporting.eventTags.list/enabled": enabled
+"/dfareporting:v2.1/dfareporting.eventTags.list/eventTagTypes": event_tag_types
+"/dfareporting:v2.1/dfareporting.eventTags.list/ids": ids
+"/dfareporting:v2.1/dfareporting.eventTags.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.eventTags.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.eventTags.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.eventTags.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.eventTags.patch": patch_event_tag
+"/dfareporting:v2.1/dfareporting.eventTags.patch/id": id
+"/dfareporting:v2.1/dfareporting.eventTags.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.eventTags.update": update_event_tag
+"/dfareporting:v2.1/dfareporting.eventTags.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.files.get": get_file
+"/dfareporting:v2.1/dfareporting.files.get/fileId": file_id
+"/dfareporting:v2.1/dfareporting.files.get/reportId": report_id
+"/dfareporting:v2.1/dfareporting.files.list": list_files
+"/dfareporting:v2.1/dfareporting.files.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.files.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.files.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.files.list/scope": scope
+"/dfareporting:v2.1/dfareporting.files.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.files.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.floodlightActivities.delete": delete_floodlight_activity
+"/dfareporting:v2.1/dfareporting.floodlightActivities.delete/id": id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.generatetag/floodlightActivityId": floodlight_activity_id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.generatetag/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.get": get_floodlight_activity
+"/dfareporting:v2.1/dfareporting.floodlightActivities.get/id": id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.insert": insert_floodlight_activity
+"/dfareporting:v2.1/dfareporting.floodlightActivities.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list": list_floodlight_activities
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/advertiserId": advertiser_id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/floodlightActivityGroupIds": floodlight_activity_group_ids
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/floodlightActivityGroupName": floodlight_activity_group_name
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/floodlightActivityGroupTagString": floodlight_activity_group_tag_string
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/floodlightActivityGroupType": floodlight_activity_group_type
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/floodlightConfigurationId": floodlight_configuration_id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/ids": ids
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.floodlightActivities.list/tagString": tag_string
+"/dfareporting:v2.1/dfareporting.floodlightActivities.patch": patch_floodlight_activity
+"/dfareporting:v2.1/dfareporting.floodlightActivities.patch/id": id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivities.update": update_floodlight_activity
+"/dfareporting:v2.1/dfareporting.floodlightActivities.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.delete": delete_floodlight_activity_group
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.delete/id": id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.get": get_floodlight_activity_group
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.get/id": id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.insert": insert_floodlight_activity_group
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list": list_floodlight_activity_groups
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list/advertiserId": advertiser_id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list/floodlightConfigurationId": floodlight_configuration_id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list/ids": ids
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.list/type": type
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.patch": patch_floodlight_activity_group
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.patch/id": id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.update": update_floodlight_activity_group
+"/dfareporting:v2.1/dfareporting.floodlightActivityGroups.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.get": get_floodlight_configuration
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.get/id": id
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.list": list_floodlight_configurations
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.list/ids": ids
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.patch": patch_floodlight_configuration
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.patch/id": id
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.update": update_floodlight_configuration
+"/dfareporting:v2.1/dfareporting.floodlightConfigurations.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.inventoryItems.get": get_inventory_item
+"/dfareporting:v2.1/dfareporting.inventoryItems.get/id": id
+"/dfareporting:v2.1/dfareporting.inventoryItems.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.inventoryItems.get/projectId": project_id
+"/dfareporting:v2.1/dfareporting.inventoryItems.list": list_inventory_items
+"/dfareporting:v2.1/dfareporting.inventoryItems.list/ids": ids
+"/dfareporting:v2.1/dfareporting.inventoryItems.list/inPlan": in_plan
+"/dfareporting:v2.1/dfareporting.inventoryItems.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.inventoryItems.list/orderId": order_id
+"/dfareporting:v2.1/dfareporting.inventoryItems.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.inventoryItems.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.inventoryItems.list/projectId": project_id
+"/dfareporting:v2.1/dfareporting.inventoryItems.list/siteId": site_id
+"/dfareporting:v2.1/dfareporting.inventoryItems.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.inventoryItems.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.landingPages.delete": delete_landing_page
+"/dfareporting:v2.1/dfareporting.landingPages.delete/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.landingPages.delete/id": id
+"/dfareporting:v2.1/dfareporting.landingPages.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.landingPages.get": get_landing_page
+"/dfareporting:v2.1/dfareporting.landingPages.get/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.landingPages.get/id": id
+"/dfareporting:v2.1/dfareporting.landingPages.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.landingPages.insert": insert_landing_page
+"/dfareporting:v2.1/dfareporting.landingPages.insert/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.landingPages.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.landingPages.list": list_landing_pages
+"/dfareporting:v2.1/dfareporting.landingPages.list/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.landingPages.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.landingPages.patch": patch_landing_page
+"/dfareporting:v2.1/dfareporting.landingPages.patch/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.landingPages.patch/id": id
+"/dfareporting:v2.1/dfareporting.landingPages.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.landingPages.update": update_landing_page
+"/dfareporting:v2.1/dfareporting.landingPages.update/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.landingPages.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.metros.list": list_metros
+"/dfareporting:v2.1/dfareporting.metros.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.mobileCarriers.get": get_mobile_carrier
+"/dfareporting:v2.1/dfareporting.mobileCarriers.get/id": id
+"/dfareporting:v2.1/dfareporting.mobileCarriers.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.mobileCarriers.list": list_mobile_carriers
+"/dfareporting:v2.1/dfareporting.mobileCarriers.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.operatingSystemVersions.get": get_operating_system_version
+"/dfareporting:v2.1/dfareporting.operatingSystemVersions.get/id": id
+"/dfareporting:v2.1/dfareporting.operatingSystemVersions.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.operatingSystemVersions.list": list_operating_system_versions
+"/dfareporting:v2.1/dfareporting.operatingSystemVersions.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.operatingSystems.get": get_operating_system
+"/dfareporting:v2.1/dfareporting.operatingSystems.get/dartId": dart_id
+"/dfareporting:v2.1/dfareporting.operatingSystems.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.operatingSystems.list": list_operating_systems
+"/dfareporting:v2.1/dfareporting.operatingSystems.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.orderDocuments.get": get_order_document
+"/dfareporting:v2.1/dfareporting.orderDocuments.get/id": id
+"/dfareporting:v2.1/dfareporting.orderDocuments.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.orderDocuments.get/projectId": project_id
+"/dfareporting:v2.1/dfareporting.orderDocuments.list": list_order_documents
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/approved": approved
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/ids": ids
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/orderId": order_id
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/projectId": project_id
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/siteId": site_id
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.orderDocuments.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.orders.get": get_order
+"/dfareporting:v2.1/dfareporting.orders.get/id": id
+"/dfareporting:v2.1/dfareporting.orders.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.orders.get/projectId": project_id
+"/dfareporting:v2.1/dfareporting.orders.list": list_orders
+"/dfareporting:v2.1/dfareporting.orders.list/ids": ids
+"/dfareporting:v2.1/dfareporting.orders.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.orders.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.orders.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.orders.list/projectId": project_id
+"/dfareporting:v2.1/dfareporting.orders.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.orders.list/siteId": site_id
+"/dfareporting:v2.1/dfareporting.orders.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.orders.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.placementGroups.get": get_placement_group
+"/dfareporting:v2.1/dfareporting.placementGroups.get/id": id
+"/dfareporting:v2.1/dfareporting.placementGroups.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placementGroups.insert": insert_placement_group
+"/dfareporting:v2.1/dfareporting.placementGroups.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placementGroups.list": list_placement_groups
+"/dfareporting:v2.1/dfareporting.placementGroups.list/advertiserIds": advertiser_ids
+"/dfareporting:v2.1/dfareporting.placementGroups.list/archived": archived
+"/dfareporting:v2.1/dfareporting.placementGroups.list/campaignIds": campaign_ids
+"/dfareporting:v2.1/dfareporting.placementGroups.list/contentCategoryIds": content_category_ids
+"/dfareporting:v2.1/dfareporting.placementGroups.list/directorySiteIds": directory_site_ids
+"/dfareporting:v2.1/dfareporting.placementGroups.list/ids": ids
+"/dfareporting:v2.1/dfareporting.placementGroups.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.placementGroups.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.placementGroups.list/placementGroupType": placement_group_type
+"/dfareporting:v2.1/dfareporting.placementGroups.list/placementStrategyIds": placement_strategy_ids
+"/dfareporting:v2.1/dfareporting.placementGroups.list/pricingTypes": pricing_types
+"/dfareporting:v2.1/dfareporting.placementGroups.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placementGroups.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.placementGroups.list/siteIds": site_ids
+"/dfareporting:v2.1/dfareporting.placementGroups.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.placementGroups.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.placementGroups.patch": patch_placement_group
+"/dfareporting:v2.1/dfareporting.placementGroups.patch/id": id
+"/dfareporting:v2.1/dfareporting.placementGroups.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placementGroups.update": update_placement_group
+"/dfareporting:v2.1/dfareporting.placementGroups.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placementStrategies.delete": delete_placement_strategy
+"/dfareporting:v2.1/dfareporting.placementStrategies.delete/id": id
+"/dfareporting:v2.1/dfareporting.placementStrategies.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placementStrategies.get": get_placement_strategy
+"/dfareporting:v2.1/dfareporting.placementStrategies.get/id": id
+"/dfareporting:v2.1/dfareporting.placementStrategies.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placementStrategies.insert": insert_placement_strategy
+"/dfareporting:v2.1/dfareporting.placementStrategies.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placementStrategies.list": list_placement_strategies
+"/dfareporting:v2.1/dfareporting.placementStrategies.list/ids": ids
+"/dfareporting:v2.1/dfareporting.placementStrategies.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.placementStrategies.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.placementStrategies.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placementStrategies.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.placementStrategies.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.placementStrategies.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.placementStrategies.patch": patch_placement_strategy
+"/dfareporting:v2.1/dfareporting.placementStrategies.patch/id": id
+"/dfareporting:v2.1/dfareporting.placementStrategies.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placementStrategies.update": update_placement_strategy
+"/dfareporting:v2.1/dfareporting.placementStrategies.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placements.generatetags/campaignId": campaign_id
+"/dfareporting:v2.1/dfareporting.placements.generatetags/placementIds": placement_ids
+"/dfareporting:v2.1/dfareporting.placements.generatetags/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placements.generatetags/tagFormats": tag_formats
+"/dfareporting:v2.1/dfareporting.placements.get": get_placement
+"/dfareporting:v2.1/dfareporting.placements.get/id": id
+"/dfareporting:v2.1/dfareporting.placements.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placements.insert": insert_placement
+"/dfareporting:v2.1/dfareporting.placements.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placements.list": list_placements
+"/dfareporting:v2.1/dfareporting.placements.list/advertiserIds": advertiser_ids
+"/dfareporting:v2.1/dfareporting.placements.list/archived": archived
+"/dfareporting:v2.1/dfareporting.placements.list/campaignIds": campaign_ids
+"/dfareporting:v2.1/dfareporting.placements.list/compatibilities": compatibilities
+"/dfareporting:v2.1/dfareporting.placements.list/contentCategoryIds": content_category_ids
+"/dfareporting:v2.1/dfareporting.placements.list/directorySiteIds": directory_site_ids
+"/dfareporting:v2.1/dfareporting.placements.list/groupIds": group_ids
+"/dfareporting:v2.1/dfareporting.placements.list/ids": ids
+"/dfareporting:v2.1/dfareporting.placements.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.placements.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.placements.list/paymentSource": payment_source
+"/dfareporting:v2.1/dfareporting.placements.list/placementStrategyIds": placement_strategy_ids
+"/dfareporting:v2.1/dfareporting.placements.list/pricingTypes": pricing_types
+"/dfareporting:v2.1/dfareporting.placements.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placements.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.placements.list/siteIds": site_ids
+"/dfareporting:v2.1/dfareporting.placements.list/sizeIds": size_ids
+"/dfareporting:v2.1/dfareporting.placements.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.placements.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.placements.patch": patch_placement
+"/dfareporting:v2.1/dfareporting.placements.patch/id": id
+"/dfareporting:v2.1/dfareporting.placements.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.placements.update": update_placement
+"/dfareporting:v2.1/dfareporting.placements.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.platformTypes.get": get_platform_type
+"/dfareporting:v2.1/dfareporting.platformTypes.get/id": id
+"/dfareporting:v2.1/dfareporting.platformTypes.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.platformTypes.list": list_platform_types
+"/dfareporting:v2.1/dfareporting.platformTypes.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.postalCodes.get": get_postal_code
+"/dfareporting:v2.1/dfareporting.postalCodes.get/code": code
+"/dfareporting:v2.1/dfareporting.postalCodes.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.postalCodes.list": list_postal_codes
+"/dfareporting:v2.1/dfareporting.postalCodes.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.projects.get": get_project
+"/dfareporting:v2.1/dfareporting.projects.get/id": id
+"/dfareporting:v2.1/dfareporting.projects.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.projects.list": list_projects
+"/dfareporting:v2.1/dfareporting.projects.list/advertiserIds": advertiser_ids
+"/dfareporting:v2.1/dfareporting.projects.list/ids": ids
+"/dfareporting:v2.1/dfareporting.projects.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.projects.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.projects.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.projects.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.projects.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.projects.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.regions.list": list_regions
+"/dfareporting:v2.1/dfareporting.regions.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.remarketingListShares.get": get_remarketing_list_share
+"/dfareporting:v2.1/dfareporting.remarketingListShares.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.remarketingListShares.get/remarketingListId": remarketing_list_id
+"/dfareporting:v2.1/dfareporting.remarketingListShares.patch": patch_remarketing_list_share
+"/dfareporting:v2.1/dfareporting.remarketingListShares.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.remarketingListShares.patch/remarketingListId": remarketing_list_id
+"/dfareporting:v2.1/dfareporting.remarketingListShares.update": update_remarketing_list_share
+"/dfareporting:v2.1/dfareporting.remarketingListShares.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.remarketingLists.get": get_remarketing_list
+"/dfareporting:v2.1/dfareporting.remarketingLists.get/id": id
+"/dfareporting:v2.1/dfareporting.remarketingLists.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.remarketingLists.insert": insert_remarketing_list
+"/dfareporting:v2.1/dfareporting.remarketingLists.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.remarketingLists.list": list_remarketing_lists
+"/dfareporting:v2.1/dfareporting.remarketingLists.list/active": active
+"/dfareporting:v2.1/dfareporting.remarketingLists.list/advertiserId": advertiser_id
+"/dfareporting:v2.1/dfareporting.remarketingLists.list/floodlightActivityId": floodlight_activity_id
+"/dfareporting:v2.1/dfareporting.remarketingLists.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.remarketingLists.list/name": name
+"/dfareporting:v2.1/dfareporting.remarketingLists.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.remarketingLists.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.remarketingLists.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.remarketingLists.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.remarketingLists.patch": patch_remarketing_list
+"/dfareporting:v2.1/dfareporting.remarketingLists.patch/id": id
+"/dfareporting:v2.1/dfareporting.remarketingLists.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.remarketingLists.update": update_remarketing_list
+"/dfareporting:v2.1/dfareporting.remarketingLists.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.delete": delete_report
+"/dfareporting:v2.1/dfareporting.reports.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.delete/reportId": report_id
+"/dfareporting:v2.1/dfareporting.reports.get": get_report
+"/dfareporting:v2.1/dfareporting.reports.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.get/reportId": report_id
+"/dfareporting:v2.1/dfareporting.reports.insert": insert_report
+"/dfareporting:v2.1/dfareporting.reports.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.list": list_reports
+"/dfareporting:v2.1/dfareporting.reports.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.reports.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.reports.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.list/scope": scope
+"/dfareporting:v2.1/dfareporting.reports.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.reports.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.reports.patch": patch_report
+"/dfareporting:v2.1/dfareporting.reports.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.patch/reportId": report_id
+"/dfareporting:v2.1/dfareporting.reports.run": run_report
+"/dfareporting:v2.1/dfareporting.reports.run/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.run/reportId": report_id
+"/dfareporting:v2.1/dfareporting.reports.run/synchronous": synchronous
+"/dfareporting:v2.1/dfareporting.reports.update": update_report
+"/dfareporting:v2.1/dfareporting.reports.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.update/reportId": report_id
+"/dfareporting:v2.1/dfareporting.reports.compatibleFields.query": query_report_compatible_field
+"/dfareporting:v2.1/dfareporting.reports.compatibleFields.query/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.files.get": get_report_file
+"/dfareporting:v2.1/dfareporting.reports.files.get/fileId": file_id
+"/dfareporting:v2.1/dfareporting.reports.files.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.files.get/reportId": report_id
+"/dfareporting:v2.1/dfareporting.reports.files.list": list_report_files
+"/dfareporting:v2.1/dfareporting.reports.files.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.reports.files.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.reports.files.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.reports.files.list/reportId": report_id
+"/dfareporting:v2.1/dfareporting.reports.files.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.reports.files.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.sites.get": get_site
+"/dfareporting:v2.1/dfareporting.sites.get/id": id
+"/dfareporting:v2.1/dfareporting.sites.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.sites.insert": insert_site
+"/dfareporting:v2.1/dfareporting.sites.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.sites.list": list_sites
+"/dfareporting:v2.1/dfareporting.sites.list/acceptsInStreamVideoPlacements": accepts_in_stream_video_placements
+"/dfareporting:v2.1/dfareporting.sites.list/acceptsInterstitialPlacements": accepts_interstitial_placements
+"/dfareporting:v2.1/dfareporting.sites.list/acceptsPublisherPaidPlacements": accepts_publisher_paid_placements
+"/dfareporting:v2.1/dfareporting.sites.list/adWordsSite": ad_words_site
+"/dfareporting:v2.1/dfareporting.sites.list/approved": approved
+"/dfareporting:v2.1/dfareporting.sites.list/campaignIds": campaign_ids
+"/dfareporting:v2.1/dfareporting.sites.list/directorySiteIds": directory_site_ids
+"/dfareporting:v2.1/dfareporting.sites.list/ids": ids
+"/dfareporting:v2.1/dfareporting.sites.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.sites.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.sites.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.sites.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.sites.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.sites.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.sites.list/subaccountId": subaccount_id
+"/dfareporting:v2.1/dfareporting.sites.list/unmappedSite": unmapped_site
+"/dfareporting:v2.1/dfareporting.sites.patch": patch_site
+"/dfareporting:v2.1/dfareporting.sites.patch/id": id
+"/dfareporting:v2.1/dfareporting.sites.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.sites.update": update_site
+"/dfareporting:v2.1/dfareporting.sites.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.sizes.get": get_size
+"/dfareporting:v2.1/dfareporting.sizes.get/id": id
+"/dfareporting:v2.1/dfareporting.sizes.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.sizes.insert": insert_size
+"/dfareporting:v2.1/dfareporting.sizes.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.sizes.list": list_sizes
+"/dfareporting:v2.1/dfareporting.sizes.list/height": height
+"/dfareporting:v2.1/dfareporting.sizes.list/iabStandard": iab_standard
+"/dfareporting:v2.1/dfareporting.sizes.list/ids": ids
+"/dfareporting:v2.1/dfareporting.sizes.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.sizes.list/width": width
+"/dfareporting:v2.1/dfareporting.subaccounts.get": get_subaccount
+"/dfareporting:v2.1/dfareporting.subaccounts.get/id": id
+"/dfareporting:v2.1/dfareporting.subaccounts.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.subaccounts.insert": insert_subaccount
+"/dfareporting:v2.1/dfareporting.subaccounts.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.subaccounts.list": list_subaccounts
+"/dfareporting:v2.1/dfareporting.subaccounts.list/ids": ids
+"/dfareporting:v2.1/dfareporting.subaccounts.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.subaccounts.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.subaccounts.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.subaccounts.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.subaccounts.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.subaccounts.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.subaccounts.patch": patch_subaccount
+"/dfareporting:v2.1/dfareporting.subaccounts.patch/id": id
+"/dfareporting:v2.1/dfareporting.subaccounts.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.subaccounts.update": update_subaccount
+"/dfareporting:v2.1/dfareporting.subaccounts.update/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.get": get_targetable_remarketing_list
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.get/id": id
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.list": list_targetable_remarketing_lists
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.list/active": active
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.list/advertiserId": advertiser_id
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.list/name": name
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.targetableRemarketingLists.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.userProfiles.get": get_user_profile
+"/dfareporting:v2.1/dfareporting.userProfiles.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.userProfiles.list": list_user_profiles
+"/dfareporting:v2.1/dfareporting.userRolePermissionGroups.get": get_user_role_permission_group
+"/dfareporting:v2.1/dfareporting.userRolePermissionGroups.get/id": id
+"/dfareporting:v2.1/dfareporting.userRolePermissionGroups.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.userRolePermissionGroups.list": list_user_role_permission_groups
+"/dfareporting:v2.1/dfareporting.userRolePermissionGroups.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.userRolePermissions.get": get_user_role_permission
+"/dfareporting:v2.1/dfareporting.userRolePermissions.get/id": id
+"/dfareporting:v2.1/dfareporting.userRolePermissions.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.userRolePermissions.list": list_user_role_permissions
+"/dfareporting:v2.1/dfareporting.userRolePermissions.list/ids": ids
+"/dfareporting:v2.1/dfareporting.userRolePermissions.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.userRoles.delete": delete_user_role
+"/dfareporting:v2.1/dfareporting.userRoles.delete/id": id
+"/dfareporting:v2.1/dfareporting.userRoles.delete/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.userRoles.get": get_user_role
+"/dfareporting:v2.1/dfareporting.userRoles.get/id": id
+"/dfareporting:v2.1/dfareporting.userRoles.get/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.userRoles.insert": insert_user_role
+"/dfareporting:v2.1/dfareporting.userRoles.insert/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.userRoles.list": list_user_roles
+"/dfareporting:v2.1/dfareporting.userRoles.list/accountUserRoleOnly": account_user_role_only
+"/dfareporting:v2.1/dfareporting.userRoles.list/ids": ids
+"/dfareporting:v2.1/dfareporting.userRoles.list/maxResults": max_results
+"/dfareporting:v2.1/dfareporting.userRoles.list/pageToken": page_token
+"/dfareporting:v2.1/dfareporting.userRoles.list/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.userRoles.list/searchString": search_string
+"/dfareporting:v2.1/dfareporting.userRoles.list/sortField": sort_field
+"/dfareporting:v2.1/dfareporting.userRoles.list/sortOrder": sort_order
+"/dfareporting:v2.1/dfareporting.userRoles.list/subaccountId": subaccount_id
+"/dfareporting:v2.1/dfareporting.userRoles.patch": patch_user_role
+"/dfareporting:v2.1/dfareporting.userRoles.patch/id": id
+"/dfareporting:v2.1/dfareporting.userRoles.patch/profileId": profile_id
+"/dfareporting:v2.1/dfareporting.userRoles.update": update_user_role
+"/dfareporting:v2.1/dfareporting.userRoles.update/profileId": profile_id
+"/dfareporting:v2.1/Account": account
+"/dfareporting:v2.1/Account/accountPermissionIds": account_permission_ids
+"/dfareporting:v2.1/Account/accountPermissionIds/account_permission_id": account_permission_id
+"/dfareporting:v2.1/Account/accountProfile": account_profile
+"/dfareporting:v2.1/Account/active": active
+"/dfareporting:v2.1/Account/activeAdsLimitTier": active_ads_limit_tier
+"/dfareporting:v2.1/Account/activeViewOptOut": active_view_opt_out
+"/dfareporting:v2.1/Account/availablePermissionIds": available_permission_ids
+"/dfareporting:v2.1/Account/availablePermissionIds/available_permission_id": available_permission_id
+"/dfareporting:v2.1/Account/comscoreVceEnabled": comscore_vce_enabled
+"/dfareporting:v2.1/Account/countryId": country_id
+"/dfareporting:v2.1/Account/currencyId": currency_id
+"/dfareporting:v2.1/Account/defaultCreativeSizeId": default_creative_size_id
+"/dfareporting:v2.1/Account/description": description
+"/dfareporting:v2.1/Account/id": id
+"/dfareporting:v2.1/Account/kind": kind
+"/dfareporting:v2.1/Account/locale": locale
+"/dfareporting:v2.1/Account/maximumImageSize": maximum_image_size
+"/dfareporting:v2.1/Account/name": name
+"/dfareporting:v2.1/Account/nielsenOcrEnabled": nielsen_ocr_enabled
+"/dfareporting:v2.1/Account/reportsConfiguration": reports_configuration
+"/dfareporting:v2.1/Account/teaserSizeLimit": teaser_size_limit
+"/dfareporting:v2.1/AccountActiveAdSummary": account_active_ad_summary
+"/dfareporting:v2.1/AccountActiveAdSummary/accountId": account_id
+"/dfareporting:v2.1/AccountActiveAdSummary/activeAds": active_ads
+"/dfareporting:v2.1/AccountActiveAdSummary/activeAdsLimitTier": active_ads_limit_tier
+"/dfareporting:v2.1/AccountActiveAdSummary/availableAds": available_ads
+"/dfareporting:v2.1/AccountActiveAdSummary/kind": kind
+"/dfareporting:v2.1/AccountPermission": account_permission
+"/dfareporting:v2.1/AccountPermission/accountProfiles": account_profiles
+"/dfareporting:v2.1/AccountPermission/accountProfiles/account_profile": account_profile
+"/dfareporting:v2.1/AccountPermission/id": id
+"/dfareporting:v2.1/AccountPermission/kind": kind
+"/dfareporting:v2.1/AccountPermission/level": level
+"/dfareporting:v2.1/AccountPermission/name": name
+"/dfareporting:v2.1/AccountPermission/permissionGroupId": permission_group_id
+"/dfareporting:v2.1/AccountPermissionGroup": account_permission_group
+"/dfareporting:v2.1/AccountPermissionGroup/id": id
+"/dfareporting:v2.1/AccountPermissionGroup/kind": kind
+"/dfareporting:v2.1/AccountPermissionGroup/name": name
+"/dfareporting:v2.1/AccountPermissionGroupsListResponse/accountPermissionGroups": account_permission_groups
+"/dfareporting:v2.1/AccountPermissionGroupsListResponse/accountPermissionGroups/account_permission_group": account_permission_group
+"/dfareporting:v2.1/AccountPermissionGroupsListResponse/kind": kind
+"/dfareporting:v2.1/AccountPermissionsListResponse/accountPermissions": account_permissions
+"/dfareporting:v2.1/AccountPermissionsListResponse/accountPermissions/account_permission": account_permission
+"/dfareporting:v2.1/AccountPermissionsListResponse/kind": kind
+"/dfareporting:v2.1/AccountUserProfile": account_user_profile
+"/dfareporting:v2.1/AccountUserProfile/accountId": account_id
+"/dfareporting:v2.1/AccountUserProfile/active": active
+"/dfareporting:v2.1/AccountUserProfile/advertiserFilter": advertiser_filter
+"/dfareporting:v2.1/AccountUserProfile/campaignFilter": campaign_filter
+"/dfareporting:v2.1/AccountUserProfile/comments": comments
+"/dfareporting:v2.1/AccountUserProfile/email": email
+"/dfareporting:v2.1/AccountUserProfile/id": id
+"/dfareporting:v2.1/AccountUserProfile/kind": kind
+"/dfareporting:v2.1/AccountUserProfile/locale": locale
+"/dfareporting:v2.1/AccountUserProfile/name": name
+"/dfareporting:v2.1/AccountUserProfile/siteFilter": site_filter
+"/dfareporting:v2.1/AccountUserProfile/subaccountId": subaccount_id
+"/dfareporting:v2.1/AccountUserProfile/traffickerType": trafficker_type
+"/dfareporting:v2.1/AccountUserProfile/userAccessType": user_access_type
+"/dfareporting:v2.1/AccountUserProfile/userRoleFilter": user_role_filter
+"/dfareporting:v2.1/AccountUserProfile/userRoleId": user_role_id
+"/dfareporting:v2.1/AccountUserProfilesListResponse/accountUserProfiles": account_user_profiles
+"/dfareporting:v2.1/AccountUserProfilesListResponse/accountUserProfiles/account_user_profile": account_user_profile
+"/dfareporting:v2.1/AccountUserProfilesListResponse/kind": kind
+"/dfareporting:v2.1/AccountUserProfilesListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/AccountsListResponse/accounts": accounts
+"/dfareporting:v2.1/AccountsListResponse/accounts/account": account
+"/dfareporting:v2.1/AccountsListResponse/kind": kind
+"/dfareporting:v2.1/AccountsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/Activities": activities
+"/dfareporting:v2.1/Activities/filters": filters
+"/dfareporting:v2.1/Activities/filters/filter": filter
+"/dfareporting:v2.1/Activities/kind": kind
+"/dfareporting:v2.1/Activities/metricNames": metric_names
+"/dfareporting:v2.1/Activities/metricNames/metric_name": metric_name
+"/dfareporting:v2.1/Ad": ad
+"/dfareporting:v2.1/Ad/accountId": account_id
+"/dfareporting:v2.1/Ad/active": active
+"/dfareporting:v2.1/Ad/advertiserId": advertiser_id
+"/dfareporting:v2.1/Ad/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/Ad/archived": archived
+"/dfareporting:v2.1/Ad/audienceSegmentId": audience_segment_id
+"/dfareporting:v2.1/Ad/campaignId": campaign_id
+"/dfareporting:v2.1/Ad/campaignIdDimensionValue": campaign_id_dimension_value
+"/dfareporting:v2.1/Ad/clickThroughUrl": click_through_url
+"/dfareporting:v2.1/Ad/clickThroughUrlSuffixProperties": click_through_url_suffix_properties
+"/dfareporting:v2.1/Ad/comments": comments
+"/dfareporting:v2.1/Ad/compatibility": compatibility
+"/dfareporting:v2.1/Ad/createInfo": create_info
+"/dfareporting:v2.1/Ad/creativeGroupAssignments": creative_group_assignments
+"/dfareporting:v2.1/Ad/creativeGroupAssignments/creative_group_assignment": creative_group_assignment
+"/dfareporting:v2.1/Ad/creativeRotation": creative_rotation
+"/dfareporting:v2.1/Ad/dayPartTargeting": day_part_targeting
+"/dfareporting:v2.1/Ad/defaultClickThroughEventTagProperties": default_click_through_event_tag_properties
+"/dfareporting:v2.1/Ad/deliverySchedule": delivery_schedule
+"/dfareporting:v2.1/Ad/dynamicClickTracker": dynamic_click_tracker
+"/dfareporting:v2.1/Ad/endTime": end_time
+"/dfareporting:v2.1/Ad/eventTagOverrides": event_tag_overrides
+"/dfareporting:v2.1/Ad/eventTagOverrides/event_tag_override": event_tag_override
+"/dfareporting:v2.1/Ad/geoTargeting": geo_targeting
+"/dfareporting:v2.1/Ad/id": id
+"/dfareporting:v2.1/Ad/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/Ad/keyValueTargetingExpression": key_value_targeting_expression
+"/dfareporting:v2.1/Ad/kind": kind
+"/dfareporting:v2.1/Ad/lastModifiedInfo": last_modified_info
+"/dfareporting:v2.1/Ad/name": name
+"/dfareporting:v2.1/Ad/placementAssignments": placement_assignments
+"/dfareporting:v2.1/Ad/placementAssignments/placement_assignment": placement_assignment
+"/dfareporting:v2.1/Ad/remarketing_list_expression": remarketing_list_expression
+"/dfareporting:v2.1/Ad/size": size
+"/dfareporting:v2.1/Ad/sslCompliant": ssl_compliant
+"/dfareporting:v2.1/Ad/sslRequired": ssl_required
+"/dfareporting:v2.1/Ad/startTime": start_time
+"/dfareporting:v2.1/Ad/subaccountId": subaccount_id
+"/dfareporting:v2.1/Ad/technologyTargeting": technology_targeting
+"/dfareporting:v2.1/Ad/type": type
+"/dfareporting:v2.1/AdSlot": ad_slot
+"/dfareporting:v2.1/AdSlot/comment": comment
+"/dfareporting:v2.1/AdSlot/compatibility": compatibility
+"/dfareporting:v2.1/AdSlot/height": height
+"/dfareporting:v2.1/AdSlot/linkedPlacementId": linked_placement_id
+"/dfareporting:v2.1/AdSlot/name": name
+"/dfareporting:v2.1/AdSlot/paymentSourceType": payment_source_type
+"/dfareporting:v2.1/AdSlot/primary": primary
+"/dfareporting:v2.1/AdSlot/width": width
+"/dfareporting:v2.1/AdsListResponse/ads": ads
+"/dfareporting:v2.1/AdsListResponse/ads/ad": ad
+"/dfareporting:v2.1/AdsListResponse/kind": kind
+"/dfareporting:v2.1/AdsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/Advertiser": advertiser
+"/dfareporting:v2.1/Advertiser/accountId": account_id
+"/dfareporting:v2.1/Advertiser/advertiserGroupId": advertiser_group_id
+"/dfareporting:v2.1/Advertiser/clickThroughUrlSuffix": click_through_url_suffix
+"/dfareporting:v2.1/Advertiser/defaultClickThroughEventTagId": default_click_through_event_tag_id
+"/dfareporting:v2.1/Advertiser/defaultEmail": default_email
+"/dfareporting:v2.1/Advertiser/floodlightConfigurationId": floodlight_configuration_id
+"/dfareporting:v2.1/Advertiser/floodlightConfigurationIdDimensionValue": floodlight_configuration_id_dimension_value
+"/dfareporting:v2.1/Advertiser/id": id
+"/dfareporting:v2.1/Advertiser/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/Advertiser/kind": kind
+"/dfareporting:v2.1/Advertiser/name": name
+"/dfareporting:v2.1/Advertiser/originalFloodlightConfigurationId": original_floodlight_configuration_id
+"/dfareporting:v2.1/Advertiser/status": status
+"/dfareporting:v2.1/Advertiser/subaccountId": subaccount_id
+"/dfareporting:v2.1/AdvertiserGroup": advertiser_group
+"/dfareporting:v2.1/AdvertiserGroup/accountId": account_id
+"/dfareporting:v2.1/AdvertiserGroup/id": id
+"/dfareporting:v2.1/AdvertiserGroup/kind": kind
+"/dfareporting:v2.1/AdvertiserGroup/name": name
+"/dfareporting:v2.1/AdvertiserGroupsListResponse/advertiserGroups": advertiser_groups
+"/dfareporting:v2.1/AdvertiserGroupsListResponse/advertiserGroups/advertiser_group": advertiser_group
+"/dfareporting:v2.1/AdvertiserGroupsListResponse/kind": kind
+"/dfareporting:v2.1/AdvertiserGroupsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/AdvertisersListResponse/advertisers": advertisers
+"/dfareporting:v2.1/AdvertisersListResponse/advertisers/advertiser": advertiser
+"/dfareporting:v2.1/AdvertisersListResponse/kind": kind
+"/dfareporting:v2.1/AdvertisersListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/AudienceSegment": audience_segment
+"/dfareporting:v2.1/AudienceSegment/allocation": allocation
+"/dfareporting:v2.1/AudienceSegment/id": id
+"/dfareporting:v2.1/AudienceSegment/name": name
+"/dfareporting:v2.1/AudienceSegmentGroup": audience_segment_group
+"/dfareporting:v2.1/AudienceSegmentGroup/audienceSegments": audience_segments
+"/dfareporting:v2.1/AudienceSegmentGroup/audienceSegments/audience_segment": audience_segment
+"/dfareporting:v2.1/AudienceSegmentGroup/id": id
+"/dfareporting:v2.1/AudienceSegmentGroup/name": name
+"/dfareporting:v2.1/Browser": browser
+"/dfareporting:v2.1/Browser/browserVersionId": browser_version_id
+"/dfareporting:v2.1/Browser/dartId": dart_id
+"/dfareporting:v2.1/Browser/kind": kind
+"/dfareporting:v2.1/Browser/majorVersion": major_version
+"/dfareporting:v2.1/Browser/minorVersion": minor_version
+"/dfareporting:v2.1/Browser/name": name
+"/dfareporting:v2.1/BrowsersListResponse/browsers": browsers
+"/dfareporting:v2.1/BrowsersListResponse/browsers/browser": browser
+"/dfareporting:v2.1/BrowsersListResponse/kind": kind
+"/dfareporting:v2.1/Campaign": campaign
+"/dfareporting:v2.1/Campaign/accountId": account_id
+"/dfareporting:v2.1/Campaign/additionalCreativeOptimizationConfigurations": additional_creative_optimization_configurations
+"/dfareporting:v2.1/Campaign/additionalCreativeOptimizationConfigurations/additional_creative_optimization_configuration": additional_creative_optimization_configuration
+"/dfareporting:v2.1/Campaign/advertiserGroupId": advertiser_group_id
+"/dfareporting:v2.1/Campaign/advertiserId": advertiser_id
+"/dfareporting:v2.1/Campaign/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/Campaign/archived": archived
+"/dfareporting:v2.1/Campaign/audienceSegmentGroups": audience_segment_groups
+"/dfareporting:v2.1/Campaign/audienceSegmentGroups/audience_segment_group": audience_segment_group
+"/dfareporting:v2.1/Campaign/billingInvoiceCode": billing_invoice_code
+"/dfareporting:v2.1/Campaign/clickThroughUrlSuffixProperties": click_through_url_suffix_properties
+"/dfareporting:v2.1/Campaign/comment": comment
+"/dfareporting:v2.1/Campaign/comscoreVceEnabled": comscore_vce_enabled
+"/dfareporting:v2.1/Campaign/createInfo": create_info
+"/dfareporting:v2.1/Campaign/creativeGroupIds": creative_group_ids
+"/dfareporting:v2.1/Campaign/creativeGroupIds/creative_group_id": creative_group_id
+"/dfareporting:v2.1/Campaign/creativeOptimizationConfiguration": creative_optimization_configuration
+"/dfareporting:v2.1/Campaign/defaultClickThroughEventTagProperties": default_click_through_event_tag_properties
+"/dfareporting:v2.1/Campaign/endDate": end_date
+"/dfareporting:v2.1/Campaign/eventTagOverrides": event_tag_overrides
+"/dfareporting:v2.1/Campaign/eventTagOverrides/event_tag_override": event_tag_override
+"/dfareporting:v2.1/Campaign/externalId": external_id
+"/dfareporting:v2.1/Campaign/id": id
+"/dfareporting:v2.1/Campaign/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/Campaign/kind": kind
+"/dfareporting:v2.1/Campaign/lastModifiedInfo": last_modified_info
+"/dfareporting:v2.1/Campaign/lookbackConfiguration": lookback_configuration
+"/dfareporting:v2.1/Campaign/name": name
+"/dfareporting:v2.1/Campaign/nielsenOcrEnabled": nielsen_ocr_enabled
+"/dfareporting:v2.1/Campaign/startDate": start_date
+"/dfareporting:v2.1/Campaign/subaccountId": subaccount_id
+"/dfareporting:v2.1/Campaign/traffickerEmails": trafficker_emails
+"/dfareporting:v2.1/Campaign/traffickerEmails/trafficker_email": trafficker_email
+"/dfareporting:v2.1/CampaignCreativeAssociation": campaign_creative_association
+"/dfareporting:v2.1/CampaignCreativeAssociation/creativeId": creative_id
+"/dfareporting:v2.1/CampaignCreativeAssociation/kind": kind
+"/dfareporting:v2.1/CampaignCreativeAssociationsListResponse/campaignCreativeAssociations": campaign_creative_associations
+"/dfareporting:v2.1/CampaignCreativeAssociationsListResponse/campaignCreativeAssociations/campaign_creative_association": campaign_creative_association
+"/dfareporting:v2.1/CampaignCreativeAssociationsListResponse/kind": kind
+"/dfareporting:v2.1/CampaignCreativeAssociationsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/CampaignsListResponse/campaigns": campaigns
+"/dfareporting:v2.1/CampaignsListResponse/campaigns/campaign": campaign
+"/dfareporting:v2.1/CampaignsListResponse/kind": kind
+"/dfareporting:v2.1/CampaignsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/ChangeLog": change_log
+"/dfareporting:v2.1/ChangeLog/accountId": account_id
+"/dfareporting:v2.1/ChangeLog/action": action
+"/dfareporting:v2.1/ChangeLog/changeTime": change_time
+"/dfareporting:v2.1/ChangeLog/fieldName": field_name
+"/dfareporting:v2.1/ChangeLog/id": id
+"/dfareporting:v2.1/ChangeLog/kind": kind
+"/dfareporting:v2.1/ChangeLog/newValue": new_value
+"/dfareporting:v2.1/ChangeLog/objectType": object_type
+"/dfareporting:v2.1/ChangeLog/oldValue": old_value
+"/dfareporting:v2.1/ChangeLog/subaccountId": subaccount_id
+"/dfareporting:v2.1/ChangeLog/transactionId": transaction_id
+"/dfareporting:v2.1/ChangeLog/userProfileId": user_profile_id
+"/dfareporting:v2.1/ChangeLog/userProfileName": user_profile_name
+"/dfareporting:v2.1/ChangeLogsListResponse/changeLogs": change_logs
+"/dfareporting:v2.1/ChangeLogsListResponse/changeLogs/change_log": change_log
+"/dfareporting:v2.1/ChangeLogsListResponse/kind": kind
+"/dfareporting:v2.1/ChangeLogsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/CitiesListResponse/cities": cities
+"/dfareporting:v2.1/CitiesListResponse/cities/city": city
+"/dfareporting:v2.1/CitiesListResponse/kind": kind
+"/dfareporting:v2.1/City": city
+"/dfareporting:v2.1/City/countryCode": country_code
+"/dfareporting:v2.1/City/countryDartId": country_dart_id
+"/dfareporting:v2.1/City/dartId": dart_id
+"/dfareporting:v2.1/City/kind": kind
+"/dfareporting:v2.1/City/metroCode": metro_code
+"/dfareporting:v2.1/City/metroDmaId": metro_dma_id
+"/dfareporting:v2.1/City/name": name
+"/dfareporting:v2.1/City/regionCode": region_code
+"/dfareporting:v2.1/City/regionDartId": region_dart_id
+"/dfareporting:v2.1/ClickTag": click_tag
+"/dfareporting:v2.1/ClickTag/eventName": event_name
+"/dfareporting:v2.1/ClickTag/name": name
+"/dfareporting:v2.1/ClickTag/value": value
+"/dfareporting:v2.1/ClickThroughUrl": click_through_url
+"/dfareporting:v2.1/ClickThroughUrl/customClickThroughUrl": custom_click_through_url
+"/dfareporting:v2.1/ClickThroughUrl/defaultLandingPage": default_landing_page
+"/dfareporting:v2.1/ClickThroughUrl/landingPageId": landing_page_id
+"/dfareporting:v2.1/ClickThroughUrlSuffixProperties": click_through_url_suffix_properties
+"/dfareporting:v2.1/ClickThroughUrlSuffixProperties/clickThroughUrlSuffix": click_through_url_suffix
+"/dfareporting:v2.1/ClickThroughUrlSuffixProperties/overrideInheritedSuffix": override_inherited_suffix
+"/dfareporting:v2.1/CompanionClickThroughOverride": companion_click_through_override
+"/dfareporting:v2.1/CompanionClickThroughOverride/clickThroughUrl": click_through_url
+"/dfareporting:v2.1/CompanionClickThroughOverride/creativeId": creative_id
+"/dfareporting:v2.1/CompatibleFields": compatible_fields
+"/dfareporting:v2.1/CompatibleFields/crossDimensionReachReportCompatibleFields": cross_dimension_reach_report_compatible_fields
+"/dfareporting:v2.1/CompatibleFields/floodlightReportCompatibleFields": floodlight_report_compatible_fields
+"/dfareporting:v2.1/CompatibleFields/kind": kind
+"/dfareporting:v2.1/CompatibleFields/pathToConversionReportCompatibleFields": path_to_conversion_report_compatible_fields
+"/dfareporting:v2.1/CompatibleFields/reachReportCompatibleFields": reach_report_compatible_fields
+"/dfareporting:v2.1/CompatibleFields/reportCompatibleFields": report_compatible_fields
+"/dfareporting:v2.1/ConnectionType": connection_type
+"/dfareporting:v2.1/ConnectionType/id": id
+"/dfareporting:v2.1/ConnectionType/kind": kind
+"/dfareporting:v2.1/ConnectionType/name": name
+"/dfareporting:v2.1/ConnectionTypesListResponse/connectionTypes": connection_types
+"/dfareporting:v2.1/ConnectionTypesListResponse/connectionTypes/connection_type": connection_type
+"/dfareporting:v2.1/ConnectionTypesListResponse/kind": kind
+"/dfareporting:v2.1/ContentCategoriesListResponse/contentCategories": content_categories
+"/dfareporting:v2.1/ContentCategoriesListResponse/contentCategories/content_category": content_category
+"/dfareporting:v2.1/ContentCategoriesListResponse/kind": kind
+"/dfareporting:v2.1/ContentCategoriesListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/ContentCategory": content_category
+"/dfareporting:v2.1/ContentCategory/accountId": account_id
+"/dfareporting:v2.1/ContentCategory/id": id
+"/dfareporting:v2.1/ContentCategory/kind": kind
+"/dfareporting:v2.1/ContentCategory/name": name
+"/dfareporting:v2.1/CountriesListResponse/countries": countries
+"/dfareporting:v2.1/CountriesListResponse/countries/country": country
+"/dfareporting:v2.1/CountriesListResponse/kind": kind
+"/dfareporting:v2.1/Country": country
+"/dfareporting:v2.1/Country/countryCode": country_code
+"/dfareporting:v2.1/Country/dartId": dart_id
+"/dfareporting:v2.1/Country/kind": kind
+"/dfareporting:v2.1/Country/name": name
+"/dfareporting:v2.1/Country/sslEnabled": ssl_enabled
+"/dfareporting:v2.1/Creative": creative
+"/dfareporting:v2.1/Creative/accountId": account_id
+"/dfareporting:v2.1/Creative/active": active
+"/dfareporting:v2.1/Creative/adParameters": ad_parameters
+"/dfareporting:v2.1/Creative/adTagKeys": ad_tag_keys
+"/dfareporting:v2.1/Creative/adTagKeys/ad_tag_key": ad_tag_key
+"/dfareporting:v2.1/Creative/advertiserId": advertiser_id
+"/dfareporting:v2.1/Creative/allowScriptAccess": allow_script_access
+"/dfareporting:v2.1/Creative/archived": archived
+"/dfareporting:v2.1/Creative/artworkType": artwork_type
+"/dfareporting:v2.1/Creative/authoringTool": authoring_tool
+"/dfareporting:v2.1/Creative/auto_advance_images": auto_advance_images
+"/dfareporting:v2.1/Creative/backgroundColor": background_color
+"/dfareporting:v2.1/Creative/backupImageClickThroughUrl": backup_image_click_through_url
+"/dfareporting:v2.1/Creative/backupImageFeatures": backup_image_features
+"/dfareporting:v2.1/Creative/backupImageFeatures/backup_image_feature": backup_image_feature
+"/dfareporting:v2.1/Creative/backupImageReportingLabel": backup_image_reporting_label
+"/dfareporting:v2.1/Creative/backupImageTargetWindow": backup_image_target_window
+"/dfareporting:v2.1/Creative/clickTags": click_tags
+"/dfareporting:v2.1/Creative/clickTags/click_tag": click_tag
+"/dfareporting:v2.1/Creative/commercialId": commercial_id
+"/dfareporting:v2.1/Creative/companionCreatives": companion_creatives
+"/dfareporting:v2.1/Creative/companionCreatives/companion_creative": companion_creative
+"/dfareporting:v2.1/Creative/compatibility": compatibility
+"/dfareporting:v2.1/Creative/compatibility/compatibility": compatibility
+"/dfareporting:v2.1/Creative/convertFlashToHtml5": convert_flash_to_html5
+"/dfareporting:v2.1/Creative/counterCustomEvents": counter_custom_events
+"/dfareporting:v2.1/Creative/counterCustomEvents/counter_custom_event": counter_custom_event
+"/dfareporting:v2.1/Creative/creativeAssets": creative_assets
+"/dfareporting:v2.1/Creative/creativeAssets/creative_asset": creative_asset
+"/dfareporting:v2.1/Creative/creativeFieldAssignments": creative_field_assignments
+"/dfareporting:v2.1/Creative/creativeFieldAssignments/creative_field_assignment": creative_field_assignment
+"/dfareporting:v2.1/Creative/customKeyValues": custom_key_values
+"/dfareporting:v2.1/Creative/customKeyValues/custom_key_value": custom_key_value
+"/dfareporting:v2.1/Creative/exitCustomEvents": exit_custom_events
+"/dfareporting:v2.1/Creative/exitCustomEvents/exit_custom_event": exit_custom_event
+"/dfareporting:v2.1/Creative/fsCommand": fs_command
+"/dfareporting:v2.1/Creative/htmlCode": html_code
+"/dfareporting:v2.1/Creative/htmlCodeLocked": html_code_locked
+"/dfareporting:v2.1/Creative/id": id
+"/dfareporting:v2.1/Creative/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/Creative/kind": kind
+"/dfareporting:v2.1/Creative/lastModifiedInfo": last_modified_info
+"/dfareporting:v2.1/Creative/latestTraffickedCreativeId": latest_trafficked_creative_id
+"/dfareporting:v2.1/Creative/name": name
+"/dfareporting:v2.1/Creative/overrideCss": override_css
+"/dfareporting:v2.1/Creative/redirectUrl": redirect_url
+"/dfareporting:v2.1/Creative/renderingId": rendering_id
+"/dfareporting:v2.1/Creative/renderingIdDimensionValue": rendering_id_dimension_value
+"/dfareporting:v2.1/Creative/requiredFlashPluginVersion": required_flash_plugin_version
+"/dfareporting:v2.1/Creative/requiredFlashVersion": required_flash_version
+"/dfareporting:v2.1/Creative/size": size
+"/dfareporting:v2.1/Creative/skippable": skippable
+"/dfareporting:v2.1/Creative/sslCompliant": ssl_compliant
+"/dfareporting:v2.1/Creative/studioAdvertiserId": studio_advertiser_id
+"/dfareporting:v2.1/Creative/studioCreativeId": studio_creative_id
+"/dfareporting:v2.1/Creative/studioTraffickedCreativeId": studio_trafficked_creative_id
+"/dfareporting:v2.1/Creative/subaccountId": subaccount_id
+"/dfareporting:v2.1/Creative/thirdPartyBackupImageImpressionsUrl": third_party_backup_image_impressions_url
+"/dfareporting:v2.1/Creative/thirdPartyRichMediaImpressionsUrl": third_party_rich_media_impressions_url
+"/dfareporting:v2.1/Creative/thirdPartyUrls": third_party_urls
+"/dfareporting:v2.1/Creative/thirdPartyUrls/third_party_url": third_party_url
+"/dfareporting:v2.1/Creative/timerCustomEvents": timer_custom_events
+"/dfareporting:v2.1/Creative/timerCustomEvents/timer_custom_event": timer_custom_event
+"/dfareporting:v2.1/Creative/totalFileSize": total_file_size
+"/dfareporting:v2.1/Creative/type": type
+"/dfareporting:v2.1/Creative/version": version
+"/dfareporting:v2.1/Creative/videoDescription": video_description
+"/dfareporting:v2.1/Creative/videoDuration": video_duration
+"/dfareporting:v2.1/CreativeAsset": creative_asset
+"/dfareporting:v2.1/CreativeAsset/actionScript3": action_script3
+"/dfareporting:v2.1/CreativeAsset/active": active
+"/dfareporting:v2.1/CreativeAsset/alignment": alignment
+"/dfareporting:v2.1/CreativeAsset/artworkType": artwork_type
+"/dfareporting:v2.1/CreativeAsset/assetIdentifier": asset_identifier
+"/dfareporting:v2.1/CreativeAsset/backupImageExit": backup_image_exit
+"/dfareporting:v2.1/CreativeAsset/bitRate": bit_rate
+"/dfareporting:v2.1/CreativeAsset/childAssetType": child_asset_type
+"/dfareporting:v2.1/CreativeAsset/collapsedSize": collapsed_size
+"/dfareporting:v2.1/CreativeAsset/customStartTimeValue": custom_start_time_value
+"/dfareporting:v2.1/CreativeAsset/detectedFeatures": detected_features
+"/dfareporting:v2.1/CreativeAsset/detectedFeatures/detected_feature": detected_feature
+"/dfareporting:v2.1/CreativeAsset/displayType": display_type
+"/dfareporting:v2.1/CreativeAsset/duration": duration
+"/dfareporting:v2.1/CreativeAsset/durationType": duration_type
+"/dfareporting:v2.1/CreativeAsset/expandedDimension": expanded_dimension
+"/dfareporting:v2.1/CreativeAsset/fileSize": file_size
+"/dfareporting:v2.1/CreativeAsset/flashVersion": flash_version
+"/dfareporting:v2.1/CreativeAsset/hideFlashObjects": hide_flash_objects
+"/dfareporting:v2.1/CreativeAsset/hideSelectionBoxes": hide_selection_boxes
+"/dfareporting:v2.1/CreativeAsset/horizontallyLocked": horizontally_locked
+"/dfareporting:v2.1/CreativeAsset/id": id
+"/dfareporting:v2.1/CreativeAsset/mimeType": mime_type
+"/dfareporting:v2.1/CreativeAsset/offset": offset
+"/dfareporting:v2.1/CreativeAsset/originalBackup": original_backup
+"/dfareporting:v2.1/CreativeAsset/position": position
+"/dfareporting:v2.1/CreativeAsset/positionLeftUnit": position_left_unit
+"/dfareporting:v2.1/CreativeAsset/positionTopUnit": position_top_unit
+"/dfareporting:v2.1/CreativeAsset/progressiveServingUrl": progressive_serving_url
+"/dfareporting:v2.1/CreativeAsset/pushdown": pushdown
+"/dfareporting:v2.1/CreativeAsset/pushdownDuration": pushdown_duration
+"/dfareporting:v2.1/CreativeAsset/role": role
+"/dfareporting:v2.1/CreativeAsset/size": size
+"/dfareporting:v2.1/CreativeAsset/sslCompliant": ssl_compliant
+"/dfareporting:v2.1/CreativeAsset/startTimeType": start_time_type
+"/dfareporting:v2.1/CreativeAsset/streamingServingUrl": streaming_serving_url
+"/dfareporting:v2.1/CreativeAsset/transparency": transparency
+"/dfareporting:v2.1/CreativeAsset/verticallyLocked": vertically_locked
+"/dfareporting:v2.1/CreativeAsset/videoDuration": video_duration
+"/dfareporting:v2.1/CreativeAsset/windowMode": window_mode
+"/dfareporting:v2.1/CreativeAsset/zIndex": z_index
+"/dfareporting:v2.1/CreativeAsset/zipFilename": zip_filename
+"/dfareporting:v2.1/CreativeAsset/zipFilesize": zip_filesize
+"/dfareporting:v2.1/CreativeAssetId": creative_asset_id
+"/dfareporting:v2.1/CreativeAssetId/name": name
+"/dfareporting:v2.1/CreativeAssetId/type": type
+"/dfareporting:v2.1/CreativeAssetMetadata": creative_asset_metadata
+"/dfareporting:v2.1/CreativeAssetMetadata/assetIdentifier": asset_identifier
+"/dfareporting:v2.1/CreativeAssetMetadata/clickTags": click_tags
+"/dfareporting:v2.1/CreativeAssetMetadata/clickTags/click_tag": click_tag
+"/dfareporting:v2.1/CreativeAssetMetadata/detectedFeatures": detected_features
+"/dfareporting:v2.1/CreativeAssetMetadata/detectedFeatures/detected_feature": detected_feature
+"/dfareporting:v2.1/CreativeAssetMetadata/kind": kind
+"/dfareporting:v2.1/CreativeAssetMetadata/warnedValidationRules": warned_validation_rules
+"/dfareporting:v2.1/CreativeAssetMetadata/warnedValidationRules/warned_validation_rule": warned_validation_rule
+"/dfareporting:v2.1/CreativeAssignment": creative_assignment
+"/dfareporting:v2.1/CreativeAssignment/active": active
+"/dfareporting:v2.1/CreativeAssignment/applyEventTags": apply_event_tags
+"/dfareporting:v2.1/CreativeAssignment/clickThroughUrl": click_through_url
+"/dfareporting:v2.1/CreativeAssignment/companionCreativeOverrides": companion_creative_overrides
+"/dfareporting:v2.1/CreativeAssignment/companionCreativeOverrides/companion_creative_override": companion_creative_override
+"/dfareporting:v2.1/CreativeAssignment/creativeGroupAssignments": creative_group_assignments
+"/dfareporting:v2.1/CreativeAssignment/creativeGroupAssignments/creative_group_assignment": creative_group_assignment
+"/dfareporting:v2.1/CreativeAssignment/creativeId": creative_id
+"/dfareporting:v2.1/CreativeAssignment/creativeIdDimensionValue": creative_id_dimension_value
+"/dfareporting:v2.1/CreativeAssignment/endTime": end_time
+"/dfareporting:v2.1/CreativeAssignment/richMediaExitOverrides": rich_media_exit_overrides
+"/dfareporting:v2.1/CreativeAssignment/richMediaExitOverrides/rich_media_exit_override": rich_media_exit_override
+"/dfareporting:v2.1/CreativeAssignment/sequence": sequence
+"/dfareporting:v2.1/CreativeAssignment/sslCompliant": ssl_compliant
+"/dfareporting:v2.1/CreativeAssignment/startTime": start_time
+"/dfareporting:v2.1/CreativeAssignment/weight": weight
+"/dfareporting:v2.1/CreativeCustomEvent": creative_custom_event
+"/dfareporting:v2.1/CreativeCustomEvent/active": active
+"/dfareporting:v2.1/CreativeCustomEvent/advertiserCustomEventName": advertiser_custom_event_name
+"/dfareporting:v2.1/CreativeCustomEvent/advertiserCustomEventType": advertiser_custom_event_type
+"/dfareporting:v2.1/CreativeCustomEvent/artworkLabel": artwork_label
+"/dfareporting:v2.1/CreativeCustomEvent/artworkType": artwork_type
+"/dfareporting:v2.1/CreativeCustomEvent/exitUrl": exit_url
+"/dfareporting:v2.1/CreativeCustomEvent/id": id
+"/dfareporting:v2.1/CreativeCustomEvent/popupWindowProperties": popup_window_properties
+"/dfareporting:v2.1/CreativeCustomEvent/targetType": target_type
+"/dfareporting:v2.1/CreativeCustomEvent/videoReportingId": video_reporting_id
+"/dfareporting:v2.1/CreativeField": creative_field
+"/dfareporting:v2.1/CreativeField/accountId": account_id
+"/dfareporting:v2.1/CreativeField/advertiserId": advertiser_id
+"/dfareporting:v2.1/CreativeField/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/CreativeField/id": id
+"/dfareporting:v2.1/CreativeField/kind": kind
+"/dfareporting:v2.1/CreativeField/name": name
+"/dfareporting:v2.1/CreativeField/subaccountId": subaccount_id
+"/dfareporting:v2.1/CreativeFieldAssignment": creative_field_assignment
+"/dfareporting:v2.1/CreativeFieldAssignment/creativeFieldId": creative_field_id
+"/dfareporting:v2.1/CreativeFieldAssignment/creativeFieldValueId": creative_field_value_id
+"/dfareporting:v2.1/CreativeFieldValue": creative_field_value
+"/dfareporting:v2.1/CreativeFieldValue/id": id
+"/dfareporting:v2.1/CreativeFieldValue/kind": kind
+"/dfareporting:v2.1/CreativeFieldValue/value": value
+"/dfareporting:v2.1/CreativeFieldValuesListResponse/creativeFieldValues": creative_field_values
+"/dfareporting:v2.1/CreativeFieldValuesListResponse/creativeFieldValues/creative_field_value": creative_field_value
+"/dfareporting:v2.1/CreativeFieldValuesListResponse/kind": kind
+"/dfareporting:v2.1/CreativeFieldValuesListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/CreativeFieldsListResponse/creativeFields": creative_fields
+"/dfareporting:v2.1/CreativeFieldsListResponse/creativeFields/creative_field": creative_field
+"/dfareporting:v2.1/CreativeFieldsListResponse/kind": kind
+"/dfareporting:v2.1/CreativeFieldsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/CreativeGroup": creative_group
+"/dfareporting:v2.1/CreativeGroup/accountId": account_id
+"/dfareporting:v2.1/CreativeGroup/advertiserId": advertiser_id
+"/dfareporting:v2.1/CreativeGroup/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/CreativeGroup/groupNumber": group_number
+"/dfareporting:v2.1/CreativeGroup/id": id
+"/dfareporting:v2.1/CreativeGroup/kind": kind
+"/dfareporting:v2.1/CreativeGroup/name": name
+"/dfareporting:v2.1/CreativeGroup/subaccountId": subaccount_id
+"/dfareporting:v2.1/CreativeGroupAssignment": creative_group_assignment
+"/dfareporting:v2.1/CreativeGroupAssignment/creativeGroupId": creative_group_id
+"/dfareporting:v2.1/CreativeGroupAssignment/creativeGroupNumber": creative_group_number
+"/dfareporting:v2.1/CreativeGroupsListResponse/creativeGroups": creative_groups
+"/dfareporting:v2.1/CreativeGroupsListResponse/creativeGroups/creative_group": creative_group
+"/dfareporting:v2.1/CreativeGroupsListResponse/kind": kind
+"/dfareporting:v2.1/CreativeGroupsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/CreativeOptimizationConfiguration": creative_optimization_configuration
+"/dfareporting:v2.1/CreativeOptimizationConfiguration/id": id
+"/dfareporting:v2.1/CreativeOptimizationConfiguration/name": name
+"/dfareporting:v2.1/CreativeOptimizationConfiguration/optimizationActivitys": optimization_activitys
+"/dfareporting:v2.1/CreativeOptimizationConfiguration/optimizationActivitys/optimization_activity": optimization_activity
+"/dfareporting:v2.1/CreativeOptimizationConfiguration/optimizationModel": optimization_model
+"/dfareporting:v2.1/CreativeRotation": creative_rotation
+"/dfareporting:v2.1/CreativeRotation/creativeAssignments": creative_assignments
+"/dfareporting:v2.1/CreativeRotation/creativeAssignments/creative_assignment": creative_assignment
+"/dfareporting:v2.1/CreativeRotation/creativeOptimizationConfigurationId": creative_optimization_configuration_id
+"/dfareporting:v2.1/CreativeRotation/type": type
+"/dfareporting:v2.1/CreativeRotation/weightCalculationStrategy": weight_calculation_strategy
+"/dfareporting:v2.1/CreativeSettings": creative_settings
+"/dfareporting:v2.1/CreativeSettings/iFrameFooter": i_frame_footer
+"/dfareporting:v2.1/CreativeSettings/iFrameHeader": i_frame_header
+"/dfareporting:v2.1/CreativesListResponse/creatives": creatives
+"/dfareporting:v2.1/CreativesListResponse/creatives/creative": creative
+"/dfareporting:v2.1/CreativesListResponse/kind": kind
+"/dfareporting:v2.1/CreativesListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/CrossDimensionReachReportCompatibleFields": cross_dimension_reach_report_compatible_fields
+"/dfareporting:v2.1/CrossDimensionReachReportCompatibleFields/breakdown": breakdown
+"/dfareporting:v2.1/CrossDimensionReachReportCompatibleFields/breakdown/breakdown": breakdown
+"/dfareporting:v2.1/CrossDimensionReachReportCompatibleFields/dimensionFilters": dimension_filters
+"/dfareporting:v2.1/CrossDimensionReachReportCompatibleFields/dimensionFilters/dimension_filter": dimension_filter
+"/dfareporting:v2.1/CrossDimensionReachReportCompatibleFields/kind": kind
+"/dfareporting:v2.1/CrossDimensionReachReportCompatibleFields/metrics": metrics
+"/dfareporting:v2.1/CrossDimensionReachReportCompatibleFields/metrics/metric": metric
+"/dfareporting:v2.1/CrossDimensionReachReportCompatibleFields/overlapMetrics": overlap_metrics
+"/dfareporting:v2.1/CrossDimensionReachReportCompatibleFields/overlapMetrics/overlap_metric": overlap_metric
+"/dfareporting:v2.1/CustomRichMediaEvents": custom_rich_media_events
+"/dfareporting:v2.1/CustomRichMediaEvents/filteredEventIds": filtered_event_ids
+"/dfareporting:v2.1/CustomRichMediaEvents/filteredEventIds/filtered_event_id": filtered_event_id
+"/dfareporting:v2.1/CustomRichMediaEvents/kind": kind
+"/dfareporting:v2.1/DateRange": date_range
+"/dfareporting:v2.1/DateRange/endDate": end_date
+"/dfareporting:v2.1/DateRange/kind": kind
+"/dfareporting:v2.1/DateRange/relativeDateRange": relative_date_range
+"/dfareporting:v2.1/DateRange/startDate": start_date
+"/dfareporting:v2.1/DayPartTargeting": day_part_targeting
+"/dfareporting:v2.1/DayPartTargeting/daysOfWeek": days_of_week
+"/dfareporting:v2.1/DayPartTargeting/daysOfWeek/days_of_week": days_of_week
+"/dfareporting:v2.1/DayPartTargeting/hoursOfDay": hours_of_day
+"/dfareporting:v2.1/DayPartTargeting/hoursOfDay/hours_of_day": hours_of_day
+"/dfareporting:v2.1/DayPartTargeting/userLocalTime": user_local_time
+"/dfareporting:v2.1/DefaultClickThroughEventTagProperties": default_click_through_event_tag_properties
+"/dfareporting:v2.1/DefaultClickThroughEventTagProperties/defaultClickThroughEventTagId": default_click_through_event_tag_id
+"/dfareporting:v2.1/DefaultClickThroughEventTagProperties/overrideInheritedEventTag": override_inherited_event_tag
+"/dfareporting:v2.1/DeliverySchedule": delivery_schedule
+"/dfareporting:v2.1/DeliverySchedule/frequencyCap": frequency_cap
+"/dfareporting:v2.1/DeliverySchedule/hardCutoff": hard_cutoff
+"/dfareporting:v2.1/DeliverySchedule/impressionRatio": impression_ratio
+"/dfareporting:v2.1/DeliverySchedule/priority": priority
+"/dfareporting:v2.1/DfpSettings": dfp_settings
+"/dfareporting:v2.1/DfpSettings/dfp_network_code": dfp_network_code
+"/dfareporting:v2.1/DfpSettings/dfp_network_name": dfp_network_name
+"/dfareporting:v2.1/DfpSettings/programmaticPlacementAccepted": programmatic_placement_accepted
+"/dfareporting:v2.1/DfpSettings/pubPaidPlacementAccepted": pub_paid_placement_accepted
+"/dfareporting:v2.1/DfpSettings/publisherPortalOnly": publisher_portal_only
+"/dfareporting:v2.1/Dimension": dimension
+"/dfareporting:v2.1/Dimension/kind": kind
+"/dfareporting:v2.1/Dimension/name": name
+"/dfareporting:v2.1/DimensionFilter": dimension_filter
+"/dfareporting:v2.1/DimensionFilter/dimensionName": dimension_name
+"/dfareporting:v2.1/DimensionFilter/kind": kind
+"/dfareporting:v2.1/DimensionFilter/value": value
+"/dfareporting:v2.1/DimensionValue": dimension_value
+"/dfareporting:v2.1/DimensionValue/dimensionName": dimension_name
+"/dfareporting:v2.1/DimensionValue/etag": etag
+"/dfareporting:v2.1/DimensionValue/id": id
+"/dfareporting:v2.1/DimensionValue/kind": kind
+"/dfareporting:v2.1/DimensionValue/matchType": match_type
+"/dfareporting:v2.1/DimensionValue/value": value
+"/dfareporting:v2.1/DimensionValueList": dimension_value_list
+"/dfareporting:v2.1/DimensionValueList/etag": etag
+"/dfareporting:v2.1/DimensionValueList/items": items
+"/dfareporting:v2.1/DimensionValueList/items/item": item
+"/dfareporting:v2.1/DimensionValueList/kind": kind
+"/dfareporting:v2.1/DimensionValueList/nextPageToken": next_page_token
+"/dfareporting:v2.1/DimensionValueRequest/dimensionName": dimension_name
+"/dfareporting:v2.1/DimensionValueRequest/endDate": end_date
+"/dfareporting:v2.1/DimensionValueRequest/filters": filters
+"/dfareporting:v2.1/DimensionValueRequest/filters/filter": filter
+"/dfareporting:v2.1/DimensionValueRequest/kind": kind
+"/dfareporting:v2.1/DimensionValueRequest/startDate": start_date
+"/dfareporting:v2.1/DirectorySite": directory_site
+"/dfareporting:v2.1/DirectorySite/active": active
+"/dfareporting:v2.1/DirectorySite/contactAssignments": contact_assignments
+"/dfareporting:v2.1/DirectorySite/contactAssignments/contact_assignment": contact_assignment
+"/dfareporting:v2.1/DirectorySite/countryId": country_id
+"/dfareporting:v2.1/DirectorySite/currencyId": currency_id
+"/dfareporting:v2.1/DirectorySite/description": description
+"/dfareporting:v2.1/DirectorySite/id": id
+"/dfareporting:v2.1/DirectorySite/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/DirectorySite/inpageTagFormats": inpage_tag_formats
+"/dfareporting:v2.1/DirectorySite/inpageTagFormats/inpage_tag_format": inpage_tag_format
+"/dfareporting:v2.1/DirectorySite/interstitialTagFormats": interstitial_tag_formats
+"/dfareporting:v2.1/DirectorySite/interstitialTagFormats/interstitial_tag_format": interstitial_tag_format
+"/dfareporting:v2.1/DirectorySite/kind": kind
+"/dfareporting:v2.1/DirectorySite/name": name
+"/dfareporting:v2.1/DirectorySite/parentId": parent_id
+"/dfareporting:v2.1/DirectorySite/settings": settings
+"/dfareporting:v2.1/DirectorySite/url": url
+"/dfareporting:v2.1/DirectorySiteContact": directory_site_contact
+"/dfareporting:v2.1/DirectorySiteContact/address": address
+"/dfareporting:v2.1/DirectorySiteContact/email": email
+"/dfareporting:v2.1/DirectorySiteContact/firstName": first_name
+"/dfareporting:v2.1/DirectorySiteContact/id": id
+"/dfareporting:v2.1/DirectorySiteContact/kind": kind
+"/dfareporting:v2.1/DirectorySiteContact/lastName": last_name
+"/dfareporting:v2.1/DirectorySiteContact/phone": phone
+"/dfareporting:v2.1/DirectorySiteContact/role": role
+"/dfareporting:v2.1/DirectorySiteContact/title": title
+"/dfareporting:v2.1/DirectorySiteContact/type": type
+"/dfareporting:v2.1/DirectorySiteContactAssignment": directory_site_contact_assignment
+"/dfareporting:v2.1/DirectorySiteContactAssignment/contactId": contact_id
+"/dfareporting:v2.1/DirectorySiteContactAssignment/visibility": visibility
+"/dfareporting:v2.1/DirectorySiteContactsListResponse/directorySiteContacts": directory_site_contacts
+"/dfareporting:v2.1/DirectorySiteContactsListResponse/directorySiteContacts/directory_site_contact": directory_site_contact
+"/dfareporting:v2.1/DirectorySiteContactsListResponse/kind": kind
+"/dfareporting:v2.1/DirectorySiteContactsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/DirectorySiteSettings": directory_site_settings
+"/dfareporting:v2.1/DirectorySiteSettings/activeViewOptOut": active_view_opt_out
+"/dfareporting:v2.1/DirectorySiteSettings/dfp_settings": dfp_settings
+"/dfareporting:v2.1/DirectorySiteSettings/instream_video_placement_accepted": instream_video_placement_accepted
+"/dfareporting:v2.1/DirectorySiteSettings/interstitialPlacementAccepted": interstitial_placement_accepted
+"/dfareporting:v2.1/DirectorySiteSettings/nielsenOcrOptOut": nielsen_ocr_opt_out
+"/dfareporting:v2.1/DirectorySiteSettings/verificationTagOptOut": verification_tag_opt_out
+"/dfareporting:v2.1/DirectorySiteSettings/videoActiveViewOptOut": video_active_view_opt_out
+"/dfareporting:v2.1/DirectorySitesListResponse/directorySites": directory_sites
+"/dfareporting:v2.1/DirectorySitesListResponse/directorySites/directory_site": directory_site
+"/dfareporting:v2.1/DirectorySitesListResponse/kind": kind
+"/dfareporting:v2.1/DirectorySitesListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/EventTag": event_tag
+"/dfareporting:v2.1/EventTag/accountId": account_id
+"/dfareporting:v2.1/EventTag/advertiserId": advertiser_id
+"/dfareporting:v2.1/EventTag/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/EventTag/campaignId": campaign_id
+"/dfareporting:v2.1/EventTag/campaignIdDimensionValue": campaign_id_dimension_value
+"/dfareporting:v2.1/EventTag/enabledByDefault": enabled_by_default
+"/dfareporting:v2.1/EventTag/id": id
+"/dfareporting:v2.1/EventTag/kind": kind
+"/dfareporting:v2.1/EventTag/name": name
+"/dfareporting:v2.1/EventTag/siteFilterType": site_filter_type
+"/dfareporting:v2.1/EventTag/siteIds": site_ids
+"/dfareporting:v2.1/EventTag/siteIds/site_id": site_id
+"/dfareporting:v2.1/EventTag/sslCompliant": ssl_compliant
+"/dfareporting:v2.1/EventTag/status": status
+"/dfareporting:v2.1/EventTag/subaccountId": subaccount_id
+"/dfareporting:v2.1/EventTag/type": type
+"/dfareporting:v2.1/EventTag/url": url
+"/dfareporting:v2.1/EventTag/urlEscapeLevels": url_escape_levels
+"/dfareporting:v2.1/EventTagOverride": event_tag_override
+"/dfareporting:v2.1/EventTagOverride/enabled": enabled
+"/dfareporting:v2.1/EventTagOverride/id": id
+"/dfareporting:v2.1/EventTagsListResponse/eventTags": event_tags
+"/dfareporting:v2.1/EventTagsListResponse/eventTags/event_tag": event_tag
+"/dfareporting:v2.1/EventTagsListResponse/kind": kind
+"/dfareporting:v2.1/File": file
+"/dfareporting:v2.1/File/dateRange": date_range
+"/dfareporting:v2.1/File/etag": etag
+"/dfareporting:v2.1/File/fileName": file_name
+"/dfareporting:v2.1/File/format": format
+"/dfareporting:v2.1/File/id": id
+"/dfareporting:v2.1/File/kind": kind
+"/dfareporting:v2.1/File/lastModifiedTime": last_modified_time
+"/dfareporting:v2.1/File/reportId": report_id
+"/dfareporting:v2.1/File/status": status
+"/dfareporting:v2.1/File/urls": urls
+"/dfareporting:v2.1/File/urls/apiUrl": api_url
+"/dfareporting:v2.1/File/urls/browserUrl": browser_url
+"/dfareporting:v2.1/FileList": file_list
+"/dfareporting:v2.1/FileList/etag": etag
+"/dfareporting:v2.1/FileList/items": items
+"/dfareporting:v2.1/FileList/items/item": item
+"/dfareporting:v2.1/FileList/kind": kind
+"/dfareporting:v2.1/FileList/nextPageToken": next_page_token
+"/dfareporting:v2.1/Flight": flight
+"/dfareporting:v2.1/Flight/endDate": end_date
+"/dfareporting:v2.1/Flight/rateOrCost": rate_or_cost
+"/dfareporting:v2.1/Flight/startDate": start_date
+"/dfareporting:v2.1/Flight/units": units
+"/dfareporting:v2.1/FloodlightActivitiesGenerateTagResponse/floodlightActivityTag": floodlight_activity_tag
+"/dfareporting:v2.1/FloodlightActivitiesGenerateTagResponse/kind": kind
+"/dfareporting:v2.1/FloodlightActivitiesListResponse/floodlightActivities": floodlight_activities
+"/dfareporting:v2.1/FloodlightActivitiesListResponse/floodlightActivities/floodlight_activity": floodlight_activity
+"/dfareporting:v2.1/FloodlightActivitiesListResponse/kind": kind
+"/dfareporting:v2.1/FloodlightActivitiesListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/FloodlightActivity": floodlight_activity
+"/dfareporting:v2.1/FloodlightActivity/accountId": account_id
+"/dfareporting:v2.1/FloodlightActivity/advertiserId": advertiser_id
+"/dfareporting:v2.1/FloodlightActivity/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/FloodlightActivity/cacheBustingType": cache_busting_type
+"/dfareporting:v2.1/FloodlightActivity/countingMethod": counting_method
+"/dfareporting:v2.1/FloodlightActivity/defaultTags": default_tags
+"/dfareporting:v2.1/FloodlightActivity/defaultTags/default_tag": default_tag
+"/dfareporting:v2.1/FloodlightActivity/expectedUrl": expected_url
+"/dfareporting:v2.1/FloodlightActivity/floodlightActivityGroupId": floodlight_activity_group_id
+"/dfareporting:v2.1/FloodlightActivity/floodlightActivityGroupName": floodlight_activity_group_name
+"/dfareporting:v2.1/FloodlightActivity/floodlightActivityGroupTagString": floodlight_activity_group_tag_string
+"/dfareporting:v2.1/FloodlightActivity/floodlightActivityGroupType": floodlight_activity_group_type
+"/dfareporting:v2.1/FloodlightActivity/floodlightConfigurationId": floodlight_configuration_id
+"/dfareporting:v2.1/FloodlightActivity/floodlightConfigurationIdDimensionValue": floodlight_configuration_id_dimension_value
+"/dfareporting:v2.1/FloodlightActivity/hidden": hidden
+"/dfareporting:v2.1/FloodlightActivity/id": id
+"/dfareporting:v2.1/FloodlightActivity/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/FloodlightActivity/imageTagEnabled": image_tag_enabled
+"/dfareporting:v2.1/FloodlightActivity/kind": kind
+"/dfareporting:v2.1/FloodlightActivity/name": name
+"/dfareporting:v2.1/FloodlightActivity/notes": notes
+"/dfareporting:v2.1/FloodlightActivity/publisherTags": publisher_tags
+"/dfareporting:v2.1/FloodlightActivity/publisherTags/publisher_tag": publisher_tag
+"/dfareporting:v2.1/FloodlightActivity/secure": secure
+"/dfareporting:v2.1/FloodlightActivity/sslCompliant": ssl_compliant
+"/dfareporting:v2.1/FloodlightActivity/sslRequired": ssl_required
+"/dfareporting:v2.1/FloodlightActivity/subaccountId": subaccount_id
+"/dfareporting:v2.1/FloodlightActivity/tagFormat": tag_format
+"/dfareporting:v2.1/FloodlightActivity/tagString": tag_string
+"/dfareporting:v2.1/FloodlightActivity/userDefinedVariableTypes": user_defined_variable_types
+"/dfareporting:v2.1/FloodlightActivity/userDefinedVariableTypes/user_defined_variable_type": user_defined_variable_type
+"/dfareporting:v2.1/FloodlightActivityDynamicTag": floodlight_activity_dynamic_tag
+"/dfareporting:v2.1/FloodlightActivityDynamicTag/id": id
+"/dfareporting:v2.1/FloodlightActivityDynamicTag/name": name
+"/dfareporting:v2.1/FloodlightActivityDynamicTag/tag": tag
+"/dfareporting:v2.1/FloodlightActivityGroup": floodlight_activity_group
+"/dfareporting:v2.1/FloodlightActivityGroup/accountId": account_id
+"/dfareporting:v2.1/FloodlightActivityGroup/advertiserId": advertiser_id
+"/dfareporting:v2.1/FloodlightActivityGroup/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/FloodlightActivityGroup/floodlightConfigurationId": floodlight_configuration_id
+"/dfareporting:v2.1/FloodlightActivityGroup/floodlightConfigurationIdDimensionValue": floodlight_configuration_id_dimension_value
+"/dfareporting:v2.1/FloodlightActivityGroup/id": id
+"/dfareporting:v2.1/FloodlightActivityGroup/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/FloodlightActivityGroup/kind": kind
+"/dfareporting:v2.1/FloodlightActivityGroup/name": name
+"/dfareporting:v2.1/FloodlightActivityGroup/subaccountId": subaccount_id
+"/dfareporting:v2.1/FloodlightActivityGroup/tagString": tag_string
+"/dfareporting:v2.1/FloodlightActivityGroup/type": type
+"/dfareporting:v2.1/FloodlightActivityGroupsListResponse/floodlightActivityGroups": floodlight_activity_groups
+"/dfareporting:v2.1/FloodlightActivityGroupsListResponse/floodlightActivityGroups/floodlight_activity_group": floodlight_activity_group
+"/dfareporting:v2.1/FloodlightActivityGroupsListResponse/kind": kind
+"/dfareporting:v2.1/FloodlightActivityGroupsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/FloodlightActivityPublisherDynamicTag": floodlight_activity_publisher_dynamic_tag
+"/dfareporting:v2.1/FloodlightActivityPublisherDynamicTag/clickThrough": click_through
+"/dfareporting:v2.1/FloodlightActivityPublisherDynamicTag/directorySiteId": directory_site_id
+"/dfareporting:v2.1/FloodlightActivityPublisherDynamicTag/dynamicTag": dynamic_tag
+"/dfareporting:v2.1/FloodlightActivityPublisherDynamicTag/siteId": site_id
+"/dfareporting:v2.1/FloodlightActivityPublisherDynamicTag/siteIdDimensionValue": site_id_dimension_value
+"/dfareporting:v2.1/FloodlightActivityPublisherDynamicTag/viewThrough": view_through
+"/dfareporting:v2.1/FloodlightConfiguration": floodlight_configuration
+"/dfareporting:v2.1/FloodlightConfiguration/accountId": account_id
+"/dfareporting:v2.1/FloodlightConfiguration/advertiserId": advertiser_id
+"/dfareporting:v2.1/FloodlightConfiguration/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/FloodlightConfiguration/analyticsDataSharingEnabled": analytics_data_sharing_enabled
+"/dfareporting:v2.1/FloodlightConfiguration/exposureToConversionEnabled": exposure_to_conversion_enabled
+"/dfareporting:v2.1/FloodlightConfiguration/firstDayOfWeek": first_day_of_week
+"/dfareporting:v2.1/FloodlightConfiguration/id": id
+"/dfareporting:v2.1/FloodlightConfiguration/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/FloodlightConfiguration/kind": kind
+"/dfareporting:v2.1/FloodlightConfiguration/lookbackConfiguration": lookback_configuration
+"/dfareporting:v2.1/FloodlightConfiguration/naturalSearchConversionAttributionOption": natural_search_conversion_attribution_option
+"/dfareporting:v2.1/FloodlightConfiguration/omnitureSettings": omniture_settings
+"/dfareporting:v2.1/FloodlightConfiguration/sslRequired": ssl_required
+"/dfareporting:v2.1/FloodlightConfiguration/standardVariableTypes": standard_variable_types
+"/dfareporting:v2.1/FloodlightConfiguration/standardVariableTypes/standard_variable_type": standard_variable_type
+"/dfareporting:v2.1/FloodlightConfiguration/subaccountId": subaccount_id
+"/dfareporting:v2.1/FloodlightConfiguration/tagSettings": tag_settings
+"/dfareporting:v2.1/FloodlightConfiguration/userDefinedVariableConfigurations": user_defined_variable_configurations
+"/dfareporting:v2.1/FloodlightConfiguration/userDefinedVariableConfigurations/user_defined_variable_configuration": user_defined_variable_configuration
+"/dfareporting:v2.1/FloodlightConfigurationsListResponse/floodlightConfigurations": floodlight_configurations
+"/dfareporting:v2.1/FloodlightConfigurationsListResponse/floodlightConfigurations/floodlight_configuration": floodlight_configuration
+"/dfareporting:v2.1/FloodlightConfigurationsListResponse/kind": kind
+"/dfareporting:v2.1/FloodlightReportCompatibleFields": floodlight_report_compatible_fields
+"/dfareporting:v2.1/FloodlightReportCompatibleFields/dimensionFilters": dimension_filters
+"/dfareporting:v2.1/FloodlightReportCompatibleFields/dimensionFilters/dimension_filter": dimension_filter
+"/dfareporting:v2.1/FloodlightReportCompatibleFields/dimensions": dimensions
+"/dfareporting:v2.1/FloodlightReportCompatibleFields/dimensions/dimension": dimension
+"/dfareporting:v2.1/FloodlightReportCompatibleFields/kind": kind
+"/dfareporting:v2.1/FloodlightReportCompatibleFields/metrics": metrics
+"/dfareporting:v2.1/FloodlightReportCompatibleFields/metrics/metric": metric
+"/dfareporting:v2.1/FrequencyCap": frequency_cap
+"/dfareporting:v2.1/FrequencyCap/duration": duration
+"/dfareporting:v2.1/FrequencyCap/impressions": impressions
+"/dfareporting:v2.1/FsCommand": fs_command
+"/dfareporting:v2.1/FsCommand/left": left
+"/dfareporting:v2.1/FsCommand/positionOption": position_option
+"/dfareporting:v2.1/FsCommand/top": top
+"/dfareporting:v2.1/FsCommand/windowHeight": window_height
+"/dfareporting:v2.1/FsCommand/windowWidth": window_width
+"/dfareporting:v2.1/GeoTargeting": geo_targeting
+"/dfareporting:v2.1/GeoTargeting/cities": cities
+"/dfareporting:v2.1/GeoTargeting/cities/city": city
+"/dfareporting:v2.1/GeoTargeting/countries": countries
+"/dfareporting:v2.1/GeoTargeting/countries/country": country
+"/dfareporting:v2.1/GeoTargeting/excludeCountries": exclude_countries
+"/dfareporting:v2.1/GeoTargeting/metros": metros
+"/dfareporting:v2.1/GeoTargeting/metros/metro": metro
+"/dfareporting:v2.1/GeoTargeting/postalCodes": postal_codes
+"/dfareporting:v2.1/GeoTargeting/postalCodes/postal_code": postal_code
+"/dfareporting:v2.1/GeoTargeting/regions": regions
+"/dfareporting:v2.1/GeoTargeting/regions/region": region
+"/dfareporting:v2.1/InventoryItem": inventory_item
+"/dfareporting:v2.1/InventoryItem/accountId": account_id
+"/dfareporting:v2.1/InventoryItem/adSlots": ad_slots
+"/dfareporting:v2.1/InventoryItem/adSlots/ad_slot": ad_slot
+"/dfareporting:v2.1/InventoryItem/advertiserId": advertiser_id
+"/dfareporting:v2.1/InventoryItem/contentCategoryId": content_category_id
+"/dfareporting:v2.1/InventoryItem/estimatedClickThroughRate": estimated_click_through_rate
+"/dfareporting:v2.1/InventoryItem/estimatedConversionRate": estimated_conversion_rate
+"/dfareporting:v2.1/InventoryItem/id": id
+"/dfareporting:v2.1/InventoryItem/inPlan": in_plan
+"/dfareporting:v2.1/InventoryItem/kind": kind
+"/dfareporting:v2.1/InventoryItem/lastModifiedInfo": last_modified_info
+"/dfareporting:v2.1/InventoryItem/name": name
+"/dfareporting:v2.1/InventoryItem/negotiationChannelId": negotiation_channel_id
+"/dfareporting:v2.1/InventoryItem/orderId": order_id
+"/dfareporting:v2.1/InventoryItem/placementStrategyId": placement_strategy_id
+"/dfareporting:v2.1/InventoryItem/pricing": pricing
+"/dfareporting:v2.1/InventoryItem/projectId": project_id
+"/dfareporting:v2.1/InventoryItem/rfpId": rfp_id
+"/dfareporting:v2.1/InventoryItem/siteId": site_id
+"/dfareporting:v2.1/InventoryItem/subaccountId": subaccount_id
+"/dfareporting:v2.1/InventoryItemsListResponse/inventoryItems": inventory_items
+"/dfareporting:v2.1/InventoryItemsListResponse/inventoryItems/inventory_item": inventory_item
+"/dfareporting:v2.1/InventoryItemsListResponse/kind": kind
+"/dfareporting:v2.1/InventoryItemsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/KeyValueTargetingExpression": key_value_targeting_expression
+"/dfareporting:v2.1/KeyValueTargetingExpression/expression": expression
+"/dfareporting:v2.1/LandingPage": landing_page
+"/dfareporting:v2.1/LandingPage/default": default
+"/dfareporting:v2.1/LandingPage/id": id
+"/dfareporting:v2.1/LandingPage/kind": kind
+"/dfareporting:v2.1/LandingPage/name": name
+"/dfareporting:v2.1/LandingPage/url": url
+"/dfareporting:v2.1/LandingPagesListResponse/kind": kind
+"/dfareporting:v2.1/LandingPagesListResponse/landingPages": landing_pages
+"/dfareporting:v2.1/LandingPagesListResponse/landingPages/landing_page": landing_page
+"/dfareporting:v2.1/LastModifiedInfo": last_modified_info
+"/dfareporting:v2.1/LastModifiedInfo/time": time
+"/dfareporting:v2.1/ListPopulationClause": list_population_clause
+"/dfareporting:v2.1/ListPopulationClause/terms": terms
+"/dfareporting:v2.1/ListPopulationClause/terms/term": term
+"/dfareporting:v2.1/ListPopulationRule": list_population_rule
+"/dfareporting:v2.1/ListPopulationRule/floodlightActivityId": floodlight_activity_id
+"/dfareporting:v2.1/ListPopulationRule/floodlightActivityName": floodlight_activity_name
+"/dfareporting:v2.1/ListPopulationRule/listPopulationClauses": list_population_clauses
+"/dfareporting:v2.1/ListPopulationRule/listPopulationClauses/list_population_clause": list_population_clause
+"/dfareporting:v2.1/ListPopulationTerm": list_population_term
+"/dfareporting:v2.1/ListPopulationTerm/contains": contains
+"/dfareporting:v2.1/ListPopulationTerm/negation": negation
+"/dfareporting:v2.1/ListPopulationTerm/operator": operator
+"/dfareporting:v2.1/ListPopulationTerm/remarketingListId": remarketing_list_id
+"/dfareporting:v2.1/ListPopulationTerm/type": type
+"/dfareporting:v2.1/ListPopulationTerm/value": value
+"/dfareporting:v2.1/ListPopulationTerm/variableFriendlyName": variable_friendly_name
+"/dfareporting:v2.1/ListPopulationTerm/variableName": variable_name
+"/dfareporting:v2.1/ListTargetingExpression": list_targeting_expression
+"/dfareporting:v2.1/ListTargetingExpression/expression": expression
+"/dfareporting:v2.1/LookbackConfiguration": lookback_configuration
+"/dfareporting:v2.1/LookbackConfiguration/clickDuration": click_duration
+"/dfareporting:v2.1/LookbackConfiguration/postImpressionActivitiesDuration": post_impression_activities_duration
+"/dfareporting:v2.1/Metric": metric
+"/dfareporting:v2.1/Metric/kind": kind
+"/dfareporting:v2.1/Metric/name": name
+"/dfareporting:v2.1/Metro": metro
+"/dfareporting:v2.1/Metro/countryCode": country_code
+"/dfareporting:v2.1/Metro/countryDartId": country_dart_id
+"/dfareporting:v2.1/Metro/dartId": dart_id
+"/dfareporting:v2.1/Metro/dmaId": dma_id
+"/dfareporting:v2.1/Metro/kind": kind
+"/dfareporting:v2.1/Metro/metroCode": metro_code
+"/dfareporting:v2.1/Metro/name": name
+"/dfareporting:v2.1/MetrosListResponse/kind": kind
+"/dfareporting:v2.1/MetrosListResponse/metros": metros
+"/dfareporting:v2.1/MetrosListResponse/metros/metro": metro
+"/dfareporting:v2.1/MobileCarrier": mobile_carrier
+"/dfareporting:v2.1/MobileCarrier/countryCode": country_code
+"/dfareporting:v2.1/MobileCarrier/countryDartId": country_dart_id
+"/dfareporting:v2.1/MobileCarrier/id": id
+"/dfareporting:v2.1/MobileCarrier/kind": kind
+"/dfareporting:v2.1/MobileCarrier/name": name
+"/dfareporting:v2.1/MobileCarriersListResponse/kind": kind
+"/dfareporting:v2.1/MobileCarriersListResponse/mobileCarriers": mobile_carriers
+"/dfareporting:v2.1/MobileCarriersListResponse/mobileCarriers/mobile_carrier": mobile_carrier
+"/dfareporting:v2.1/ObjectFilter": object_filter
+"/dfareporting:v2.1/ObjectFilter/kind": kind
+"/dfareporting:v2.1/ObjectFilter/objectIds": object_ids
+"/dfareporting:v2.1/ObjectFilter/status": status
+"/dfareporting:v2.1/OffsetPosition": offset_position
+"/dfareporting:v2.1/OffsetPosition/left": left
+"/dfareporting:v2.1/OffsetPosition/top": top
+"/dfareporting:v2.1/OmnitureSettings": omniture_settings
+"/dfareporting:v2.1/OmnitureSettings/omnitureCostDataEnabled": omniture_cost_data_enabled
+"/dfareporting:v2.1/OmnitureSettings/omnitureIntegrationEnabled": omniture_integration_enabled
+"/dfareporting:v2.1/OperatingSystem": operating_system
+"/dfareporting:v2.1/OperatingSystem/dartId": dart_id
+"/dfareporting:v2.1/OperatingSystem/desktop": desktop
+"/dfareporting:v2.1/OperatingSystem/kind": kind
+"/dfareporting:v2.1/OperatingSystem/mobile": mobile
+"/dfareporting:v2.1/OperatingSystem/name": name
+"/dfareporting:v2.1/OperatingSystemVersion": operating_system_version
+"/dfareporting:v2.1/OperatingSystemVersion/id": id
+"/dfareporting:v2.1/OperatingSystemVersion/kind": kind
+"/dfareporting:v2.1/OperatingSystemVersion/majorVersion": major_version
+"/dfareporting:v2.1/OperatingSystemVersion/minorVersion": minor_version
+"/dfareporting:v2.1/OperatingSystemVersion/name": name
+"/dfareporting:v2.1/OperatingSystemVersion/operatingSystem": operating_system
+"/dfareporting:v2.1/OperatingSystemVersionsListResponse/kind": kind
+"/dfareporting:v2.1/OperatingSystemVersionsListResponse/operatingSystemVersions": operating_system_versions
+"/dfareporting:v2.1/OperatingSystemVersionsListResponse/operatingSystemVersions/operating_system_version": operating_system_version
+"/dfareporting:v2.1/OperatingSystemsListResponse/kind": kind
+"/dfareporting:v2.1/OperatingSystemsListResponse/operatingSystems": operating_systems
+"/dfareporting:v2.1/OperatingSystemsListResponse/operatingSystems/operating_system": operating_system
+"/dfareporting:v2.1/OptimizationActivity": optimization_activity
+"/dfareporting:v2.1/OptimizationActivity/floodlightActivityId": floodlight_activity_id
+"/dfareporting:v2.1/OptimizationActivity/floodlightActivityIdDimensionValue": floodlight_activity_id_dimension_value
+"/dfareporting:v2.1/OptimizationActivity/weight": weight
+"/dfareporting:v2.1/Order": order
+"/dfareporting:v2.1/Order/accountId": account_id
+"/dfareporting:v2.1/Order/advertiserId": advertiser_id
+"/dfareporting:v2.1/Order/approverUserProfileIds": approver_user_profile_ids
+"/dfareporting:v2.1/Order/approverUserProfileIds/approver_user_profile_id": approver_user_profile_id
+"/dfareporting:v2.1/Order/buyerInvoiceId": buyer_invoice_id
+"/dfareporting:v2.1/Order/buyerOrganizationName": buyer_organization_name
+"/dfareporting:v2.1/Order/comments": comments
+"/dfareporting:v2.1/Order/contacts": contacts
+"/dfareporting:v2.1/Order/contacts/contact": contact
+"/dfareporting:v2.1/Order/id": id
+"/dfareporting:v2.1/Order/kind": kind
+"/dfareporting:v2.1/Order/lastModifiedInfo": last_modified_info
+"/dfareporting:v2.1/Order/name": name
+"/dfareporting:v2.1/Order/notes": notes
+"/dfareporting:v2.1/Order/planningTermId": planning_term_id
+"/dfareporting:v2.1/Order/projectId": project_id
+"/dfareporting:v2.1/Order/sellerOrderId": seller_order_id
+"/dfareporting:v2.1/Order/sellerOrganizationName": seller_organization_name
+"/dfareporting:v2.1/Order/siteId": site_id
+"/dfareporting:v2.1/Order/siteId/site_id": site_id
+"/dfareporting:v2.1/Order/siteNames": site_names
+"/dfareporting:v2.1/Order/siteNames/site_name": site_name
+"/dfareporting:v2.1/Order/subaccountId": subaccount_id
+"/dfareporting:v2.1/Order/termsAndConditions": terms_and_conditions
+"/dfareporting:v2.1/OrderContact": order_contact
+"/dfareporting:v2.1/OrderContact/contactInfo": contact_info
+"/dfareporting:v2.1/OrderContact/contactName": contact_name
+"/dfareporting:v2.1/OrderContact/contactTitle": contact_title
+"/dfareporting:v2.1/OrderContact/contactType": contact_type
+"/dfareporting:v2.1/OrderContact/signatureUserProfileId": signature_user_profile_id
+"/dfareporting:v2.1/OrderDocument": order_document
+"/dfareporting:v2.1/OrderDocument/accountId": account_id
+"/dfareporting:v2.1/OrderDocument/advertiserId": advertiser_id
+"/dfareporting:v2.1/OrderDocument/amendedOrderDocumentId": amended_order_document_id
+"/dfareporting:v2.1/OrderDocument/approvedByUserProfileIds": approved_by_user_profile_ids
+"/dfareporting:v2.1/OrderDocument/approvedByUserProfileIds/approved_by_user_profile_id": approved_by_user_profile_id
+"/dfareporting:v2.1/OrderDocument/cancelled": cancelled
+"/dfareporting:v2.1/OrderDocument/createdInfo": created_info
+"/dfareporting:v2.1/OrderDocument/effectiveDate": effective_date
+"/dfareporting:v2.1/OrderDocument/id": id
+"/dfareporting:v2.1/OrderDocument/kind": kind
+"/dfareporting:v2.1/OrderDocument/orderId": order_id
+"/dfareporting:v2.1/OrderDocument/projectId": project_id
+"/dfareporting:v2.1/OrderDocument/signed": signed
+"/dfareporting:v2.1/OrderDocument/subaccountId": subaccount_id
+"/dfareporting:v2.1/OrderDocument/title": title
+"/dfareporting:v2.1/OrderDocument/type": type
+"/dfareporting:v2.1/OrderDocumentsListResponse/kind": kind
+"/dfareporting:v2.1/OrderDocumentsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/OrderDocumentsListResponse/orderDocuments": order_documents
+"/dfareporting:v2.1/OrderDocumentsListResponse/orderDocuments/order_document": order_document
+"/dfareporting:v2.1/OrdersListResponse/kind": kind
+"/dfareporting:v2.1/OrdersListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/OrdersListResponse/orders": orders
+"/dfareporting:v2.1/OrdersListResponse/orders/order": order
+"/dfareporting:v2.1/PathToConversionReportCompatibleFields": path_to_conversion_report_compatible_fields
+"/dfareporting:v2.1/PathToConversionReportCompatibleFields/conversionDimensions": conversion_dimensions
+"/dfareporting:v2.1/PathToConversionReportCompatibleFields/conversionDimensions/conversion_dimension": conversion_dimension
+"/dfareporting:v2.1/PathToConversionReportCompatibleFields/customFloodlightVariables": custom_floodlight_variables
+"/dfareporting:v2.1/PathToConversionReportCompatibleFields/customFloodlightVariables/custom_floodlight_variable": custom_floodlight_variable
+"/dfareporting:v2.1/PathToConversionReportCompatibleFields/kind": kind
+"/dfareporting:v2.1/PathToConversionReportCompatibleFields/metrics": metrics
+"/dfareporting:v2.1/PathToConversionReportCompatibleFields/metrics/metric": metric
+"/dfareporting:v2.1/PathToConversionReportCompatibleFields/perInteractionDimensions": per_interaction_dimensions
+"/dfareporting:v2.1/PathToConversionReportCompatibleFields/perInteractionDimensions/per_interaction_dimension": per_interaction_dimension
+"/dfareporting:v2.1/Placement": placement
+"/dfareporting:v2.1/Placement/accountId": account_id
+"/dfareporting:v2.1/Placement/advertiserId": advertiser_id
+"/dfareporting:v2.1/Placement/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/Placement/archived": archived
+"/dfareporting:v2.1/Placement/campaignId": campaign_id
+"/dfareporting:v2.1/Placement/campaignIdDimensionValue": campaign_id_dimension_value
+"/dfareporting:v2.1/Placement/comment": comment
+"/dfareporting:v2.1/Placement/compatibility": compatibility
+"/dfareporting:v2.1/Placement/contentCategoryId": content_category_id
+"/dfareporting:v2.1/Placement/createInfo": create_info
+"/dfareporting:v2.1/Placement/directorySiteId": directory_site_id
+"/dfareporting:v2.1/Placement/directorySiteIdDimensionValue": directory_site_id_dimension_value
+"/dfareporting:v2.1/Placement/externalId": external_id
+"/dfareporting:v2.1/Placement/id": id
+"/dfareporting:v2.1/Placement/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/Placement/keyName": key_name
+"/dfareporting:v2.1/Placement/kind": kind
+"/dfareporting:v2.1/Placement/lastModifiedInfo": last_modified_info
+"/dfareporting:v2.1/Placement/lookbackConfiguration": lookback_configuration
+"/dfareporting:v2.1/Placement/name": name
+"/dfareporting:v2.1/Placement/paymentApproved": payment_approved
+"/dfareporting:v2.1/Placement/paymentSource": payment_source
+"/dfareporting:v2.1/Placement/placementGroupId": placement_group_id
+"/dfareporting:v2.1/Placement/placementGroupIdDimensionValue": placement_group_id_dimension_value
+"/dfareporting:v2.1/Placement/placementStrategyId": placement_strategy_id
+"/dfareporting:v2.1/Placement/pricingSchedule": pricing_schedule
+"/dfareporting:v2.1/Placement/primary": primary
+"/dfareporting:v2.1/Placement/publisherUpdateInfo": publisher_update_info
+"/dfareporting:v2.1/Placement/siteId": site_id
+"/dfareporting:v2.1/Placement/siteIdDimensionValue": site_id_dimension_value
+"/dfareporting:v2.1/Placement/size": size
+"/dfareporting:v2.1/Placement/sslRequired": ssl_required
+"/dfareporting:v2.1/Placement/status": status
+"/dfareporting:v2.1/Placement/subaccountId": subaccount_id
+"/dfareporting:v2.1/Placement/tagFormats": tag_formats
+"/dfareporting:v2.1/Placement/tagFormats/tag_format": tag_format
+"/dfareporting:v2.1/Placement/tagSetting": tag_setting
+"/dfareporting:v2.1/PlacementAssignment": placement_assignment
+"/dfareporting:v2.1/PlacementAssignment/active": active
+"/dfareporting:v2.1/PlacementAssignment/placementId": placement_id
+"/dfareporting:v2.1/PlacementAssignment/placementIdDimensionValue": placement_id_dimension_value
+"/dfareporting:v2.1/PlacementAssignment/sslRequired": ssl_required
+"/dfareporting:v2.1/PlacementGroup": placement_group
+"/dfareporting:v2.1/PlacementGroup/accountId": account_id
+"/dfareporting:v2.1/PlacementGroup/advertiserId": advertiser_id
+"/dfareporting:v2.1/PlacementGroup/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/PlacementGroup/archived": archived
+"/dfareporting:v2.1/PlacementGroup/campaignId": campaign_id
+"/dfareporting:v2.1/PlacementGroup/campaignIdDimensionValue": campaign_id_dimension_value
+"/dfareporting:v2.1/PlacementGroup/childPlacementIds": child_placement_ids
+"/dfareporting:v2.1/PlacementGroup/childPlacementIds/child_placement_id": child_placement_id
+"/dfareporting:v2.1/PlacementGroup/comment": comment
+"/dfareporting:v2.1/PlacementGroup/contentCategoryId": content_category_id
+"/dfareporting:v2.1/PlacementGroup/createInfo": create_info
+"/dfareporting:v2.1/PlacementGroup/directorySiteId": directory_site_id
+"/dfareporting:v2.1/PlacementGroup/directorySiteIdDimensionValue": directory_site_id_dimension_value
+"/dfareporting:v2.1/PlacementGroup/externalId": external_id
+"/dfareporting:v2.1/PlacementGroup/id": id
+"/dfareporting:v2.1/PlacementGroup/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/PlacementGroup/kind": kind
+"/dfareporting:v2.1/PlacementGroup/lastModifiedInfo": last_modified_info
+"/dfareporting:v2.1/PlacementGroup/name": name
+"/dfareporting:v2.1/PlacementGroup/placementGroupType": placement_group_type
+"/dfareporting:v2.1/PlacementGroup/placementStrategyId": placement_strategy_id
+"/dfareporting:v2.1/PlacementGroup/pricingSchedule": pricing_schedule
+"/dfareporting:v2.1/PlacementGroup/primaryPlacementId": primary_placement_id
+"/dfareporting:v2.1/PlacementGroup/primaryPlacementIdDimensionValue": primary_placement_id_dimension_value
+"/dfareporting:v2.1/PlacementGroup/programmaticSetting": programmatic_setting
+"/dfareporting:v2.1/PlacementGroup/siteId": site_id
+"/dfareporting:v2.1/PlacementGroup/siteIdDimensionValue": site_id_dimension_value
+"/dfareporting:v2.1/PlacementGroup/subaccountId": subaccount_id
+"/dfareporting:v2.1/PlacementGroupsListResponse/kind": kind
+"/dfareporting:v2.1/PlacementGroupsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/PlacementGroupsListResponse/placementGroups": placement_groups
+"/dfareporting:v2.1/PlacementGroupsListResponse/placementGroups/placement_group": placement_group
+"/dfareporting:v2.1/PlacementStrategiesListResponse/kind": kind
+"/dfareporting:v2.1/PlacementStrategiesListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/PlacementStrategiesListResponse/placementStrategies": placement_strategies
+"/dfareporting:v2.1/PlacementStrategiesListResponse/placementStrategies/placement_strategy": placement_strategy
+"/dfareporting:v2.1/PlacementStrategy": placement_strategy
+"/dfareporting:v2.1/PlacementStrategy/accountId": account_id
+"/dfareporting:v2.1/PlacementStrategy/id": id
+"/dfareporting:v2.1/PlacementStrategy/kind": kind
+"/dfareporting:v2.1/PlacementStrategy/name": name
+"/dfareporting:v2.1/PlacementTag": placement_tag
+"/dfareporting:v2.1/PlacementTag/placementId": placement_id
+"/dfareporting:v2.1/PlacementTag/tagDatas": tag_datas
+"/dfareporting:v2.1/PlacementTag/tagDatas/tag_data": tag_data
+"/dfareporting:v2.1/PlacementsGenerateTagsResponse/kind": kind
+"/dfareporting:v2.1/PlacementsGenerateTagsResponse/placementTags": placement_tags
+"/dfareporting:v2.1/PlacementsGenerateTagsResponse/placementTags/placement_tag": placement_tag
+"/dfareporting:v2.1/PlacementsListResponse/kind": kind
+"/dfareporting:v2.1/PlacementsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/PlacementsListResponse/placements": placements
+"/dfareporting:v2.1/PlacementsListResponse/placements/placement": placement
+"/dfareporting:v2.1/PlatformType": platform_type
+"/dfareporting:v2.1/PlatformType/id": id
+"/dfareporting:v2.1/PlatformType/kind": kind
+"/dfareporting:v2.1/PlatformType/name": name
+"/dfareporting:v2.1/PlatformTypesListResponse/kind": kind
+"/dfareporting:v2.1/PlatformTypesListResponse/platformTypes": platform_types
+"/dfareporting:v2.1/PlatformTypesListResponse/platformTypes/platform_type": platform_type
+"/dfareporting:v2.1/PopupWindowProperties": popup_window_properties
+"/dfareporting:v2.1/PopupWindowProperties/dimension": dimension
+"/dfareporting:v2.1/PopupWindowProperties/offset": offset
+"/dfareporting:v2.1/PopupWindowProperties/positionType": position_type
+"/dfareporting:v2.1/PopupWindowProperties/showAddressBar": show_address_bar
+"/dfareporting:v2.1/PopupWindowProperties/showMenuBar": show_menu_bar
+"/dfareporting:v2.1/PopupWindowProperties/showScrollBar": show_scroll_bar
+"/dfareporting:v2.1/PopupWindowProperties/showStatusBar": show_status_bar
+"/dfareporting:v2.1/PopupWindowProperties/showToolBar": show_tool_bar
+"/dfareporting:v2.1/PopupWindowProperties/title": title
+"/dfareporting:v2.1/PostalCode": postal_code
+"/dfareporting:v2.1/PostalCode/code": code
+"/dfareporting:v2.1/PostalCode/countryCode": country_code
+"/dfareporting:v2.1/PostalCode/countryDartId": country_dart_id
+"/dfareporting:v2.1/PostalCode/id": id
+"/dfareporting:v2.1/PostalCode/kind": kind
+"/dfareporting:v2.1/PostalCodesListResponse/kind": kind
+"/dfareporting:v2.1/PostalCodesListResponse/postalCodes": postal_codes
+"/dfareporting:v2.1/PostalCodesListResponse/postalCodes/postal_code": postal_code
+"/dfareporting:v2.1/Pricing": pricing
+"/dfareporting:v2.1/Pricing/capCostType": cap_cost_type
+"/dfareporting:v2.1/Pricing/endDate": end_date
+"/dfareporting:v2.1/Pricing/flights": flights
+"/dfareporting:v2.1/Pricing/flights/flight": flight
+"/dfareporting:v2.1/Pricing/groupType": group_type
+"/dfareporting:v2.1/Pricing/pricingType": pricing_type
+"/dfareporting:v2.1/Pricing/startDate": start_date
+"/dfareporting:v2.1/PricingSchedule": pricing_schedule
+"/dfareporting:v2.1/PricingSchedule/capCostOption": cap_cost_option
+"/dfareporting:v2.1/PricingSchedule/disregardOverdelivery": disregard_overdelivery
+"/dfareporting:v2.1/PricingSchedule/endDate": end_date
+"/dfareporting:v2.1/PricingSchedule/flighted": flighted
+"/dfareporting:v2.1/PricingSchedule/floodlightActivityId": floodlight_activity_id
+"/dfareporting:v2.1/PricingSchedule/pricingPeriods": pricing_periods
+"/dfareporting:v2.1/PricingSchedule/pricingPeriods/pricing_period": pricing_period
+"/dfareporting:v2.1/PricingSchedule/pricingType": pricing_type
+"/dfareporting:v2.1/PricingSchedule/startDate": start_date
+"/dfareporting:v2.1/PricingSchedule/testingStartDate": testing_start_date
+"/dfareporting:v2.1/PricingSchedulePricingPeriod": pricing_schedule_pricing_period
+"/dfareporting:v2.1/PricingSchedulePricingPeriod/endDate": end_date
+"/dfareporting:v2.1/PricingSchedulePricingPeriod/pricingComment": pricing_comment
+"/dfareporting:v2.1/PricingSchedulePricingPeriod/rateOrCostNanos": rate_or_cost_nanos
+"/dfareporting:v2.1/PricingSchedulePricingPeriod/startDate": start_date
+"/dfareporting:v2.1/PricingSchedulePricingPeriod/units": units
+"/dfareporting:v2.1/ProgrammaticSetting": programmatic_setting
+"/dfareporting:v2.1/ProgrammaticSetting/adxDealIds": adx_deal_ids
+"/dfareporting:v2.1/ProgrammaticSetting/adxDealIds/adx_deal_id": adx_deal_id
+"/dfareporting:v2.1/ProgrammaticSetting/insertionOrderId": insertion_order_id
+"/dfareporting:v2.1/ProgrammaticSetting/insertionOrderIdStatus": insertion_order_id_status
+"/dfareporting:v2.1/ProgrammaticSetting/mediaCostNanos": media_cost_nanos
+"/dfareporting:v2.1/ProgrammaticSetting/programmatic": programmatic
+"/dfareporting:v2.1/ProgrammaticSetting/traffickerEmails": trafficker_emails
+"/dfareporting:v2.1/ProgrammaticSetting/traffickerEmails/trafficker_email": trafficker_email
+"/dfareporting:v2.1/Project": project
+"/dfareporting:v2.1/Project/accountId": account_id
+"/dfareporting:v2.1/Project/advertiserId": advertiser_id
+"/dfareporting:v2.1/Project/audienceAgeGroup": audience_age_group
+"/dfareporting:v2.1/Project/audienceGender": audience_gender
+"/dfareporting:v2.1/Project/budget": budget
+"/dfareporting:v2.1/Project/clientBillingCode": client_billing_code
+"/dfareporting:v2.1/Project/clientName": client_name
+"/dfareporting:v2.1/Project/endDate": end_date
+"/dfareporting:v2.1/Project/id": id
+"/dfareporting:v2.1/Project/kind": kind
+"/dfareporting:v2.1/Project/lastModifiedInfo": last_modified_info
+"/dfareporting:v2.1/Project/name": name
+"/dfareporting:v2.1/Project/overview": overview
+"/dfareporting:v2.1/Project/startDate": start_date
+"/dfareporting:v2.1/Project/subaccountId": subaccount_id
+"/dfareporting:v2.1/Project/targetClicks": target_clicks
+"/dfareporting:v2.1/Project/targetConversions": target_conversions
+"/dfareporting:v2.1/Project/targetCpaNanos": target_cpa_nanos
+"/dfareporting:v2.1/Project/targetCpcNanos": target_cpc_nanos
+"/dfareporting:v2.1/Project/targetCpmNanos": target_cpm_nanos
+"/dfareporting:v2.1/Project/targetImpressions": target_impressions
+"/dfareporting:v2.1/ProjectsListResponse/kind": kind
+"/dfareporting:v2.1/ProjectsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/ProjectsListResponse/projects": projects
+"/dfareporting:v2.1/ProjectsListResponse/projects/project": project
+"/dfareporting:v2.1/ReachReportCompatibleFields": reach_report_compatible_fields
+"/dfareporting:v2.1/ReachReportCompatibleFields/dimensionFilters": dimension_filters
+"/dfareporting:v2.1/ReachReportCompatibleFields/dimensionFilters/dimension_filter": dimension_filter
+"/dfareporting:v2.1/ReachReportCompatibleFields/dimensions": dimensions
+"/dfareporting:v2.1/ReachReportCompatibleFields/dimensions/dimension": dimension
+"/dfareporting:v2.1/ReachReportCompatibleFields/kind": kind
+"/dfareporting:v2.1/ReachReportCompatibleFields/metrics": metrics
+"/dfareporting:v2.1/ReachReportCompatibleFields/metrics/metric": metric
+"/dfareporting:v2.1/ReachReportCompatibleFields/pivotedActivityMetrics": pivoted_activity_metrics
+"/dfareporting:v2.1/ReachReportCompatibleFields/pivotedActivityMetrics/pivoted_activity_metric": pivoted_activity_metric
+"/dfareporting:v2.1/ReachReportCompatibleFields/reachByFrequencyMetrics": reach_by_frequency_metrics
+"/dfareporting:v2.1/ReachReportCompatibleFields/reachByFrequencyMetrics/reach_by_frequency_metric": reach_by_frequency_metric
+"/dfareporting:v2.1/Recipient": recipient
+"/dfareporting:v2.1/Recipient/deliveryType": delivery_type
+"/dfareporting:v2.1/Recipient/email": email
+"/dfareporting:v2.1/Recipient/kind": kind
+"/dfareporting:v2.1/Region": region
+"/dfareporting:v2.1/Region/countryCode": country_code
+"/dfareporting:v2.1/Region/countryDartId": country_dart_id
+"/dfareporting:v2.1/Region/dartId": dart_id
+"/dfareporting:v2.1/Region/kind": kind
+"/dfareporting:v2.1/Region/name": name
+"/dfareporting:v2.1/Region/regionCode": region_code
+"/dfareporting:v2.1/RegionsListResponse/kind": kind
+"/dfareporting:v2.1/RegionsListResponse/regions": regions
+"/dfareporting:v2.1/RegionsListResponse/regions/region": region
+"/dfareporting:v2.1/RemarketingList": remarketing_list
+"/dfareporting:v2.1/RemarketingList/accountId": account_id
+"/dfareporting:v2.1/RemarketingList/active": active
+"/dfareporting:v2.1/RemarketingList/advertiserId": advertiser_id
+"/dfareporting:v2.1/RemarketingList/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/RemarketingList/description": description
+"/dfareporting:v2.1/RemarketingList/id": id
+"/dfareporting:v2.1/RemarketingList/kind": kind
+"/dfareporting:v2.1/RemarketingList/lifeSpan": life_span
+"/dfareporting:v2.1/RemarketingList/listPopulationRule": list_population_rule
+"/dfareporting:v2.1/RemarketingList/listSize": list_size
+"/dfareporting:v2.1/RemarketingList/listSource": list_source
+"/dfareporting:v2.1/RemarketingList/name": name
+"/dfareporting:v2.1/RemarketingList/subaccountId": subaccount_id
+"/dfareporting:v2.1/RemarketingListShare": remarketing_list_share
+"/dfareporting:v2.1/RemarketingListShare/kind": kind
+"/dfareporting:v2.1/RemarketingListShare/remarketingListId": remarketing_list_id
+"/dfareporting:v2.1/RemarketingListShare/sharedAccountIds": shared_account_ids
+"/dfareporting:v2.1/RemarketingListShare/sharedAccountIds/shared_account_id": shared_account_id
+"/dfareporting:v2.1/RemarketingListShare/sharedAdvertiserIds": shared_advertiser_ids
+"/dfareporting:v2.1/RemarketingListShare/sharedAdvertiserIds/shared_advertiser_id": shared_advertiser_id
+"/dfareporting:v2.1/RemarketingListsListResponse/kind": kind
+"/dfareporting:v2.1/RemarketingListsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/RemarketingListsListResponse/remarketingLists": remarketing_lists
+"/dfareporting:v2.1/RemarketingListsListResponse/remarketingLists/remarketing_list": remarketing_list
+"/dfareporting:v2.1/Report": report
+"/dfareporting:v2.1/Report/accountId": account_id
+"/dfareporting:v2.1/Report/criteria": criteria
+"/dfareporting:v2.1/Report/criteria/activities": activities
+"/dfareporting:v2.1/Report/criteria/customRichMediaEvents": custom_rich_media_events
+"/dfareporting:v2.1/Report/criteria/dateRange": date_range
+"/dfareporting:v2.1/Report/criteria/dimensionFilters": dimension_filters
+"/dfareporting:v2.1/Report/criteria/dimensionFilters/dimension_filter": dimension_filter
+"/dfareporting:v2.1/Report/criteria/dimensions": dimensions
+"/dfareporting:v2.1/Report/criteria/dimensions/dimension": dimension
+"/dfareporting:v2.1/Report/criteria/metricNames": metric_names
+"/dfareporting:v2.1/Report/criteria/metricNames/metric_name": metric_name
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria": cross_dimension_reach_criteria
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/breakdown": breakdown
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/breakdown/breakdown": breakdown
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/dateRange": date_range
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/dimension": dimension
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/dimensionFilters": dimension_filters
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/dimensionFilters/dimension_filter": dimension_filter
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/metricNames": metric_names
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/metricNames/metric_name": metric_name
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/overlapMetricNames": overlap_metric_names
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/overlapMetricNames/overlap_metric_name": overlap_metric_name
+"/dfareporting:v2.1/Report/crossDimensionReachCriteria/pivoted": pivoted
+"/dfareporting:v2.1/Report/delivery": delivery
+"/dfareporting:v2.1/Report/delivery/emailOwner": email_owner
+"/dfareporting:v2.1/Report/delivery/emailOwnerDeliveryType": email_owner_delivery_type
+"/dfareporting:v2.1/Report/delivery/message": message
+"/dfareporting:v2.1/Report/delivery/recipients": recipients
+"/dfareporting:v2.1/Report/delivery/recipients/recipient": recipient
+"/dfareporting:v2.1/Report/etag": etag
+"/dfareporting:v2.1/Report/fileName": file_name
+"/dfareporting:v2.1/Report/floodlightCriteria": floodlight_criteria
+"/dfareporting:v2.1/Report/floodlightCriteria/customRichMediaEvents": custom_rich_media_events
+"/dfareporting:v2.1/Report/floodlightCriteria/customRichMediaEvents/custom_rich_media_event": custom_rich_media_event
+"/dfareporting:v2.1/Report/floodlightCriteria/dateRange": date_range
+"/dfareporting:v2.1/Report/floodlightCriteria/dimensionFilters": dimension_filters
+"/dfareporting:v2.1/Report/floodlightCriteria/dimensionFilters/dimension_filter": dimension_filter
+"/dfareporting:v2.1/Report/floodlightCriteria/dimensions": dimensions
+"/dfareporting:v2.1/Report/floodlightCriteria/dimensions/dimension": dimension
+"/dfareporting:v2.1/Report/floodlightCriteria/floodlightConfigId": floodlight_config_id
+"/dfareporting:v2.1/Report/floodlightCriteria/metricNames": metric_names
+"/dfareporting:v2.1/Report/floodlightCriteria/metricNames/metric_name": metric_name
+"/dfareporting:v2.1/Report/floodlightCriteria/reportProperties": report_properties
+"/dfareporting:v2.1/Report/floodlightCriteria/reportProperties/includeAttributedIPConversions": include_attributed_ip_conversions
+"/dfareporting:v2.1/Report/floodlightCriteria/reportProperties/includeUnattributedCookieConversions": include_unattributed_cookie_conversions
+"/dfareporting:v2.1/Report/floodlightCriteria/reportProperties/includeUnattributedIPConversions": include_unattributed_ip_conversions
+"/dfareporting:v2.1/Report/format": format
+"/dfareporting:v2.1/Report/id": id
+"/dfareporting:v2.1/Report/kind": kind
+"/dfareporting:v2.1/Report/lastModifiedTime": last_modified_time
+"/dfareporting:v2.1/Report/name": name
+"/dfareporting:v2.1/Report/ownerProfileId": owner_profile_id
+"/dfareporting:v2.1/Report/pathToConversionCriteria": path_to_conversion_criteria
+"/dfareporting:v2.1/Report/pathToConversionCriteria/activityFilters": activity_filters
+"/dfareporting:v2.1/Report/pathToConversionCriteria/activityFilters/activity_filter": activity_filter
+"/dfareporting:v2.1/Report/pathToConversionCriteria/conversionDimensions": conversion_dimensions
+"/dfareporting:v2.1/Report/pathToConversionCriteria/conversionDimensions/conversion_dimension": conversion_dimension
+"/dfareporting:v2.1/Report/pathToConversionCriteria/customFloodlightVariables": custom_floodlight_variables
+"/dfareporting:v2.1/Report/pathToConversionCriteria/customFloodlightVariables/custom_floodlight_variable": custom_floodlight_variable
+"/dfareporting:v2.1/Report/pathToConversionCriteria/customRichMediaEvents": custom_rich_media_events
+"/dfareporting:v2.1/Report/pathToConversionCriteria/customRichMediaEvents/custom_rich_media_event": custom_rich_media_event
+"/dfareporting:v2.1/Report/pathToConversionCriteria/dateRange": date_range
+"/dfareporting:v2.1/Report/pathToConversionCriteria/floodlightConfigId": floodlight_config_id
+"/dfareporting:v2.1/Report/pathToConversionCriteria/metricNames": metric_names
+"/dfareporting:v2.1/Report/pathToConversionCriteria/metricNames/metric_name": metric_name
+"/dfareporting:v2.1/Report/pathToConversionCriteria/perInteractionDimensions": per_interaction_dimensions
+"/dfareporting:v2.1/Report/pathToConversionCriteria/perInteractionDimensions/per_interaction_dimension": per_interaction_dimension
+"/dfareporting:v2.1/Report/pathToConversionCriteria/reportProperties": report_properties
+"/dfareporting:v2.1/Report/pathToConversionCriteria/reportProperties/clicksLookbackWindow": clicks_lookback_window
+"/dfareporting:v2.1/Report/pathToConversionCriteria/reportProperties/impressionsLookbackWindow": impressions_lookback_window
+"/dfareporting:v2.1/Report/pathToConversionCriteria/reportProperties/includeAttributedIPConversions": include_attributed_ip_conversions
+"/dfareporting:v2.1/Report/pathToConversionCriteria/reportProperties/includeUnattributedCookieConversions": include_unattributed_cookie_conversions
+"/dfareporting:v2.1/Report/pathToConversionCriteria/reportProperties/includeUnattributedIPConversions": include_unattributed_ip_conversions
+"/dfareporting:v2.1/Report/pathToConversionCriteria/reportProperties/maximumClickInteractions": maximum_click_interactions
+"/dfareporting:v2.1/Report/pathToConversionCriteria/reportProperties/maximumImpressionInteractions": maximum_impression_interactions
+"/dfareporting:v2.1/Report/pathToConversionCriteria/reportProperties/maximumInteractionGap": maximum_interaction_gap
+"/dfareporting:v2.1/Report/pathToConversionCriteria/reportProperties/pivotOnInteractionPath": pivot_on_interaction_path
+"/dfareporting:v2.1/Report/reachCriteria": reach_criteria
+"/dfareporting:v2.1/Report/reachCriteria/activities": activities
+"/dfareporting:v2.1/Report/reachCriteria/customRichMediaEvents": custom_rich_media_events
+"/dfareporting:v2.1/Report/reachCriteria/dateRange": date_range
+"/dfareporting:v2.1/Report/reachCriteria/dimensionFilters": dimension_filters
+"/dfareporting:v2.1/Report/reachCriteria/dimensionFilters/dimension_filter": dimension_filter
+"/dfareporting:v2.1/Report/reachCriteria/dimensions": dimensions
+"/dfareporting:v2.1/Report/reachCriteria/dimensions/dimension": dimension
+"/dfareporting:v2.1/Report/reachCriteria/enableAllDimensionCombinations": enable_all_dimension_combinations
+"/dfareporting:v2.1/Report/reachCriteria/metricNames": metric_names
+"/dfareporting:v2.1/Report/reachCriteria/metricNames/metric_name": metric_name
+"/dfareporting:v2.1/Report/reachCriteria/reachByFrequencyMetricNames": reach_by_frequency_metric_names
+"/dfareporting:v2.1/Report/reachCriteria/reachByFrequencyMetricNames/reach_by_frequency_metric_name": reach_by_frequency_metric_name
+"/dfareporting:v2.1/Report/schedule": schedule
+"/dfareporting:v2.1/Report/schedule/active": active
+"/dfareporting:v2.1/Report/schedule/every": every
+"/dfareporting:v2.1/Report/schedule/expirationDate": expiration_date
+"/dfareporting:v2.1/Report/schedule/repeats": repeats
+"/dfareporting:v2.1/Report/schedule/repeatsOnWeekDays": repeats_on_week_days
+"/dfareporting:v2.1/Report/schedule/repeatsOnWeekDays/repeats_on_week_day": repeats_on_week_day
+"/dfareporting:v2.1/Report/schedule/runsOnDayOfMonth": runs_on_day_of_month
+"/dfareporting:v2.1/Report/schedule/startDate": start_date
+"/dfareporting:v2.1/Report/subAccountId": sub_account_id
+"/dfareporting:v2.1/Report/type": type
+"/dfareporting:v2.1/ReportCompatibleFields": report_compatible_fields
+"/dfareporting:v2.1/ReportCompatibleFields/dimensionFilters": dimension_filters
+"/dfareporting:v2.1/ReportCompatibleFields/dimensionFilters/dimension_filter": dimension_filter
+"/dfareporting:v2.1/ReportCompatibleFields/dimensions": dimensions
+"/dfareporting:v2.1/ReportCompatibleFields/dimensions/dimension": dimension
+"/dfareporting:v2.1/ReportCompatibleFields/kind": kind
+"/dfareporting:v2.1/ReportCompatibleFields/metrics": metrics
+"/dfareporting:v2.1/ReportCompatibleFields/metrics/metric": metric
+"/dfareporting:v2.1/ReportCompatibleFields/pivotedActivityMetrics": pivoted_activity_metrics
+"/dfareporting:v2.1/ReportCompatibleFields/pivotedActivityMetrics/pivoted_activity_metric": pivoted_activity_metric
+"/dfareporting:v2.1/ReportList": report_list
+"/dfareporting:v2.1/ReportList/etag": etag
+"/dfareporting:v2.1/ReportList/items": items
+"/dfareporting:v2.1/ReportList/items/item": item
+"/dfareporting:v2.1/ReportList/kind": kind
+"/dfareporting:v2.1/ReportList/nextPageToken": next_page_token
+"/dfareporting:v2.1/ReportsConfiguration": reports_configuration
+"/dfareporting:v2.1/ReportsConfiguration/exposureToConversionEnabled": exposure_to_conversion_enabled
+"/dfareporting:v2.1/ReportsConfiguration/lookbackConfiguration": lookback_configuration
+"/dfareporting:v2.1/ReportsConfiguration/reportGenerationTimeZoneId": report_generation_time_zone_id
+"/dfareporting:v2.1/RichMediaExitOverride": rich_media_exit_override
+"/dfareporting:v2.1/RichMediaExitOverride/customExitUrl": custom_exit_url
+"/dfareporting:v2.1/RichMediaExitOverride/exitId": exit_id
+"/dfareporting:v2.1/RichMediaExitOverride/useCustomExitUrl": use_custom_exit_url
+"/dfareporting:v2.1/Site": site
+"/dfareporting:v2.1/Site/accountId": account_id
+"/dfareporting:v2.1/Site/approved": approved
+"/dfareporting:v2.1/Site/directorySiteId": directory_site_id
+"/dfareporting:v2.1/Site/directorySiteIdDimensionValue": directory_site_id_dimension_value
+"/dfareporting:v2.1/Site/id": id
+"/dfareporting:v2.1/Site/idDimensionValue": id_dimension_value
+"/dfareporting:v2.1/Site/keyName": key_name
+"/dfareporting:v2.1/Site/kind": kind
+"/dfareporting:v2.1/Site/name": name
+"/dfareporting:v2.1/Site/siteContacts": site_contacts
+"/dfareporting:v2.1/Site/siteContacts/site_contact": site_contact
+"/dfareporting:v2.1/Site/siteSettings": site_settings
+"/dfareporting:v2.1/Site/subaccountId": subaccount_id
+"/dfareporting:v2.1/SiteContact": site_contact
+"/dfareporting:v2.1/SiteContact/address": address
+"/dfareporting:v2.1/SiteContact/contactType": contact_type
+"/dfareporting:v2.1/SiteContact/email": email
+"/dfareporting:v2.1/SiteContact/firstName": first_name
+"/dfareporting:v2.1/SiteContact/id": id
+"/dfareporting:v2.1/SiteContact/lastName": last_name
+"/dfareporting:v2.1/SiteContact/phone": phone
+"/dfareporting:v2.1/SiteContact/title": title
+"/dfareporting:v2.1/SiteSettings": site_settings
+"/dfareporting:v2.1/SiteSettings/activeViewOptOut": active_view_opt_out
+"/dfareporting:v2.1/SiteSettings/creativeSettings": creative_settings
+"/dfareporting:v2.1/SiteSettings/disableBrandSafeAds": disable_brand_safe_ads
+"/dfareporting:v2.1/SiteSettings/disableNewCookie": disable_new_cookie
+"/dfareporting:v2.1/SiteSettings/lookbackConfiguration": lookback_configuration
+"/dfareporting:v2.1/SiteSettings/tagSetting": tag_setting
+"/dfareporting:v2.1/SitesListResponse/kind": kind
+"/dfareporting:v2.1/SitesListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/SitesListResponse/sites": sites
+"/dfareporting:v2.1/SitesListResponse/sites/site": site
+"/dfareporting:v2.1/Size": size
+"/dfareporting:v2.1/Size/height": height
+"/dfareporting:v2.1/Size/iab": iab
+"/dfareporting:v2.1/Size/id": id
+"/dfareporting:v2.1/Size/kind": kind
+"/dfareporting:v2.1/Size/width": width
+"/dfareporting:v2.1/SizesListResponse/kind": kind
+"/dfareporting:v2.1/SizesListResponse/sizes": sizes
+"/dfareporting:v2.1/SizesListResponse/sizes/size": size
+"/dfareporting:v2.1/SortedDimension": sorted_dimension
+"/dfareporting:v2.1/SortedDimension/kind": kind
+"/dfareporting:v2.1/SortedDimension/name": name
+"/dfareporting:v2.1/SortedDimension/sortOrder": sort_order
+"/dfareporting:v2.1/Subaccount": subaccount
+"/dfareporting:v2.1/Subaccount/accountId": account_id
+"/dfareporting:v2.1/Subaccount/availablePermissionIds": available_permission_ids
+"/dfareporting:v2.1/Subaccount/availablePermissionIds/available_permission_id": available_permission_id
+"/dfareporting:v2.1/Subaccount/id": id
+"/dfareporting:v2.1/Subaccount/kind": kind
+"/dfareporting:v2.1/Subaccount/name": name
+"/dfareporting:v2.1/SubaccountsListResponse/kind": kind
+"/dfareporting:v2.1/SubaccountsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/SubaccountsListResponse/subaccounts": subaccounts
+"/dfareporting:v2.1/SubaccountsListResponse/subaccounts/subaccount": subaccount
+"/dfareporting:v2.1/TagData": tag_data
+"/dfareporting:v2.1/TagData/adId": ad_id
+"/dfareporting:v2.1/TagData/clickTag": click_tag
+"/dfareporting:v2.1/TagData/creativeId": creative_id
+"/dfareporting:v2.1/TagData/format": format
+"/dfareporting:v2.1/TagData/impressionTag": impression_tag
+"/dfareporting:v2.1/TagSetting": tag_setting
+"/dfareporting:v2.1/TagSetting/additionalKeyValues": additional_key_values
+"/dfareporting:v2.1/TagSetting/includeClickThroughUrls": include_click_through_urls
+"/dfareporting:v2.1/TagSetting/includeClickTracking": include_click_tracking
+"/dfareporting:v2.1/TagSetting/keywordOption": keyword_option
+"/dfareporting:v2.1/TagSettings": tag_settings
+"/dfareporting:v2.1/TagSettings/dynamicTagEnabled": dynamic_tag_enabled
+"/dfareporting:v2.1/TagSettings/imageTagEnabled": image_tag_enabled
+"/dfareporting:v2.1/TargetWindow": target_window
+"/dfareporting:v2.1/TargetWindow/customHtml": custom_html
+"/dfareporting:v2.1/TargetWindow/targetWindowOption": target_window_option
+"/dfareporting:v2.1/TargetableRemarketingList": targetable_remarketing_list
+"/dfareporting:v2.1/TargetableRemarketingList/accountId": account_id
+"/dfareporting:v2.1/TargetableRemarketingList/active": active
+"/dfareporting:v2.1/TargetableRemarketingList/advertiserId": advertiser_id
+"/dfareporting:v2.1/TargetableRemarketingList/advertiserIdDimensionValue": advertiser_id_dimension_value
+"/dfareporting:v2.1/TargetableRemarketingList/description": description
+"/dfareporting:v2.1/TargetableRemarketingList/id": id
+"/dfareporting:v2.1/TargetableRemarketingList/kind": kind
+"/dfareporting:v2.1/TargetableRemarketingList/lifeSpan": life_span
+"/dfareporting:v2.1/TargetableRemarketingList/listSize": list_size
+"/dfareporting:v2.1/TargetableRemarketingList/listSource": list_source
+"/dfareporting:v2.1/TargetableRemarketingList/name": name
+"/dfareporting:v2.1/TargetableRemarketingList/subaccountId": subaccount_id
+"/dfareporting:v2.1/TargetableRemarketingListsListResponse/kind": kind
+"/dfareporting:v2.1/TargetableRemarketingListsListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/TargetableRemarketingListsListResponse/targetableRemarketingLists": targetable_remarketing_lists
+"/dfareporting:v2.1/TargetableRemarketingListsListResponse/targetableRemarketingLists/targetable_remarketing_list": targetable_remarketing_list
+"/dfareporting:v2.1/TechnologyTargeting": technology_targeting
+"/dfareporting:v2.1/TechnologyTargeting/browsers": browsers
+"/dfareporting:v2.1/TechnologyTargeting/browsers/browser": browser
+"/dfareporting:v2.1/TechnologyTargeting/connectionTypes": connection_types
+"/dfareporting:v2.1/TechnologyTargeting/connectionTypes/connection_type": connection_type
+"/dfareporting:v2.1/TechnologyTargeting/mobileCarriers": mobile_carriers
+"/dfareporting:v2.1/TechnologyTargeting/mobileCarriers/mobile_carrier": mobile_carrier
+"/dfareporting:v2.1/TechnologyTargeting/operatingSystemVersions": operating_system_versions
+"/dfareporting:v2.1/TechnologyTargeting/operatingSystemVersions/operating_system_version": operating_system_version
+"/dfareporting:v2.1/TechnologyTargeting/operatingSystems": operating_systems
+"/dfareporting:v2.1/TechnologyTargeting/operatingSystems/operating_system": operating_system
+"/dfareporting:v2.1/TechnologyTargeting/platformTypes": platform_types
+"/dfareporting:v2.1/TechnologyTargeting/platformTypes/platform_type": platform_type
+"/dfareporting:v2.1/ThirdPartyTrackingUrl": third_party_tracking_url
+"/dfareporting:v2.1/ThirdPartyTrackingUrl/thirdPartyUrlType": third_party_url_type
+"/dfareporting:v2.1/ThirdPartyTrackingUrl/url": url
+"/dfareporting:v2.1/UserDefinedVariableConfiguration": user_defined_variable_configuration
+"/dfareporting:v2.1/UserDefinedVariableConfiguration/dataType": data_type
+"/dfareporting:v2.1/UserDefinedVariableConfiguration/reportName": report_name
+"/dfareporting:v2.1/UserDefinedVariableConfiguration/variableType": variable_type
+"/dfareporting:v2.1/UserProfile": user_profile
+"/dfareporting:v2.1/UserProfile/accountId": account_id
+"/dfareporting:v2.1/UserProfile/accountName": account_name
+"/dfareporting:v2.1/UserProfile/etag": etag
+"/dfareporting:v2.1/UserProfile/kind": kind
+"/dfareporting:v2.1/UserProfile/profileId": profile_id
+"/dfareporting:v2.1/UserProfile/subAccountId": sub_account_id
+"/dfareporting:v2.1/UserProfile/subAccountName": sub_account_name
+"/dfareporting:v2.1/UserProfile/userName": user_name
+"/dfareporting:v2.1/UserProfileList": user_profile_list
+"/dfareporting:v2.1/UserProfileList/etag": etag
+"/dfareporting:v2.1/UserProfileList/items": items
+"/dfareporting:v2.1/UserProfileList/items/item": item
+"/dfareporting:v2.1/UserProfileList/kind": kind
+"/dfareporting:v2.1/UserRole": user_role
+"/dfareporting:v2.1/UserRole/accountId": account_id
+"/dfareporting:v2.1/UserRole/defaultUserRole": default_user_role
+"/dfareporting:v2.1/UserRole/id": id
+"/dfareporting:v2.1/UserRole/kind": kind
+"/dfareporting:v2.1/UserRole/name": name
+"/dfareporting:v2.1/UserRole/parentUserRoleId": parent_user_role_id
+"/dfareporting:v2.1/UserRole/permissions": permissions
+"/dfareporting:v2.1/UserRole/permissions/permission": permission
+"/dfareporting:v2.1/UserRole/subaccountId": subaccount_id
+"/dfareporting:v2.1/UserRolePermission": user_role_permission
+"/dfareporting:v2.1/UserRolePermission/availability": availability
+"/dfareporting:v2.1/UserRolePermission/id": id
+"/dfareporting:v2.1/UserRolePermission/kind": kind
+"/dfareporting:v2.1/UserRolePermission/name": name
+"/dfareporting:v2.1/UserRolePermission/permissionGroupId": permission_group_id
+"/dfareporting:v2.1/UserRolePermissionGroup": user_role_permission_group
+"/dfareporting:v2.1/UserRolePermissionGroup/id": id
+"/dfareporting:v2.1/UserRolePermissionGroup/kind": kind
+"/dfareporting:v2.1/UserRolePermissionGroup/name": name
+"/dfareporting:v2.1/UserRolePermissionGroupsListResponse/kind": kind
+"/dfareporting:v2.1/UserRolePermissionGroupsListResponse/userRolePermissionGroups": user_role_permission_groups
+"/dfareporting:v2.1/UserRolePermissionGroupsListResponse/userRolePermissionGroups/user_role_permission_group": user_role_permission_group
+"/dfareporting:v2.1/UserRolePermissionsListResponse/kind": kind
+"/dfareporting:v2.1/UserRolePermissionsListResponse/userRolePermissions": user_role_permissions
+"/dfareporting:v2.1/UserRolePermissionsListResponse/userRolePermissions/user_role_permission": user_role_permission
+"/dfareporting:v2.1/UserRolesListResponse/kind": kind
+"/dfareporting:v2.1/UserRolesListResponse/nextPageToken": next_page_token
+"/dfareporting:v2.1/UserRolesListResponse/userRoles": user_roles
+"/dfareporting:v2.1/UserRolesListResponse/userRoles/user_role": user_role
+"/discovery:v1/fields": fields
+"/discovery:v1/key": key
+"/discovery:v1/quotaUser": quota_user
+"/discovery:v1/userIp": user_ip
+"/discovery:v1/discovery.apis.getRest": get_rest_api
+"/discovery:v1/discovery.apis.getRest/api": api
+"/discovery:v1/discovery.apis.getRest/version": version
+"/discovery:v1/discovery.apis.list": list_apis
+"/discovery:v1/discovery.apis.list/name": name
+"/discovery:v1/discovery.apis.list/preferred": preferred
+"/discovery:v1/DirectoryList": directory_list
+"/discovery:v1/DirectoryList/discoveryVersion": discovery_version
+"/discovery:v1/DirectoryList/items": items
+"/discovery:v1/DirectoryList/items/item": item
+"/discovery:v1/DirectoryList/items/item/description": description
+"/discovery:v1/DirectoryList/items/item/discoveryLink": discovery_link
+"/discovery:v1/DirectoryList/items/item/discoveryRestUrl": discovery_rest_url
+"/discovery:v1/DirectoryList/items/item/documentationLink": documentation_link
+"/discovery:v1/DirectoryList/items/item/icons": icons
+"/discovery:v1/DirectoryList/items/item/icons/x16": x16
+"/discovery:v1/DirectoryList/items/item/icons/x32": x32
+"/discovery:v1/DirectoryList/items/item/id": id
+"/discovery:v1/DirectoryList/items/item/kind": kind
+"/discovery:v1/DirectoryList/items/item/labels": labels
+"/discovery:v1/DirectoryList/items/item/labels/label": label
+"/discovery:v1/DirectoryList/items/item/name": name
+"/discovery:v1/DirectoryList/items/item/preferred": preferred
+"/discovery:v1/DirectoryList/items/item/title": title
+"/discovery:v1/DirectoryList/items/item/version": version
+"/discovery:v1/DirectoryList/kind": kind
+"/discovery:v1/JsonSchema": json_schema
+"/discovery:v1/JsonSchema/$ref": _ref
+"/discovery:v1/JsonSchema/additionalProperties": additional_properties
+"/discovery:v1/JsonSchema/annotations": annotations
+"/discovery:v1/JsonSchema/annotations/required": required
+"/discovery:v1/JsonSchema/annotations/required/required": required
+"/discovery:v1/JsonSchema/default": default
+"/discovery:v1/JsonSchema/description": description
+"/discovery:v1/JsonSchema/enum": enum
+"/discovery:v1/JsonSchema/enum/enum": enum
+"/discovery:v1/JsonSchema/enumDescriptions": enum_descriptions
+"/discovery:v1/JsonSchema/enumDescriptions/enum_description": enum_description
+"/discovery:v1/JsonSchema/format": format
+"/discovery:v1/JsonSchema/id": id
+"/discovery:v1/JsonSchema/items": items
+"/discovery:v1/JsonSchema/location": location
+"/discovery:v1/JsonSchema/maximum": maximum
+"/discovery:v1/JsonSchema/minimum": minimum
+"/discovery:v1/JsonSchema/pattern": pattern
+"/discovery:v1/JsonSchema/properties": properties
+"/discovery:v1/JsonSchema/properties/property": property
+"/discovery:v1/JsonSchema/readOnly": read_only
+"/discovery:v1/JsonSchema/repeated": repeated
+"/discovery:v1/JsonSchema/required": required
+"/discovery:v1/JsonSchema/type": type
+"/discovery:v1/JsonSchema/variant": variant
+"/discovery:v1/JsonSchema/variant/discriminant": discriminant
+"/discovery:v1/JsonSchema/variant/map": map
+"/discovery:v1/JsonSchema/variant/map/map": map
+"/discovery:v1/JsonSchema/variant/map/map/$ref": _ref
+"/discovery:v1/JsonSchema/variant/map/map/type_value": type_value
+"/discovery:v1/RestDescription": rest_description
+"/discovery:v1/RestDescription/auth": auth
+"/discovery:v1/RestDescription/auth/oauth2": oauth2
+"/discovery:v1/RestDescription/auth/oauth2/scopes": scopes
+"/discovery:v1/RestDescription/auth/oauth2/scopes/scope": scope
+"/discovery:v1/RestDescription/auth/oauth2/scopes/scope/description": description
+"/discovery:v1/RestDescription/basePath": base_path
+"/discovery:v1/RestDescription/baseUrl": base_url
+"/discovery:v1/RestDescription/batchPath": batch_path
+"/discovery:v1/RestDescription/canonicalName": canonical_name
+"/discovery:v1/RestDescription/description": description
+"/discovery:v1/RestDescription/discoveryVersion": discovery_version
+"/discovery:v1/RestDescription/documentationLink": documentation_link
+"/discovery:v1/RestDescription/etag": etag
+"/discovery:v1/RestDescription/features": features
+"/discovery:v1/RestDescription/features/feature": feature
+"/discovery:v1/RestDescription/icons": icons
+"/discovery:v1/RestDescription/icons/x16": x16
+"/discovery:v1/RestDescription/icons/x32": x32
+"/discovery:v1/RestDescription/id": id
+"/discovery:v1/RestDescription/kind": kind
+"/discovery:v1/RestDescription/labels": labels
+"/discovery:v1/RestDescription/labels/label": label
+"/discovery:v1/RestDescription/methods/api_method": api_method
+"/discovery:v1/RestDescription/name": name
+"/discovery:v1/RestDescription/ownerDomain": owner_domain
+"/discovery:v1/RestDescription/ownerName": owner_name
+"/discovery:v1/RestDescription/packagePath": package_path
+"/discovery:v1/RestDescription/parameters": parameters
+"/discovery:v1/RestDescription/parameters/parameter": parameter
+"/discovery:v1/RestDescription/protocol": protocol
+"/discovery:v1/RestDescription/resources": resources
+"/discovery:v1/RestDescription/resources/resource": resource
+"/discovery:v1/RestDescription/revision": revision
+"/discovery:v1/RestDescription/rootUrl": root_url
+"/discovery:v1/RestDescription/schemas": schemas
+"/discovery:v1/RestDescription/schemas/schema": schema
+"/discovery:v1/RestDescription/servicePath": service_path
+"/discovery:v1/RestDescription/title": title
+"/discovery:v1/RestDescription/version": version
+"/discovery:v1/RestMethod": rest_method
+"/discovery:v1/RestMethod/description": description
+"/discovery:v1/RestMethod/etagRequired": etag_required
+"/discovery:v1/RestMethod/httpMethod": http_method
+"/discovery:v1/RestMethod/id": id
+"/discovery:v1/RestMethod/mediaUpload": media_upload
+"/discovery:v1/RestMethod/mediaUpload/accept": accept
+"/discovery:v1/RestMethod/mediaUpload/accept/accept": accept
+"/discovery:v1/RestMethod/mediaUpload/maxSize": max_size
+"/discovery:v1/RestMethod/mediaUpload/protocols": protocols
+"/discovery:v1/RestMethod/mediaUpload/protocols/resumable": resumable
+"/discovery:v1/RestMethod/mediaUpload/protocols/resumable/multipart": multipart
+"/discovery:v1/RestMethod/mediaUpload/protocols/resumable/path": path
+"/discovery:v1/RestMethod/mediaUpload/protocols/simple": simple
+"/discovery:v1/RestMethod/mediaUpload/protocols/simple/multipart": multipart
+"/discovery:v1/RestMethod/mediaUpload/protocols/simple/path": path
+"/discovery:v1/RestMethod/parameterOrder": parameter_order
+"/discovery:v1/RestMethod/parameterOrder/parameter_order": parameter_order
+"/discovery:v1/RestMethod/parameters": parameters
+"/discovery:v1/RestMethod/parameters/parameter": parameter
+"/discovery:v1/RestMethod/path": path
+"/discovery:v1/RestMethod/request": request
+"/discovery:v1/RestMethod/request/$ref": _ref
+"/discovery:v1/RestMethod/request/parameterName": parameter_name
+"/discovery:v1/RestMethod/response": response
+"/discovery:v1/RestMethod/response/$ref": _ref
+"/discovery:v1/RestMethod/scopes": scopes
+"/discovery:v1/RestMethod/scopes/scope": scope
+"/discovery:v1/RestMethod/supportsMediaDownload": supports_media_download
+"/discovery:v1/RestMethod/supportsMediaUpload": supports_media_upload
+"/discovery:v1/RestMethod/supportsSubscription": supports_subscription
+"/discovery:v1/RestMethod/useMediaDownloadService": use_media_download_service
+"/discovery:v1/RestResource": rest_resource
+"/discovery:v1/RestResource/methods/api_method": api_method
+"/discovery:v1/RestResource/resources": resources
+"/discovery:v1/RestResource/resources/resource": resource
+"/dns:v1/fields": fields
+"/dns:v1/key": key
+"/dns:v1/quotaUser": quota_user
+"/dns:v1/userIp": user_ip
+"/dns:v1/dns.changes.create": create_change
+"/dns:v1/dns.changes.create/managedZone": managed_zone
+"/dns:v1/dns.changes.create/project": project
+"/dns:v1/dns.changes.get": get_change
+"/dns:v1/dns.changes.get/changeId": change_id
+"/dns:v1/dns.changes.get/managedZone": managed_zone
+"/dns:v1/dns.changes.get/project": project
+"/dns:v1/dns.changes.list": list_changes
+"/dns:v1/dns.changes.list/managedZone": managed_zone
+"/dns:v1/dns.changes.list/maxResults": max_results
+"/dns:v1/dns.changes.list/pageToken": page_token
+"/dns:v1/dns.changes.list/project": project
+"/dns:v1/dns.changes.list/sortBy": sort_by
+"/dns:v1/dns.changes.list/sortOrder": sort_order
+"/dns:v1/dns.managedZones.create": create_managed_zone
+"/dns:v1/dns.managedZones.create/project": project
+"/dns:v1/dns.managedZones.delete": delete_managed_zone
+"/dns:v1/dns.managedZones.delete/managedZone": managed_zone
+"/dns:v1/dns.managedZones.delete/project": project
+"/dns:v1/dns.managedZones.get": get_managed_zone
+"/dns:v1/dns.managedZones.get/managedZone": managed_zone
+"/dns:v1/dns.managedZones.get/project": project
+"/dns:v1/dns.managedZones.list": list_managed_zones
+"/dns:v1/dns.managedZones.list/maxResults": max_results
+"/dns:v1/dns.managedZones.list/pageToken": page_token
+"/dns:v1/dns.managedZones.list/project": project
+"/dns:v1/dns.projects.get": get_project
+"/dns:v1/dns.projects.get/project": project
+"/dns:v1/dns.resourceRecordSets.list": list_resource_record_sets
+"/dns:v1/dns.resourceRecordSets.list/managedZone": managed_zone
+"/dns:v1/dns.resourceRecordSets.list/maxResults": max_results
+"/dns:v1/dns.resourceRecordSets.list/name": name
+"/dns:v1/dns.resourceRecordSets.list/pageToken": page_token
+"/dns:v1/dns.resourceRecordSets.list/project": project
+"/dns:v1/dns.resourceRecordSets.list/type": type
+"/dns:v1/Change": change
+"/dns:v1/Change/additions": additions
+"/dns:v1/Change/additions/addition": addition
+"/dns:v1/Change/deletions": deletions
+"/dns:v1/Change/deletions/deletion": deletion
+"/dns:v1/Change/id": id
+"/dns:v1/Change/kind": kind
+"/dns:v1/Change/startTime": start_time
+"/dns:v1/Change/status": status
+"/dns:v1/ChangesListResponse/changes": changes
+"/dns:v1/ChangesListResponse/changes/change": change
+"/dns:v1/ChangesListResponse/kind": kind
+"/dns:v1/ChangesListResponse/nextPageToken": next_page_token
+"/dns:v1/ManagedZone": managed_zone
+"/dns:v1/ManagedZone/creationTime": creation_time
+"/dns:v1/ManagedZone/description": description
+"/dns:v1/ManagedZone/dnsName": dns_name
+"/dns:v1/ManagedZone/id": id
+"/dns:v1/ManagedZone/kind": kind
+"/dns:v1/ManagedZone/name": name
+"/dns:v1/ManagedZone/nameServerSet": name_server_set
+"/dns:v1/ManagedZone/nameServers": name_servers
+"/dns:v1/ManagedZone/nameServers/name_server": name_server
+"/dns:v1/ManagedZonesListResponse/kind": kind
+"/dns:v1/ManagedZonesListResponse/managedZones": managed_zones
+"/dns:v1/ManagedZonesListResponse/managedZones/managed_zone": managed_zone
+"/dns:v1/ManagedZonesListResponse/nextPageToken": next_page_token
+"/dns:v1/Project": project
+"/dns:v1/Project/id": id
+"/dns:v1/Project/kind": kind
+"/dns:v1/Project/number": number
+"/dns:v1/Project/quota": quota
+"/dns:v1/Quota": quota
+"/dns:v1/Quota/kind": kind
+"/dns:v1/Quota/managedZones": managed_zones
+"/dns:v1/Quota/resourceRecordsPerRrset": resource_records_per_rrset
+"/dns:v1/Quota/rrsetAdditionsPerChange": rrset_additions_per_change
+"/dns:v1/Quota/rrsetDeletionsPerChange": rrset_deletions_per_change
+"/dns:v1/Quota/rrsetsPerManagedZone": rrsets_per_managed_zone
+"/dns:v1/Quota/totalRrdataSizePerChange": total_rrdata_size_per_change
+"/dns:v1/ResourceRecordSet": resource_record_set
+"/dns:v1/ResourceRecordSet/kind": kind
+"/dns:v1/ResourceRecordSet/name": name
+"/dns:v1/ResourceRecordSet/rrdatas": rrdatas
+"/dns:v1/ResourceRecordSet/rrdatas/rrdata": rrdata
+"/dns:v1/ResourceRecordSet/ttl": ttl
+"/dns:v1/ResourceRecordSet/type": type
+"/dns:v1/ResourceRecordSetsListResponse/kind": kind
+"/dns:v1/ResourceRecordSetsListResponse/nextPageToken": next_page_token
+"/dns:v1/ResourceRecordSetsListResponse/rrsets": rrsets
+"/dns:v1/ResourceRecordSetsListResponse/rrsets/rrset": rrset
+"/doubleclickbidmanager:v1/fields": fields
+"/doubleclickbidmanager:v1/key": key
+"/doubleclickbidmanager:v1/quotaUser": quota_user
+"/doubleclickbidmanager:v1/userIp": user_ip
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.deletequery/queryId": query_id
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.getquery/queryId": query_id
+"/doubleclickbidmanager:v1/doubleclickbidmanager.queries.runquery/queryId": query_id
+"/doubleclickbidmanager:v1/doubleclickbidmanager.reports.listreports/queryId": query_id
+"/doubleclickbidmanager:v1/DownloadLineItemsRequest/filterIds": filter_ids
+"/doubleclickbidmanager:v1/DownloadLineItemsRequest/filterIds/filter_id": filter_id
+"/doubleclickbidmanager:v1/DownloadLineItemsRequest/filterType": filter_type
+"/doubleclickbidmanager:v1/DownloadLineItemsRequest/format": format
+"/doubleclickbidmanager:v1/DownloadLineItemsResponse/lineItems": line_items
+"/doubleclickbidmanager:v1/FilterPair": filter_pair
+"/doubleclickbidmanager:v1/FilterPair/type": type
+"/doubleclickbidmanager:v1/FilterPair/value": value
+"/doubleclickbidmanager:v1/ListQueriesResponse/kind": kind
+"/doubleclickbidmanager:v1/ListQueriesResponse/queries": queries
+"/doubleclickbidmanager:v1/ListQueriesResponse/queries/query": query
+"/doubleclickbidmanager:v1/ListReportsResponse/kind": kind
+"/doubleclickbidmanager:v1/ListReportsResponse/reports": reports
+"/doubleclickbidmanager:v1/ListReportsResponse/reports/report": report
+"/doubleclickbidmanager:v1/Parameters": parameters
+"/doubleclickbidmanager:v1/Parameters/filters": filters
+"/doubleclickbidmanager:v1/Parameters/filters/filter": filter
+"/doubleclickbidmanager:v1/Parameters/groupBys": group_bys
+"/doubleclickbidmanager:v1/Parameters/groupBys/group_by": group_by
+"/doubleclickbidmanager:v1/Parameters/includeInviteData": include_invite_data
+"/doubleclickbidmanager:v1/Parameters/metrics": metrics
+"/doubleclickbidmanager:v1/Parameters/metrics/metric": metric
+"/doubleclickbidmanager:v1/Parameters/type": type
+"/doubleclickbidmanager:v1/Query": query
+"/doubleclickbidmanager:v1/Query/kind": kind
+"/doubleclickbidmanager:v1/Query/metadata": metadata
+"/doubleclickbidmanager:v1/Query/params": params
+"/doubleclickbidmanager:v1/Query/queryId": query_id
+"/doubleclickbidmanager:v1/Query/reportDataEndTimeMs": report_data_end_time_ms
+"/doubleclickbidmanager:v1/Query/reportDataStartTimeMs": report_data_start_time_ms
+"/doubleclickbidmanager:v1/Query/schedule": schedule
+"/doubleclickbidmanager:v1/Query/timezoneCode": timezone_code
+"/doubleclickbidmanager:v1/QueryMetadata": query_metadata
+"/doubleclickbidmanager:v1/QueryMetadata/dataRange": data_range
+"/doubleclickbidmanager:v1/QueryMetadata/format": format
+"/doubleclickbidmanager:v1/QueryMetadata/googleCloudStoragePathForLatestReport": google_cloud_storage_path_for_latest_report
+"/doubleclickbidmanager:v1/QueryMetadata/googleDrivePathForLatestReport": google_drive_path_for_latest_report
+"/doubleclickbidmanager:v1/QueryMetadata/latestReportRunTimeMs": latest_report_run_time_ms
+"/doubleclickbidmanager:v1/QueryMetadata/locale": locale
+"/doubleclickbidmanager:v1/QueryMetadata/reportCount": report_count
+"/doubleclickbidmanager:v1/QueryMetadata/running": running
+"/doubleclickbidmanager:v1/QueryMetadata/sendNotification": send_notification
+"/doubleclickbidmanager:v1/QueryMetadata/shareEmailAddress": share_email_address
+"/doubleclickbidmanager:v1/QueryMetadata/shareEmailAddress/share_email_address": share_email_address
+"/doubleclickbidmanager:v1/QueryMetadata/title": title
+"/doubleclickbidmanager:v1/QuerySchedule": query_schedule
+"/doubleclickbidmanager:v1/QuerySchedule/endTimeMs": end_time_ms
+"/doubleclickbidmanager:v1/QuerySchedule/frequency": frequency
+"/doubleclickbidmanager:v1/QuerySchedule/nextRunMinuteOfDay": next_run_minute_of_day
+"/doubleclickbidmanager:v1/QuerySchedule/nextRunTimezoneCode": next_run_timezone_code
+"/doubleclickbidmanager:v1/Report": report
+"/doubleclickbidmanager:v1/Report/key": key
+"/doubleclickbidmanager:v1/Report/metadata": metadata
+"/doubleclickbidmanager:v1/Report/params": params
+"/doubleclickbidmanager:v1/ReportFailure": report_failure
+"/doubleclickbidmanager:v1/ReportFailure/errorCode": error_code
+"/doubleclickbidmanager:v1/ReportKey": report_key
+"/doubleclickbidmanager:v1/ReportKey/queryId": query_id
+"/doubleclickbidmanager:v1/ReportKey/reportId": report_id
+"/doubleclickbidmanager:v1/ReportMetadata": report_metadata
+"/doubleclickbidmanager:v1/ReportMetadata/googleCloudStoragePath": google_cloud_storage_path
+"/doubleclickbidmanager:v1/ReportMetadata/reportDataEndTimeMs": report_data_end_time_ms
+"/doubleclickbidmanager:v1/ReportMetadata/reportDataStartTimeMs": report_data_start_time_ms
+"/doubleclickbidmanager:v1/ReportMetadata/status": status
+"/doubleclickbidmanager:v1/ReportStatus": report_status
+"/doubleclickbidmanager:v1/ReportStatus/failure": failure
+"/doubleclickbidmanager:v1/ReportStatus/finishTimeMs": finish_time_ms
+"/doubleclickbidmanager:v1/ReportStatus/format": format
+"/doubleclickbidmanager:v1/ReportStatus/state": state
+"/doubleclickbidmanager:v1/RowStatus": row_status
+"/doubleclickbidmanager:v1/RowStatus/changed": changed
+"/doubleclickbidmanager:v1/RowStatus/entityId": entity_id
+"/doubleclickbidmanager:v1/RowStatus/entityName": entity_name
+"/doubleclickbidmanager:v1/RowStatus/errors": errors
+"/doubleclickbidmanager:v1/RowStatus/errors/error": error
+"/doubleclickbidmanager:v1/RowStatus/persisted": persisted
+"/doubleclickbidmanager:v1/RowStatus/rowNumber": row_number
+"/doubleclickbidmanager:v1/RunQueryRequest/dataRange": data_range
+"/doubleclickbidmanager:v1/RunQueryRequest/reportDataEndTimeMs": report_data_end_time_ms
+"/doubleclickbidmanager:v1/RunQueryRequest/reportDataStartTimeMs": report_data_start_time_ms
+"/doubleclickbidmanager:v1/RunQueryRequest/timezoneCode": timezone_code
+"/doubleclickbidmanager:v1/UploadLineItemsRequest/dryRun": dry_run
+"/doubleclickbidmanager:v1/UploadLineItemsRequest/format": format
+"/doubleclickbidmanager:v1/UploadLineItemsRequest/lineItems": line_items
+"/doubleclickbidmanager:v1/UploadLineItemsResponse/uploadStatus": upload_status
+"/doubleclickbidmanager:v1/UploadStatus": upload_status
+"/doubleclickbidmanager:v1/UploadStatus/errors": errors
+"/doubleclickbidmanager:v1/UploadStatus/errors/error": error
+"/doubleclickbidmanager:v1/UploadStatus/rowStatus": row_status
+"/doubleclickbidmanager:v1/UploadStatus/rowStatus/row_status": row_status
+"/doubleclicksearch:v2/fields": fields
+"/doubleclicksearch:v2/key": key
+"/doubleclicksearch:v2/quotaUser": quota_user
+"/doubleclicksearch:v2/userIp": user_ip
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get": get_conversion
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/adGroupId": ad_group_id
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/adId": ad_id
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/advertiserId": advertiser_id
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/agencyId": agency_id
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/campaignId": campaign_id
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/criterionId": criterion_id
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/endDate": end_date
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/engineAccountId": engine_account_id
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/rowCount": row_count
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/startDate": start_date
+"/doubleclicksearch:v2/doubleclicksearch.conversion.get/startRow": start_row
+"/doubleclicksearch:v2/doubleclicksearch.conversion.insert": insert_conversion
+"/doubleclicksearch:v2/doubleclicksearch.conversion.patch": patch_conversion
+"/doubleclicksearch:v2/doubleclicksearch.conversion.patch/advertiserId": advertiser_id
+"/doubleclicksearch:v2/doubleclicksearch.conversion.patch/agencyId": agency_id
+"/doubleclicksearch:v2/doubleclicksearch.conversion.patch/endDate": end_date
+"/doubleclicksearch:v2/doubleclicksearch.conversion.patch/engineAccountId": engine_account_id
+"/doubleclicksearch:v2/doubleclicksearch.conversion.patch/rowCount": row_count
+"/doubleclicksearch:v2/doubleclicksearch.conversion.patch/startDate": start_date
+"/doubleclicksearch:v2/doubleclicksearch.conversion.patch/startRow": start_row
+"/doubleclicksearch:v2/doubleclicksearch.conversion.update": update_conversion
+"/doubleclicksearch:v2/doubleclicksearch.conversion.updateAvailability": update_availability
+"/doubleclicksearch:v2/doubleclicksearch.reports.generate": generate_report
+"/doubleclicksearch:v2/doubleclicksearch.reports.get": get_report
+"/doubleclicksearch:v2/doubleclicksearch.reports.get/reportId": report_id
+"/doubleclicksearch:v2/doubleclicksearch.reports.getFile": get_file_report
+"/doubleclicksearch:v2/doubleclicksearch.reports.getFile/reportFragment": report_fragment
+"/doubleclicksearch:v2/doubleclicksearch.reports.getFile/reportId": report_id
+"/doubleclicksearch:v2/doubleclicksearch.reports.request": request_report
+"/doubleclicksearch:v2/doubleclicksearch.savedColumns.list": list_saved_columns
+"/doubleclicksearch:v2/doubleclicksearch.savedColumns.list/advertiserId": advertiser_id
+"/doubleclicksearch:v2/doubleclicksearch.savedColumns.list/agencyId": agency_id
+"/doubleclicksearch:v2/Availability": availability
+"/doubleclicksearch:v2/Availability/advertiserId": advertiser_id
+"/doubleclicksearch:v2/Availability/agencyId": agency_id
+"/doubleclicksearch:v2/Availability/availabilityTimestamp": availability_timestamp
+"/doubleclicksearch:v2/Availability/segmentationId": segmentation_id
+"/doubleclicksearch:v2/Availability/segmentationName": segmentation_name
+"/doubleclicksearch:v2/Availability/segmentationType": segmentation_type
+"/doubleclicksearch:v2/Conversion": conversion
+"/doubleclicksearch:v2/Conversion/adGroupId": ad_group_id
+"/doubleclicksearch:v2/Conversion/adId": ad_id
+"/doubleclicksearch:v2/Conversion/advertiserId": advertiser_id
+"/doubleclicksearch:v2/Conversion/agencyId": agency_id
+"/doubleclicksearch:v2/Conversion/attributionModel": attribution_model
+"/doubleclicksearch:v2/Conversion/campaignId": campaign_id
+"/doubleclicksearch:v2/Conversion/channel": channel
+"/doubleclicksearch:v2/Conversion/clickId": click_id
+"/doubleclicksearch:v2/Conversion/conversionId": conversion_id
+"/doubleclicksearch:v2/Conversion/conversionModifiedTimestamp": conversion_modified_timestamp
+"/doubleclicksearch:v2/Conversion/conversionTimestamp": conversion_timestamp
+"/doubleclicksearch:v2/Conversion/countMillis": count_millis
+"/doubleclicksearch:v2/Conversion/criterionId": criterion_id
+"/doubleclicksearch:v2/Conversion/currencyCode": currency_code
+"/doubleclicksearch:v2/Conversion/customDimension": custom_dimension
+"/doubleclicksearch:v2/Conversion/customDimension/custom_dimension": custom_dimension
+"/doubleclicksearch:v2/Conversion/customMetric": custom_metric
+"/doubleclicksearch:v2/Conversion/customMetric/custom_metric": custom_metric
+"/doubleclicksearch:v2/Conversion/deviceType": device_type
+"/doubleclicksearch:v2/Conversion/dsConversionId": ds_conversion_id
+"/doubleclicksearch:v2/Conversion/engineAccountId": engine_account_id
+"/doubleclicksearch:v2/Conversion/floodlightOrderId": floodlight_order_id
+"/doubleclicksearch:v2/Conversion/inventoryAccountId": inventory_account_id
+"/doubleclicksearch:v2/Conversion/productCountry": product_country
+"/doubleclicksearch:v2/Conversion/productGroupId": product_group_id
+"/doubleclicksearch:v2/Conversion/productId": product_id
+"/doubleclicksearch:v2/Conversion/productLanguage": product_language
+"/doubleclicksearch:v2/Conversion/quantityMillis": quantity_millis
+"/doubleclicksearch:v2/Conversion/revenueMicros": revenue_micros
+"/doubleclicksearch:v2/Conversion/segmentationId": segmentation_id
+"/doubleclicksearch:v2/Conversion/segmentationName": segmentation_name
+"/doubleclicksearch:v2/Conversion/segmentationType": segmentation_type
+"/doubleclicksearch:v2/Conversion/state": state
+"/doubleclicksearch:v2/Conversion/storeId": store_id
+"/doubleclicksearch:v2/Conversion/type": type
+"/doubleclicksearch:v2/ConversionList": conversion_list
+"/doubleclicksearch:v2/ConversionList/conversion": conversion
+"/doubleclicksearch:v2/ConversionList/conversion/conversion": conversion
+"/doubleclicksearch:v2/ConversionList/kind": kind
+"/doubleclicksearch:v2/CustomDimension": custom_dimension
+"/doubleclicksearch:v2/CustomDimension/name": name
+"/doubleclicksearch:v2/CustomDimension/value": value
+"/doubleclicksearch:v2/CustomMetric": custom_metric
+"/doubleclicksearch:v2/CustomMetric/name": name
+"/doubleclicksearch:v2/CustomMetric/value": value
+"/doubleclicksearch:v2/Report": report
+"/doubleclicksearch:v2/Report/files": files
+"/doubleclicksearch:v2/Report/files/file": file
+"/doubleclicksearch:v2/Report/files/file/byteCount": byte_count
+"/doubleclicksearch:v2/Report/files/file/url": url
+"/doubleclicksearch:v2/Report/id": id
+"/doubleclicksearch:v2/Report/isReportReady": is_report_ready
+"/doubleclicksearch:v2/Report/kind": kind
+"/doubleclicksearch:v2/Report/request": request
+"/doubleclicksearch:v2/Report/rowCount": row_count
+"/doubleclicksearch:v2/Report/rows": rows
+"/doubleclicksearch:v2/Report/rows/row": row
+"/doubleclicksearch:v2/Report/statisticsCurrencyCode": statistics_currency_code
+"/doubleclicksearch:v2/Report/statisticsTimeZone": statistics_time_zone
+"/doubleclicksearch:v2/ReportApiColumnSpec": report_api_column_spec
+"/doubleclicksearch:v2/ReportApiColumnSpec/columnName": column_name
+"/doubleclicksearch:v2/ReportApiColumnSpec/customDimensionName": custom_dimension_name
+"/doubleclicksearch:v2/ReportApiColumnSpec/customMetricName": custom_metric_name
+"/doubleclicksearch:v2/ReportApiColumnSpec/endDate": end_date
+"/doubleclicksearch:v2/ReportApiColumnSpec/groupByColumn": group_by_column
+"/doubleclicksearch:v2/ReportApiColumnSpec/headerText": header_text
+"/doubleclicksearch:v2/ReportApiColumnSpec/platformSource": platform_source
+"/doubleclicksearch:v2/ReportApiColumnSpec/savedColumnName": saved_column_name
+"/doubleclicksearch:v2/ReportApiColumnSpec/startDate": start_date
+"/doubleclicksearch:v2/ReportRequest/columns": columns
+"/doubleclicksearch:v2/ReportRequest/columns/column": column
+"/doubleclicksearch:v2/ReportRequest/downloadFormat": download_format
+"/doubleclicksearch:v2/ReportRequest/filters": filters
+"/doubleclicksearch:v2/ReportRequest/filters/filter": filter
+"/doubleclicksearch:v2/ReportRequest/filters/filter/column": column
+"/doubleclicksearch:v2/ReportRequest/filters/filter/operator": operator
+"/doubleclicksearch:v2/ReportRequest/filters/filter/values": values
+"/doubleclicksearch:v2/ReportRequest/filters/filter/values/value": value
+"/doubleclicksearch:v2/ReportRequest/includeDeletedEntities": include_deleted_entities
+"/doubleclicksearch:v2/ReportRequest/includeRemovedEntities": include_removed_entities
+"/doubleclicksearch:v2/ReportRequest/maxRowsPerFile": max_rows_per_file
+"/doubleclicksearch:v2/ReportRequest/orderBy": order_by
+"/doubleclicksearch:v2/ReportRequest/orderBy/order_by": order_by
+"/doubleclicksearch:v2/ReportRequest/orderBy/order_by/column": column
+"/doubleclicksearch:v2/ReportRequest/orderBy/order_by/sortOrder": sort_order
+"/doubleclicksearch:v2/ReportRequest/reportScope": report_scope
+"/doubleclicksearch:v2/ReportRequest/reportScope/adGroupId": ad_group_id
+"/doubleclicksearch:v2/ReportRequest/reportScope/adId": ad_id
+"/doubleclicksearch:v2/ReportRequest/reportScope/advertiserId": advertiser_id
+"/doubleclicksearch:v2/ReportRequest/reportScope/agencyId": agency_id
+"/doubleclicksearch:v2/ReportRequest/reportScope/campaignId": campaign_id
+"/doubleclicksearch:v2/ReportRequest/reportScope/engineAccountId": engine_account_id
+"/doubleclicksearch:v2/ReportRequest/reportScope/keywordId": keyword_id
+"/doubleclicksearch:v2/ReportRequest/reportType": report_type
+"/doubleclicksearch:v2/ReportRequest/rowCount": row_count
+"/doubleclicksearch:v2/ReportRequest/startRow": start_row
+"/doubleclicksearch:v2/ReportRequest/statisticsCurrency": statistics_currency
+"/doubleclicksearch:v2/ReportRequest/timeRange": time_range
+"/doubleclicksearch:v2/ReportRequest/timeRange/changedAttributesSinceTimestamp": changed_attributes_since_timestamp
+"/doubleclicksearch:v2/ReportRequest/timeRange/changedMetricsSinceTimestamp": changed_metrics_since_timestamp
+"/doubleclicksearch:v2/ReportRequest/timeRange/endDate": end_date
+"/doubleclicksearch:v2/ReportRequest/timeRange/startDate": start_date
+"/doubleclicksearch:v2/ReportRequest/verifySingleTimeZone": verify_single_time_zone
+"/doubleclicksearch:v2/ReportRow": report_row
+"/doubleclicksearch:v2/ReportRow/report_row": report_row
+"/doubleclicksearch:v2/SavedColumn": saved_column
+"/doubleclicksearch:v2/SavedColumn/kind": kind
+"/doubleclicksearch:v2/SavedColumn/savedColumnName": saved_column_name
+"/doubleclicksearch:v2/SavedColumn/type": type
+"/doubleclicksearch:v2/SavedColumnList": saved_column_list
+"/doubleclicksearch:v2/SavedColumnList/items": items
+"/doubleclicksearch:v2/SavedColumnList/items/item": item
+"/doubleclicksearch:v2/SavedColumnList/kind": kind
+"/doubleclicksearch:v2/UpdateAvailabilityRequest/availabilities": availabilities
+"/doubleclicksearch:v2/UpdateAvailabilityRequest/availabilities/availability": availability
+"/doubleclicksearch:v2/UpdateAvailabilityResponse/availabilities": availabilities
+"/doubleclicksearch:v2/UpdateAvailabilityResponse/availabilities/availability": availability
+"/drive:v2/fields": fields
+"/drive:v2/key": key
+"/drive:v2/quotaUser": quota_user
+"/drive:v2/userIp": user_ip
+"/drive:v2/drive.about.get": get_about
+"/drive:v2/drive.about.get/includeSubscribed": include_subscribed
+"/drive:v2/drive.about.get/maxChangeIdCount": max_change_id_count
+"/drive:v2/drive.about.get/startChangeId": start_change_id
+"/drive:v2/drive.apps.get": get_app
+"/drive:v2/drive.apps.get/appId": app_id
+"/drive:v2/drive.apps.list": list_apps
+"/drive:v2/drive.apps.list/appFilterExtensions": app_filter_extensions
+"/drive:v2/drive.apps.list/appFilterMimeTypes": app_filter_mime_types
+"/drive:v2/drive.apps.list/languageCode": language_code
+"/drive:v2/drive.changes.get": get_change
+"/drive:v2/drive.changes.get/changeId": change_id
+"/drive:v2/drive.changes.list": list_changes
+"/drive:v2/drive.changes.list/includeDeleted": include_deleted
+"/drive:v2/drive.changes.list/includeSubscribed": include_subscribed
+"/drive:v2/drive.changes.list/maxResults": max_results
+"/drive:v2/drive.changes.list/pageToken": page_token
+"/drive:v2/drive.changes.list/spaces": spaces
+"/drive:v2/drive.changes.list/startChangeId": start_change_id
+"/drive:v2/drive.changes.watch": watch_change
+"/drive:v2/drive.changes.watch/includeDeleted": include_deleted
+"/drive:v2/drive.changes.watch/includeSubscribed": include_subscribed
+"/drive:v2/drive.changes.watch/maxResults": max_results
+"/drive:v2/drive.changes.watch/pageToken": page_token
+"/drive:v2/drive.changes.watch/spaces": spaces
+"/drive:v2/drive.changes.watch/startChangeId": start_change_id
+"/drive:v2/drive.channels.stop": stop_channel
+"/drive:v2/drive.children.delete": delete_child
+"/drive:v2/drive.children.delete/childId": child_id
+"/drive:v2/drive.children.delete/folderId": folder_id
+"/drive:v2/drive.children.get": get_child
+"/drive:v2/drive.children.get/childId": child_id
+"/drive:v2/drive.children.get/folderId": folder_id
+"/drive:v2/drive.children.insert": insert_child
+"/drive:v2/drive.children.insert/folderId": folder_id
+"/drive:v2/drive.children.list": list_children
+"/drive:v2/drive.children.list/folderId": folder_id
+"/drive:v2/drive.children.list/maxResults": max_results
+"/drive:v2/drive.children.list/pageToken": page_token
+"/drive:v2/drive.children.list/q": q
+"/drive:v2/drive.comments.delete": delete_comment
+"/drive:v2/drive.comments.delete/commentId": comment_id
+"/drive:v2/drive.comments.delete/fileId": file_id
+"/drive:v2/drive.comments.get": get_comment
+"/drive:v2/drive.comments.get/commentId": comment_id
+"/drive:v2/drive.comments.get/fileId": file_id
+"/drive:v2/drive.comments.get/includeDeleted": include_deleted
+"/drive:v2/drive.comments.insert": insert_comment
+"/drive:v2/drive.comments.insert/fileId": file_id
+"/drive:v2/drive.comments.list": list_comments
+"/drive:v2/drive.comments.list/fileId": file_id
+"/drive:v2/drive.comments.list/includeDeleted": include_deleted
+"/drive:v2/drive.comments.list/maxResults": max_results
+"/drive:v2/drive.comments.list/pageToken": page_token
+"/drive:v2/drive.comments.list/updatedMin": updated_min
+"/drive:v2/drive.comments.patch": patch_comment
+"/drive:v2/drive.comments.patch/commentId": comment_id
+"/drive:v2/drive.comments.patch/fileId": file_id
+"/drive:v2/drive.comments.update": update_comment
+"/drive:v2/drive.comments.update/commentId": comment_id
+"/drive:v2/drive.comments.update/fileId": file_id
+"/drive:v2/drive.files.copy": copy_file
+"/drive:v2/drive.files.copy/convert": convert
+"/drive:v2/drive.files.copy/fileId": file_id
+"/drive:v2/drive.files.copy/ocr": ocr
+"/drive:v2/drive.files.copy/ocrLanguage": ocr_language
+"/drive:v2/drive.files.copy/pinned": pinned
+"/drive:v2/drive.files.copy/timedTextLanguage": timed_text_language
+"/drive:v2/drive.files.copy/timedTextTrackName": timed_text_track_name
+"/drive:v2/drive.files.copy/visibility": visibility
+"/drive:v2/drive.files.delete": delete_file
+"/drive:v2/drive.files.delete/fileId": file_id
+"/drive:v2/drive.files.get": get_file
+"/drive:v2/drive.files.get/acknowledgeAbuse": acknowledge_abuse
+"/drive:v2/drive.files.get/fileId": file_id
+"/drive:v2/drive.files.get/projection": projection
+"/drive:v2/drive.files.get/revisionId": revision_id
+"/drive:v2/drive.files.get/updateViewedDate": update_viewed_date
+"/drive:v2/drive.files.insert": insert_file
+"/drive:v2/drive.files.insert/convert": convert
+"/drive:v2/drive.files.insert/ocr": ocr
+"/drive:v2/drive.files.insert/ocrLanguage": ocr_language
+"/drive:v2/drive.files.insert/pinned": pinned
+"/drive:v2/drive.files.insert/timedTextLanguage": timed_text_language
+"/drive:v2/drive.files.insert/timedTextTrackName": timed_text_track_name
+"/drive:v2/drive.files.insert/useContentAsIndexableText": use_content_as_indexable_text
+"/drive:v2/drive.files.insert/visibility": visibility
+"/drive:v2/drive.files.list": list_files
+"/drive:v2/drive.files.list/corpus": corpus
+"/drive:v2/drive.files.list/maxResults": max_results
+"/drive:v2/drive.files.list/pageToken": page_token
+"/drive:v2/drive.files.list/projection": projection
+"/drive:v2/drive.files.list/q": q
+"/drive:v2/drive.files.list/spaces": spaces
+"/drive:v2/drive.files.patch": patch_file
+"/drive:v2/drive.files.patch/addParents": add_parents
+"/drive:v2/drive.files.patch/convert": convert
+"/drive:v2/drive.files.patch/fileId": file_id
+"/drive:v2/drive.files.patch/newRevision": new_revision
+"/drive:v2/drive.files.patch/ocr": ocr
+"/drive:v2/drive.files.patch/ocrLanguage": ocr_language
+"/drive:v2/drive.files.patch/pinned": pinned
+"/drive:v2/drive.files.patch/removeParents": remove_parents
+"/drive:v2/drive.files.patch/setModifiedDate": set_modified_date
+"/drive:v2/drive.files.patch/timedTextLanguage": timed_text_language
+"/drive:v2/drive.files.patch/timedTextTrackName": timed_text_track_name
+"/drive:v2/drive.files.patch/updateViewedDate": update_viewed_date
+"/drive:v2/drive.files.patch/useContentAsIndexableText": use_content_as_indexable_text
+"/drive:v2/drive.files.touch": touch_file
+"/drive:v2/drive.files.touch/fileId": file_id
+"/drive:v2/drive.files.trash": trash_file
+"/drive:v2/drive.files.trash/fileId": file_id
+"/drive:v2/drive.files.untrash": untrash_file
+"/drive:v2/drive.files.untrash/fileId": file_id
+"/drive:v2/drive.files.update": update_file
+"/drive:v2/drive.files.update/addParents": add_parents
+"/drive:v2/drive.files.update/convert": convert
+"/drive:v2/drive.files.update/fileId": file_id
+"/drive:v2/drive.files.update/newRevision": new_revision
+"/drive:v2/drive.files.update/ocr": ocr
+"/drive:v2/drive.files.update/ocrLanguage": ocr_language
+"/drive:v2/drive.files.update/pinned": pinned
+"/drive:v2/drive.files.update/removeParents": remove_parents
+"/drive:v2/drive.files.update/setModifiedDate": set_modified_date
+"/drive:v2/drive.files.update/timedTextLanguage": timed_text_language
+"/drive:v2/drive.files.update/timedTextTrackName": timed_text_track_name
+"/drive:v2/drive.files.update/updateViewedDate": update_viewed_date
+"/drive:v2/drive.files.update/useContentAsIndexableText": use_content_as_indexable_text
+"/drive:v2/drive.files.watch": watch_file
+"/drive:v2/drive.files.watch/acknowledgeAbuse": acknowledge_abuse
+"/drive:v2/drive.files.watch/fileId": file_id
+"/drive:v2/drive.files.watch/projection": projection
+"/drive:v2/drive.files.watch/revisionId": revision_id
+"/drive:v2/drive.files.watch/updateViewedDate": update_viewed_date
+"/drive:v2/drive.parents.delete": delete_parent
+"/drive:v2/drive.parents.delete/fileId": file_id
+"/drive:v2/drive.parents.delete/parentId": parent_id
+"/drive:v2/drive.parents.get": get_parent
+"/drive:v2/drive.parents.get/fileId": file_id
+"/drive:v2/drive.parents.get/parentId": parent_id
+"/drive:v2/drive.parents.insert": insert_parent
+"/drive:v2/drive.parents.insert/fileId": file_id
+"/drive:v2/drive.parents.list": list_parents
+"/drive:v2/drive.parents.list/fileId": file_id
+"/drive:v2/drive.permissions.delete": delete_permission
+"/drive:v2/drive.permissions.delete/fileId": file_id
+"/drive:v2/drive.permissions.delete/permissionId": permission_id
+"/drive:v2/drive.permissions.get": get_permission
+"/drive:v2/drive.permissions.get/fileId": file_id
+"/drive:v2/drive.permissions.get/permissionId": permission_id
+"/drive:v2/drive.permissions.getIdForEmail/email": email
+"/drive:v2/drive.permissions.insert": insert_permission
+"/drive:v2/drive.permissions.insert/emailMessage": email_message
+"/drive:v2/drive.permissions.insert/fileId": file_id
+"/drive:v2/drive.permissions.insert/sendNotificationEmails": send_notification_emails
+"/drive:v2/drive.permissions.list": list_permissions
+"/drive:v2/drive.permissions.list/fileId": file_id
+"/drive:v2/drive.permissions.patch": patch_permission
+"/drive:v2/drive.permissions.patch/fileId": file_id
+"/drive:v2/drive.permissions.patch/permissionId": permission_id
+"/drive:v2/drive.permissions.patch/transferOwnership": transfer_ownership
+"/drive:v2/drive.permissions.update": update_permission
+"/drive:v2/drive.permissions.update/fileId": file_id
+"/drive:v2/drive.permissions.update/permissionId": permission_id
+"/drive:v2/drive.permissions.update/transferOwnership": transfer_ownership
+"/drive:v2/drive.properties.delete": delete_property
+"/drive:v2/drive.properties.delete/fileId": file_id
+"/drive:v2/drive.properties.delete/propertyKey": property_key
+"/drive:v2/drive.properties.delete/visibility": visibility
+"/drive:v2/drive.properties.get": get_property
+"/drive:v2/drive.properties.get/fileId": file_id
+"/drive:v2/drive.properties.get/propertyKey": property_key
+"/drive:v2/drive.properties.get/visibility": visibility
+"/drive:v2/drive.properties.insert": insert_property
+"/drive:v2/drive.properties.insert/fileId": file_id
+"/drive:v2/drive.properties.list": list_properties
+"/drive:v2/drive.properties.list/fileId": file_id
+"/drive:v2/drive.properties.patch": patch_property
+"/drive:v2/drive.properties.patch/fileId": file_id
+"/drive:v2/drive.properties.patch/propertyKey": property_key
+"/drive:v2/drive.properties.patch/visibility": visibility
+"/drive:v2/drive.properties.update": update_property
+"/drive:v2/drive.properties.update/fileId": file_id
+"/drive:v2/drive.properties.update/propertyKey": property_key
+"/drive:v2/drive.properties.update/visibility": visibility
+"/drive:v2/drive.realtime.get": get_realtime
+"/drive:v2/drive.realtime.get/fileId": file_id
+"/drive:v2/drive.realtime.get/revision": revision
+"/drive:v2/drive.realtime.update": update_realtime
+"/drive:v2/drive.realtime.update/baseRevision": base_revision
+"/drive:v2/drive.realtime.update/fileId": file_id
+"/drive:v2/drive.replies.delete": delete_reply
+"/drive:v2/drive.replies.delete/commentId": comment_id
+"/drive:v2/drive.replies.delete/fileId": file_id
+"/drive:v2/drive.replies.delete/replyId": reply_id
+"/drive:v2/drive.replies.get": get_reply
+"/drive:v2/drive.replies.get/commentId": comment_id
+"/drive:v2/drive.replies.get/fileId": file_id
+"/drive:v2/drive.replies.get/includeDeleted": include_deleted
+"/drive:v2/drive.replies.get/replyId": reply_id
+"/drive:v2/drive.replies.insert": insert_reply
+"/drive:v2/drive.replies.insert/commentId": comment_id
+"/drive:v2/drive.replies.insert/fileId": file_id
+"/drive:v2/drive.replies.list": list_replies
+"/drive:v2/drive.replies.list/commentId": comment_id
+"/drive:v2/drive.replies.list/fileId": file_id
+"/drive:v2/drive.replies.list/includeDeleted": include_deleted
+"/drive:v2/drive.replies.list/maxResults": max_results
+"/drive:v2/drive.replies.list/pageToken": page_token
+"/drive:v2/drive.replies.patch": patch_reply
+"/drive:v2/drive.replies.patch/commentId": comment_id
+"/drive:v2/drive.replies.patch/fileId": file_id
+"/drive:v2/drive.replies.patch/replyId": reply_id
+"/drive:v2/drive.replies.update": update_reply
+"/drive:v2/drive.replies.update/commentId": comment_id
+"/drive:v2/drive.replies.update/fileId": file_id
+"/drive:v2/drive.replies.update/replyId": reply_id
+"/drive:v2/drive.revisions.delete": delete_revision
+"/drive:v2/drive.revisions.delete/fileId": file_id
+"/drive:v2/drive.revisions.delete/revisionId": revision_id
+"/drive:v2/drive.revisions.get": get_revision
+"/drive:v2/drive.revisions.get/fileId": file_id
+"/drive:v2/drive.revisions.get/revisionId": revision_id
+"/drive:v2/drive.revisions.list": list_revisions
+"/drive:v2/drive.revisions.list/fileId": file_id
+"/drive:v2/drive.revisions.patch": patch_revision
+"/drive:v2/drive.revisions.patch/fileId": file_id
+"/drive:v2/drive.revisions.patch/revisionId": revision_id
+"/drive:v2/drive.revisions.update": update_revision
+"/drive:v2/drive.revisions.update/fileId": file_id
+"/drive:v2/drive.revisions.update/revisionId": revision_id
+"/drive:v2/About": about
+"/drive:v2/About/additionalRoleInfo": additional_role_info
+"/drive:v2/About/additionalRoleInfo/additional_role_info": additional_role_info
+"/drive:v2/About/additionalRoleInfo/additional_role_info/roleSets": role_sets
+"/drive:v2/About/additionalRoleInfo/additional_role_info/roleSets/role_set": role_set
+"/drive:v2/About/additionalRoleInfo/additional_role_info/roleSets/role_set/additionalRoles": additional_roles
+"/drive:v2/About/additionalRoleInfo/additional_role_info/roleSets/role_set/additionalRoles/additional_role": additional_role
+"/drive:v2/About/additionalRoleInfo/additional_role_info/roleSets/role_set/primaryRole": primary_role
+"/drive:v2/About/additionalRoleInfo/additional_role_info/type": type
+"/drive:v2/About/domainSharingPolicy": domain_sharing_policy
+"/drive:v2/About/etag": etag
+"/drive:v2/About/exportFormats": export_formats
+"/drive:v2/About/exportFormats/export_format": export_format
+"/drive:v2/About/exportFormats/export_format/source": source
+"/drive:v2/About/exportFormats/export_format/targets": targets
+"/drive:v2/About/exportFormats/export_format/targets/target": target
+"/drive:v2/About/features": features
+"/drive:v2/About/features/feature": feature
+"/drive:v2/About/features/feature/featureName": feature_name
+"/drive:v2/About/features/feature/featureRate": feature_rate
+"/drive:v2/About/folderColorPalette": folder_color_palette
+"/drive:v2/About/folderColorPalette/folder_color_palette": folder_color_palette
+"/drive:v2/About/importFormats": import_formats
+"/drive:v2/About/importFormats/import_format": import_format
+"/drive:v2/About/importFormats/import_format/source": source
+"/drive:v2/About/importFormats/import_format/targets": targets
+"/drive:v2/About/importFormats/import_format/targets/target": target
+"/drive:v2/About/isCurrentAppInstalled": is_current_app_installed
+"/drive:v2/About/kind": kind
+"/drive:v2/About/languageCode": language_code
+"/drive:v2/About/largestChangeId": largest_change_id
+"/drive:v2/About/maxUploadSizes": max_upload_sizes
+"/drive:v2/About/maxUploadSizes/max_upload_size": max_upload_size
+"/drive:v2/About/maxUploadSizes/max_upload_size/size": size
+"/drive:v2/About/maxUploadSizes/max_upload_size/type": type
+"/drive:v2/About/name": name
+"/drive:v2/About/permissionId": permission_id
+"/drive:v2/About/quotaBytesByService": quota_bytes_by_service
+"/drive:v2/About/quotaBytesByService/quota_bytes_by_service": quota_bytes_by_service
+"/drive:v2/About/quotaBytesByService/quota_bytes_by_service/bytesUsed": bytes_used
+"/drive:v2/About/quotaBytesByService/quota_bytes_by_service/serviceName": service_name
+"/drive:v2/About/quotaBytesTotal": quota_bytes_total
+"/drive:v2/About/quotaBytesUsed": quota_bytes_used
+"/drive:v2/About/quotaBytesUsedAggregate": quota_bytes_used_aggregate
+"/drive:v2/About/quotaBytesUsedInTrash": quota_bytes_used_in_trash
+"/drive:v2/About/quotaType": quota_type
+"/drive:v2/About/remainingChangeIds": remaining_change_ids
+"/drive:v2/About/rootFolderId": root_folder_id
+"/drive:v2/About/selfLink": self_link
+"/drive:v2/About/user": user
+"/drive:v2/App": app
+"/drive:v2/App/authorized": authorized
+"/drive:v2/App/createInFolderTemplate": create_in_folder_template
+"/drive:v2/App/createUrl": create_url
+"/drive:v2/App/hasDriveWideScope": has_drive_wide_scope
+"/drive:v2/App/icons": icons
+"/drive:v2/App/icons/icon": icon
+"/drive:v2/App/icons/icon/category": category
+"/drive:v2/App/icons/icon/iconUrl": icon_url
+"/drive:v2/App/icons/icon/size": size
+"/drive:v2/App/id": id
+"/drive:v2/App/installed": installed
+"/drive:v2/App/kind": kind
+"/drive:v2/App/longDescription": long_description
+"/drive:v2/App/name": name
+"/drive:v2/App/objectType": object_type
+"/drive:v2/App/openUrlTemplate": open_url_template
+"/drive:v2/App/primaryFileExtensions": primary_file_extensions
+"/drive:v2/App/primaryFileExtensions/primary_file_extension": primary_file_extension
+"/drive:v2/App/primaryMimeTypes": primary_mime_types
+"/drive:v2/App/primaryMimeTypes/primary_mime_type": primary_mime_type
+"/drive:v2/App/productId": product_id
+"/drive:v2/App/productUrl": product_url
+"/drive:v2/App/secondaryFileExtensions": secondary_file_extensions
+"/drive:v2/App/secondaryFileExtensions/secondary_file_extension": secondary_file_extension
+"/drive:v2/App/secondaryMimeTypes": secondary_mime_types
+"/drive:v2/App/secondaryMimeTypes/secondary_mime_type": secondary_mime_type
+"/drive:v2/App/shortDescription": short_description
+"/drive:v2/App/supportsCreate": supports_create
+"/drive:v2/App/supportsImport": supports_import
+"/drive:v2/App/supportsMultiOpen": supports_multi_open
+"/drive:v2/App/supportsOfflineCreate": supports_offline_create
+"/drive:v2/App/useByDefault": use_by_default
+"/drive:v2/AppList": app_list
+"/drive:v2/AppList/defaultAppIds": default_app_ids
+"/drive:v2/AppList/defaultAppIds/default_app_id": default_app_id
+"/drive:v2/AppList/etag": etag
+"/drive:v2/AppList/items": items
+"/drive:v2/AppList/items/item": item
+"/drive:v2/AppList/kind": kind
+"/drive:v2/AppList/selfLink": self_link
+"/drive:v2/Change": change
+"/drive:v2/Change/deleted": deleted
+"/drive:v2/Change/file": file
+"/drive:v2/Change/fileId": file_id
+"/drive:v2/Change/id": id
+"/drive:v2/Change/kind": kind
+"/drive:v2/Change/modificationDate": modification_date
+"/drive:v2/Change/selfLink": self_link
+"/drive:v2/ChangeList": change_list
+"/drive:v2/ChangeList/etag": etag
+"/drive:v2/ChangeList/items": items
+"/drive:v2/ChangeList/items/item": item
+"/drive:v2/ChangeList/kind": kind
+"/drive:v2/ChangeList/largestChangeId": largest_change_id
+"/drive:v2/ChangeList/nextLink": next_link
+"/drive:v2/ChangeList/nextPageToken": next_page_token
+"/drive:v2/ChangeList/selfLink": self_link
+"/drive:v2/Channel": channel
+"/drive:v2/Channel/address": address
+"/drive:v2/Channel/expiration": expiration
+"/drive:v2/Channel/id": id
+"/drive:v2/Channel/kind": kind
+"/drive:v2/Channel/params": params
+"/drive:v2/Channel/params/param": param
+"/drive:v2/Channel/payload": payload
+"/drive:v2/Channel/resourceId": resource_id
+"/drive:v2/Channel/resourceUri": resource_uri
+"/drive:v2/Channel/token": token
+"/drive:v2/Channel/type": type
+"/drive:v2/ChildList": child_list
+"/drive:v2/ChildList/etag": etag
+"/drive:v2/ChildList/items": items
+"/drive:v2/ChildList/items/item": item
+"/drive:v2/ChildList/kind": kind
+"/drive:v2/ChildList/nextLink": next_link
+"/drive:v2/ChildList/nextPageToken": next_page_token
+"/drive:v2/ChildList/selfLink": self_link
+"/drive:v2/ChildReference": child_reference
+"/drive:v2/ChildReference/childLink": child_link
+"/drive:v2/ChildReference/id": id
+"/drive:v2/ChildReference/kind": kind
+"/drive:v2/ChildReference/selfLink": self_link
+"/drive:v2/Comment": comment
+"/drive:v2/Comment/anchor": anchor
+"/drive:v2/Comment/author": author
+"/drive:v2/Comment/commentId": comment_id
+"/drive:v2/Comment/content": content
+"/drive:v2/Comment/context": context
+"/drive:v2/Comment/context/type": type
+"/drive:v2/Comment/context/value": value
+"/drive:v2/Comment/createdDate": created_date
+"/drive:v2/Comment/deleted": deleted
+"/drive:v2/Comment/fileId": file_id
+"/drive:v2/Comment/fileTitle": file_title
+"/drive:v2/Comment/htmlContent": html_content
+"/drive:v2/Comment/kind": kind
+"/drive:v2/Comment/modifiedDate": modified_date
+"/drive:v2/Comment/replies": replies
+"/drive:v2/Comment/replies/reply": reply
+"/drive:v2/Comment/selfLink": self_link
+"/drive:v2/Comment/status": status
+"/drive:v2/CommentList": comment_list
+"/drive:v2/CommentList/items": items
+"/drive:v2/CommentList/items/item": item
+"/drive:v2/CommentList/kind": kind
+"/drive:v2/CommentList/nextLink": next_link
+"/drive:v2/CommentList/nextPageToken": next_page_token
+"/drive:v2/CommentList/selfLink": self_link
+"/drive:v2/CommentReply": comment_reply
+"/drive:v2/CommentReply/author": author
+"/drive:v2/CommentReply/content": content
+"/drive:v2/CommentReply/createdDate": created_date
+"/drive:v2/CommentReply/deleted": deleted
+"/drive:v2/CommentReply/htmlContent": html_content
+"/drive:v2/CommentReply/kind": kind
+"/drive:v2/CommentReply/modifiedDate": modified_date
+"/drive:v2/CommentReply/replyId": reply_id
+"/drive:v2/CommentReply/verb": verb
+"/drive:v2/CommentReplyList": comment_reply_list
+"/drive:v2/CommentReplyList/items": items
+"/drive:v2/CommentReplyList/items/item": item
+"/drive:v2/CommentReplyList/kind": kind
+"/drive:v2/CommentReplyList/nextLink": next_link
+"/drive:v2/CommentReplyList/nextPageToken": next_page_token
+"/drive:v2/CommentReplyList/selfLink": self_link
+"/drive:v2/File": file
+"/drive:v2/File/alternateLink": alternate_link
+"/drive:v2/File/appDataContents": app_data_contents
+"/drive:v2/File/copyable": copyable
+"/drive:v2/File/createdDate": created_date
+"/drive:v2/File/defaultOpenWithLink": default_open_with_link
+"/drive:v2/File/description": description
+"/drive:v2/File/downloadUrl": download_url
+"/drive:v2/File/editable": editable
+"/drive:v2/File/embedLink": embed_link
+"/drive:v2/File/etag": etag
+"/drive:v2/File/explicitlyTrashed": explicitly_trashed
+"/drive:v2/File/exportLinks": export_links
+"/drive:v2/File/exportLinks/export_link": export_link
+"/drive:v2/File/fileExtension": file_extension
+"/drive:v2/File/fileSize": file_size
+"/drive:v2/File/folderColorRgb": folder_color_rgb
+"/drive:v2/File/headRevisionId": head_revision_id
+"/drive:v2/File/iconLink": icon_link
+"/drive:v2/File/id": id
+"/drive:v2/File/imageMediaMetadata": image_media_metadata
+"/drive:v2/File/imageMediaMetadata/aperture": aperture
+"/drive:v2/File/imageMediaMetadata/cameraMake": camera_make
+"/drive:v2/File/imageMediaMetadata/cameraModel": camera_model
+"/drive:v2/File/imageMediaMetadata/colorSpace": color_space
+"/drive:v2/File/imageMediaMetadata/date": date
+"/drive:v2/File/imageMediaMetadata/exposureBias": exposure_bias
+"/drive:v2/File/imageMediaMetadata/exposureMode": exposure_mode
+"/drive:v2/File/imageMediaMetadata/exposureTime": exposure_time
+"/drive:v2/File/imageMediaMetadata/flashUsed": flash_used
+"/drive:v2/File/imageMediaMetadata/focalLength": focal_length
+"/drive:v2/File/imageMediaMetadata/height": height
+"/drive:v2/File/imageMediaMetadata/isoSpeed": iso_speed
+"/drive:v2/File/imageMediaMetadata/lens": lens
+"/drive:v2/File/imageMediaMetadata/location": location
+"/drive:v2/File/imageMediaMetadata/location/altitude": altitude
+"/drive:v2/File/imageMediaMetadata/location/latitude": latitude
+"/drive:v2/File/imageMediaMetadata/location/longitude": longitude
+"/drive:v2/File/imageMediaMetadata/maxApertureValue": max_aperture_value
+"/drive:v2/File/imageMediaMetadata/meteringMode": metering_mode
+"/drive:v2/File/imageMediaMetadata/rotation": rotation
+"/drive:v2/File/imageMediaMetadata/sensor": sensor
+"/drive:v2/File/imageMediaMetadata/subjectDistance": subject_distance
+"/drive:v2/File/imageMediaMetadata/whiteBalance": white_balance
+"/drive:v2/File/imageMediaMetadata/width": width
+"/drive:v2/File/indexableText": indexable_text
+"/drive:v2/File/indexableText/text": text
+"/drive:v2/File/kind": kind
+"/drive:v2/File/labels": labels
+"/drive:v2/File/labels/hidden": hidden
+"/drive:v2/File/labels/restricted": restricted
+"/drive:v2/File/labels/starred": starred
+"/drive:v2/File/labels/trashed": trashed
+"/drive:v2/File/labels/viewed": viewed
+"/drive:v2/File/lastModifyingUser": last_modifying_user
+"/drive:v2/File/lastModifyingUserName": last_modifying_user_name
+"/drive:v2/File/lastViewedByMeDate": last_viewed_by_me_date
+"/drive:v2/File/markedViewedByMeDate": marked_viewed_by_me_date
+"/drive:v2/File/md5Checksum": md5_checksum
+"/drive:v2/File/mimeType": mime_type
+"/drive:v2/File/modifiedByMeDate": modified_by_me_date
+"/drive:v2/File/modifiedDate": modified_date
+"/drive:v2/File/openWithLinks": open_with_links
+"/drive:v2/File/openWithLinks/open_with_link": open_with_link
+"/drive:v2/File/originalFilename": original_filename
+"/drive:v2/File/ownerNames": owner_names
+"/drive:v2/File/ownerNames/owner_name": owner_name
+"/drive:v2/File/owners": owners
+"/drive:v2/File/owners/owner": owner
+"/drive:v2/File/parents": parents
+"/drive:v2/File/parents/parent": parent
+"/drive:v2/File/permissions": permissions
+"/drive:v2/File/permissions/permission": permission
+"/drive:v2/File/properties": properties
+"/drive:v2/File/properties/property": property
+"/drive:v2/File/quotaBytesUsed": quota_bytes_used
+"/drive:v2/File/selfLink": self_link
+"/drive:v2/File/shared": shared
+"/drive:v2/File/sharedWithMeDate": shared_with_me_date
+"/drive:v2/File/sharingUser": sharing_user
+"/drive:v2/File/spaces": spaces
+"/drive:v2/File/spaces/space": space
+"/drive:v2/File/thumbnail": thumbnail
+"/drive:v2/File/thumbnail/image": image
+"/drive:v2/File/thumbnail/mimeType": mime_type
+"/drive:v2/File/thumbnailLink": thumbnail_link
+"/drive:v2/File/title": title
+"/drive:v2/File/userPermission": user_permission
+"/drive:v2/File/version": version
+"/drive:v2/File/videoMediaMetadata": video_media_metadata
+"/drive:v2/File/videoMediaMetadata/durationMillis": duration_millis
+"/drive:v2/File/videoMediaMetadata/height": height
+"/drive:v2/File/videoMediaMetadata/width": width
+"/drive:v2/File/webContentLink": web_content_link
+"/drive:v2/File/webViewLink": web_view_link
+"/drive:v2/File/writersCanShare": writers_can_share
+"/drive:v2/FileList": file_list
+"/drive:v2/FileList/etag": etag
+"/drive:v2/FileList/items": items
+"/drive:v2/FileList/items/item": item
+"/drive:v2/FileList/kind": kind
+"/drive:v2/FileList/nextLink": next_link
+"/drive:v2/FileList/nextPageToken": next_page_token
+"/drive:v2/FileList/selfLink": self_link
+"/drive:v2/ParentList": parent_list
+"/drive:v2/ParentList/etag": etag
+"/drive:v2/ParentList/items": items
+"/drive:v2/ParentList/items/item": item
+"/drive:v2/ParentList/kind": kind
+"/drive:v2/ParentList/selfLink": self_link
+"/drive:v2/ParentReference": parent_reference
+"/drive:v2/ParentReference/id": id
+"/drive:v2/ParentReference/isRoot": is_root
+"/drive:v2/ParentReference/kind": kind
+"/drive:v2/ParentReference/parentLink": parent_link
+"/drive:v2/ParentReference/selfLink": self_link
+"/drive:v2/Permission": permission
+"/drive:v2/Permission/additionalRoles": additional_roles
+"/drive:v2/Permission/additionalRoles/additional_role": additional_role
+"/drive:v2/Permission/authKey": auth_key
+"/drive:v2/Permission/domain": domain
+"/drive:v2/Permission/emailAddress": email_address
+"/drive:v2/Permission/etag": etag
+"/drive:v2/Permission/id": id
+"/drive:v2/Permission/kind": kind
+"/drive:v2/Permission/name": name
+"/drive:v2/Permission/photoLink": photo_link
+"/drive:v2/Permission/role": role
+"/drive:v2/Permission/selfLink": self_link
+"/drive:v2/Permission/type": type
+"/drive:v2/Permission/value": value
+"/drive:v2/Permission/withLink": with_link
+"/drive:v2/PermissionId": permission_id
+"/drive:v2/PermissionId/id": id
+"/drive:v2/PermissionId/kind": kind
+"/drive:v2/PermissionList": permission_list
+"/drive:v2/PermissionList/etag": etag
+"/drive:v2/PermissionList/items": items
+"/drive:v2/PermissionList/items/item": item
+"/drive:v2/PermissionList/kind": kind
+"/drive:v2/PermissionList/selfLink": self_link
+"/drive:v2/Property": property
+"/drive:v2/Property/etag": etag
+"/drive:v2/Property/key": key
+"/drive:v2/Property/kind": kind
+"/drive:v2/Property/selfLink": self_link
+"/drive:v2/Property/value": value
+"/drive:v2/Property/visibility": visibility
+"/drive:v2/PropertyList": property_list
+"/drive:v2/PropertyList/etag": etag
+"/drive:v2/PropertyList/items": items
+"/drive:v2/PropertyList/items/item": item
+"/drive:v2/PropertyList/kind": kind
+"/drive:v2/PropertyList/selfLink": self_link
+"/drive:v2/Revision": revision
+"/drive:v2/Revision/downloadUrl": download_url
+"/drive:v2/Revision/etag": etag
+"/drive:v2/Revision/exportLinks": export_links
+"/drive:v2/Revision/exportLinks/export_link": export_link
+"/drive:v2/Revision/fileSize": file_size
+"/drive:v2/Revision/id": id
+"/drive:v2/Revision/kind": kind
+"/drive:v2/Revision/lastModifyingUser": last_modifying_user
+"/drive:v2/Revision/lastModifyingUserName": last_modifying_user_name
+"/drive:v2/Revision/md5Checksum": md5_checksum
+"/drive:v2/Revision/mimeType": mime_type
+"/drive:v2/Revision/modifiedDate": modified_date
+"/drive:v2/Revision/originalFilename": original_filename
+"/drive:v2/Revision/pinned": pinned
+"/drive:v2/Revision/publishAuto": publish_auto
+"/drive:v2/Revision/published": published
+"/drive:v2/Revision/publishedLink": published_link
+"/drive:v2/Revision/publishedOutsideDomain": published_outside_domain
+"/drive:v2/Revision/selfLink": self_link
+"/drive:v2/RevisionList": revision_list
+"/drive:v2/RevisionList/etag": etag
+"/drive:v2/RevisionList/items": items
+"/drive:v2/RevisionList/items/item": item
+"/drive:v2/RevisionList/kind": kind
+"/drive:v2/RevisionList/selfLink": self_link
+"/drive:v2/User": user
+"/drive:v2/User/displayName": display_name
+"/drive:v2/User/emailAddress": email_address
+"/drive:v2/User/isAuthenticatedUser": is_authenticated_user
+"/drive:v2/User/kind": kind
+"/drive:v2/User/permissionId": permission_id
+"/drive:v2/User/picture": picture
+"/drive:v2/User/picture/url": url
+"/fitness:v1/fields": fields
+"/fitness:v1/key": key
+"/fitness:v1/quotaUser": quota_user
+"/fitness:v1/userIp": user_ip
+"/fitness:v1/fitness.users.dataSources.create": create_user_data_source
+"/fitness:v1/fitness.users.dataSources.create/userId": user_id
+"/fitness:v1/fitness.users.dataSources.delete": delete_user_data_source
+"/fitness:v1/fitness.users.dataSources.delete/dataSourceId": data_source_id
+"/fitness:v1/fitness.users.dataSources.delete/userId": user_id
+"/fitness:v1/fitness.users.dataSources.get": get_user_data_source
+"/fitness:v1/fitness.users.dataSources.get/dataSourceId": data_source_id
+"/fitness:v1/fitness.users.dataSources.get/userId": user_id
+"/fitness:v1/fitness.users.dataSources.list": list_user_data_sources
+"/fitness:v1/fitness.users.dataSources.list/dataTypeName": data_type_name
+"/fitness:v1/fitness.users.dataSources.list/userId": user_id
+"/fitness:v1/fitness.users.dataSources.patch": patch_user_data_source
+"/fitness:v1/fitness.users.dataSources.patch/dataSourceId": data_source_id
+"/fitness:v1/fitness.users.dataSources.patch/userId": user_id
+"/fitness:v1/fitness.users.dataSources.update": update_user_data_source
+"/fitness:v1/fitness.users.dataSources.update/dataSourceId": data_source_id
+"/fitness:v1/fitness.users.dataSources.update/userId": user_id
+"/fitness:v1/fitness.users.dataSources.datasets.delete": delete_user_data_source_dataset
+"/fitness:v1/fitness.users.dataSources.datasets.delete/currentTimeMillis": current_time_millis
+"/fitness:v1/fitness.users.dataSources.datasets.delete/dataSourceId": data_source_id
+"/fitness:v1/fitness.users.dataSources.datasets.delete/datasetId": dataset_id
+"/fitness:v1/fitness.users.dataSources.datasets.delete/modifiedTimeMillis": modified_time_millis
+"/fitness:v1/fitness.users.dataSources.datasets.delete/userId": user_id
+"/fitness:v1/fitness.users.dataSources.datasets.get": get_user_data_source_dataset
+"/fitness:v1/fitness.users.dataSources.datasets.get/dataSourceId": data_source_id
+"/fitness:v1/fitness.users.dataSources.datasets.get/datasetId": dataset_id
+"/fitness:v1/fitness.users.dataSources.datasets.get/limit": limit
+"/fitness:v1/fitness.users.dataSources.datasets.get/pageToken": page_token
+"/fitness:v1/fitness.users.dataSources.datasets.get/userId": user_id
+"/fitness:v1/fitness.users.dataSources.datasets.patch": patch_user_data_source_dataset
+"/fitness:v1/fitness.users.dataSources.datasets.patch/currentTimeMillis": current_time_millis
+"/fitness:v1/fitness.users.dataSources.datasets.patch/dataSourceId": data_source_id
+"/fitness:v1/fitness.users.dataSources.datasets.patch/datasetId": dataset_id
+"/fitness:v1/fitness.users.dataSources.datasets.patch/userId": user_id
+"/fitness:v1/fitness.users.dataset.aggregate": aggregate
+"/fitness:v1/fitness.users.dataset.aggregate/userId": user_id
+"/fitness:v1/fitness.users.sessions.delete": delete_user_session
+"/fitness:v1/fitness.users.sessions.delete/currentTimeMillis": current_time_millis
+"/fitness:v1/fitness.users.sessions.delete/sessionId": session_id
+"/fitness:v1/fitness.users.sessions.delete/userId": user_id
+"/fitness:v1/fitness.users.sessions.list": list_user_sessions
+"/fitness:v1/fitness.users.sessions.list/endTime": end_time
+"/fitness:v1/fitness.users.sessions.list/includeDeleted": include_deleted
+"/fitness:v1/fitness.users.sessions.list/pageToken": page_token
+"/fitness:v1/fitness.users.sessions.list/startTime": start_time
+"/fitness:v1/fitness.users.sessions.list/userId": user_id
+"/fitness:v1/fitness.users.sessions.update": update_user_session
+"/fitness:v1/fitness.users.sessions.update/currentTimeMillis": current_time_millis
+"/fitness:v1/fitness.users.sessions.update/sessionId": session_id
+"/fitness:v1/fitness.users.sessions.update/userId": user_id
+"/fitness:v1/AggregateBucket": aggregate_bucket
+"/fitness:v1/AggregateBucket/activity": activity
+"/fitness:v1/AggregateBucket/dataset": dataset
+"/fitness:v1/AggregateBucket/dataset/dataset": dataset
+"/fitness:v1/AggregateBucket/endTimeMillis": end_time_millis
+"/fitness:v1/AggregateBucket/session": session
+"/fitness:v1/AggregateBucket/startTimeMillis": start_time_millis
+"/fitness:v1/AggregateBucket/type": type
+"/fitness:v1/AggregateBy": aggregate_by
+"/fitness:v1/AggregateBy/dataSourceId": data_source_id
+"/fitness:v1/AggregateBy/dataTypeName": data_type_name
+"/fitness:v1/AggregateBy/outputDataSourceId": output_data_source_id
+"/fitness:v1/AggregateBy/outputDataTypeName": output_data_type_name
+"/fitness:v1/AggregateRequest": aggregate_request
+"/fitness:v1/AggregateRequest/aggregateBy": aggregate_by
+"/fitness:v1/AggregateRequest/aggregateBy/aggregate_by": aggregate_by
+"/fitness:v1/AggregateRequest/bucketByActivitySegment": bucket_by_activity_segment
+"/fitness:v1/AggregateRequest/bucketByActivityType": bucket_by_activity_type
+"/fitness:v1/AggregateRequest/bucketBySession": bucket_by_session
+"/fitness:v1/AggregateRequest/bucketByTime": bucket_by_time
+"/fitness:v1/AggregateRequest/endTimeMillis": end_time_millis
+"/fitness:v1/AggregateRequest/startTimeMillis": start_time_millis
+"/fitness:v1/AggregateResponse": aggregate_response
+"/fitness:v1/AggregateResponse/bucket": bucket
+"/fitness:v1/AggregateResponse/bucket/bucket": bucket
+"/fitness:v1/Application": application
+"/fitness:v1/Application/detailsUrl": details_url
+"/fitness:v1/Application/name": name
+"/fitness:v1/Application/packageName": package_name
+"/fitness:v1/Application/version": version
+"/fitness:v1/BucketByActivity": bucket_by_activity
+"/fitness:v1/BucketByActivity/activityDataSourceId": activity_data_source_id
+"/fitness:v1/BucketByActivity/minDurationMillis": min_duration_millis
+"/fitness:v1/BucketBySession": bucket_by_session
+"/fitness:v1/BucketBySession/minDurationMillis": min_duration_millis
+"/fitness:v1/BucketByTime": bucket_by_time
+"/fitness:v1/BucketByTime/durationMillis": duration_millis
+"/fitness:v1/DataPoint": data_point
+"/fitness:v1/DataPoint/computationTimeMillis": computation_time_millis
+"/fitness:v1/DataPoint/dataTypeName": data_type_name
+"/fitness:v1/DataPoint/endTimeNanos": end_time_nanos
+"/fitness:v1/DataPoint/modifiedTimeMillis": modified_time_millis
+"/fitness:v1/DataPoint/originDataSourceId": origin_data_source_id
+"/fitness:v1/DataPoint/rawTimestampNanos": raw_timestamp_nanos
+"/fitness:v1/DataPoint/startTimeNanos": start_time_nanos
+"/fitness:v1/DataPoint/value": value
+"/fitness:v1/DataPoint/value/value": value
+"/fitness:v1/DataSource": data_source
+"/fitness:v1/DataSource/application": application
+"/fitness:v1/DataSource/dataStreamId": data_stream_id
+"/fitness:v1/DataSource/dataStreamName": data_stream_name
+"/fitness:v1/DataSource/dataType": data_type
+"/fitness:v1/DataSource/device": device
+"/fitness:v1/DataSource/name": name
+"/fitness:v1/DataSource/type": type
+"/fitness:v1/DataType": data_type
+"/fitness:v1/DataType/field": field
+"/fitness:v1/DataType/field/field": field
+"/fitness:v1/DataType/name": name
+"/fitness:v1/DataTypeField": data_type_field
+"/fitness:v1/DataTypeField/format": format
+"/fitness:v1/DataTypeField/name": name
+"/fitness:v1/DataTypeField/optional": optional
+"/fitness:v1/Dataset": dataset
+"/fitness:v1/Dataset/dataSourceId": data_source_id
+"/fitness:v1/Dataset/maxEndTimeNs": max_end_time_ns
+"/fitness:v1/Dataset/minStartTimeNs": min_start_time_ns
+"/fitness:v1/Dataset/nextPageToken": next_page_token
+"/fitness:v1/Dataset/point": point
+"/fitness:v1/Dataset/point/point": point
+"/fitness:v1/Device": device
+"/fitness:v1/Device/manufacturer": manufacturer
+"/fitness:v1/Device/model": model
+"/fitness:v1/Device/type": type
+"/fitness:v1/Device/uid": uid
+"/fitness:v1/Device/version": version
+"/fitness:v1/ListDataSourcesResponse": list_data_sources_response
+"/fitness:v1/ListDataSourcesResponse/dataSource": data_source
+"/fitness:v1/ListDataSourcesResponse/dataSource/data_source": data_source
+"/fitness:v1/ListSessionsResponse": list_sessions_response
+"/fitness:v1/ListSessionsResponse/deletedSession": deleted_session
+"/fitness:v1/ListSessionsResponse/deletedSession/deleted_session": deleted_session
+"/fitness:v1/ListSessionsResponse/nextPageToken": next_page_token
+"/fitness:v1/ListSessionsResponse/session": session
+"/fitness:v1/ListSessionsResponse/session/session": session
+"/fitness:v1/Session": session
+"/fitness:v1/Session/activeTimeMillis": active_time_millis
+"/fitness:v1/Session/activityType": activity_type
+"/fitness:v1/Session/application": application
+"/fitness:v1/Session/description": description
+"/fitness:v1/Session/endTimeMillis": end_time_millis
+"/fitness:v1/Session/id": id
+"/fitness:v1/Session/modifiedTimeMillis": modified_time_millis
+"/fitness:v1/Session/name": name
+"/fitness:v1/Session/startTimeMillis": start_time_millis
+"/fitness:v1/Value": value
+"/fitness:v1/Value/fpVal": fp_val
+"/fitness:v1/Value/intVal": int_val
+"/fusiontables:v2/fields": fields
+"/fusiontables:v2/key": key
+"/fusiontables:v2/quotaUser": quota_user
+"/fusiontables:v2/userIp": user_ip
+"/fusiontables:v2/fusiontables.column.delete": delete_column
+"/fusiontables:v2/fusiontables.column.delete/columnId": column_id
+"/fusiontables:v2/fusiontables.column.delete/tableId": table_id
+"/fusiontables:v2/fusiontables.column.get": get_column
+"/fusiontables:v2/fusiontables.column.get/columnId": column_id
+"/fusiontables:v2/fusiontables.column.get/tableId": table_id
+"/fusiontables:v2/fusiontables.column.insert": insert_column
+"/fusiontables:v2/fusiontables.column.insert/tableId": table_id
+"/fusiontables:v2/fusiontables.column.list": list_columns
+"/fusiontables:v2/fusiontables.column.list/maxResults": max_results
+"/fusiontables:v2/fusiontables.column.list/pageToken": page_token
+"/fusiontables:v2/fusiontables.column.list/tableId": table_id
+"/fusiontables:v2/fusiontables.column.patch": patch_column
+"/fusiontables:v2/fusiontables.column.patch/columnId": column_id
+"/fusiontables:v2/fusiontables.column.patch/tableId": table_id
+"/fusiontables:v2/fusiontables.column.update": update_column
+"/fusiontables:v2/fusiontables.column.update/columnId": column_id
+"/fusiontables:v2/fusiontables.column.update/tableId": table_id
+"/fusiontables:v2/fusiontables.query.sql": sql_query
+"/fusiontables:v2/fusiontables.query.sql/hdrs": hdrs
+"/fusiontables:v2/fusiontables.query.sql/sql": sql
+"/fusiontables:v2/fusiontables.query.sql/typed": typed
+"/fusiontables:v2/fusiontables.query.sqlGet": sql_get_query
+"/fusiontables:v2/fusiontables.query.sqlGet/hdrs": hdrs
+"/fusiontables:v2/fusiontables.query.sqlGet/sql": sql
+"/fusiontables:v2/fusiontables.query.sqlGet/typed": typed
+"/fusiontables:v2/fusiontables.style.delete": delete_style
+"/fusiontables:v2/fusiontables.style.delete/styleId": style_id
+"/fusiontables:v2/fusiontables.style.delete/tableId": table_id
+"/fusiontables:v2/fusiontables.style.get": get_style
+"/fusiontables:v2/fusiontables.style.get/styleId": style_id
+"/fusiontables:v2/fusiontables.style.get/tableId": table_id
+"/fusiontables:v2/fusiontables.style.insert": insert_style
+"/fusiontables:v2/fusiontables.style.insert/tableId": table_id
+"/fusiontables:v2/fusiontables.style.list": list_styles
+"/fusiontables:v2/fusiontables.style.list/maxResults": max_results
+"/fusiontables:v2/fusiontables.style.list/pageToken": page_token
+"/fusiontables:v2/fusiontables.style.list/tableId": table_id
+"/fusiontables:v2/fusiontables.style.patch": patch_style
+"/fusiontables:v2/fusiontables.style.patch/styleId": style_id
+"/fusiontables:v2/fusiontables.style.patch/tableId": table_id
+"/fusiontables:v2/fusiontables.style.update": update_style
+"/fusiontables:v2/fusiontables.style.update/styleId": style_id
+"/fusiontables:v2/fusiontables.style.update/tableId": table_id
+"/fusiontables:v2/fusiontables.table.copy": copy_table
+"/fusiontables:v2/fusiontables.table.copy/copyPresentation": copy_presentation
+"/fusiontables:v2/fusiontables.table.copy/tableId": table_id
+"/fusiontables:v2/fusiontables.table.delete": delete_table
+"/fusiontables:v2/fusiontables.table.delete/tableId": table_id
+"/fusiontables:v2/fusiontables.table.get": get_table
+"/fusiontables:v2/fusiontables.table.get/tableId": table_id
+"/fusiontables:v2/fusiontables.table.importRows/delimiter": delimiter
+"/fusiontables:v2/fusiontables.table.importRows/encoding": encoding
+"/fusiontables:v2/fusiontables.table.importRows/endLine": end_line
+"/fusiontables:v2/fusiontables.table.importRows/isStrict": is_strict
+"/fusiontables:v2/fusiontables.table.importRows/startLine": start_line
+"/fusiontables:v2/fusiontables.table.importRows/tableId": table_id
+"/fusiontables:v2/fusiontables.table.importTable/delimiter": delimiter
+"/fusiontables:v2/fusiontables.table.importTable/encoding": encoding
+"/fusiontables:v2/fusiontables.table.importTable/name": name
+"/fusiontables:v2/fusiontables.table.insert": insert_table
+"/fusiontables:v2/fusiontables.table.list": list_tables
+"/fusiontables:v2/fusiontables.table.list/maxResults": max_results
+"/fusiontables:v2/fusiontables.table.list/pageToken": page_token
+"/fusiontables:v2/fusiontables.table.patch": patch_table
+"/fusiontables:v2/fusiontables.table.patch/replaceViewDefinition": replace_view_definition
+"/fusiontables:v2/fusiontables.table.patch/tableId": table_id
+"/fusiontables:v2/fusiontables.table.replaceRows": replace_rows_table
+"/fusiontables:v2/fusiontables.table.replaceRows/delimiter": delimiter
+"/fusiontables:v2/fusiontables.table.replaceRows/encoding": encoding
+"/fusiontables:v2/fusiontables.table.replaceRows/endLine": end_line
+"/fusiontables:v2/fusiontables.table.replaceRows/isStrict": is_strict
+"/fusiontables:v2/fusiontables.table.replaceRows/startLine": start_line
+"/fusiontables:v2/fusiontables.table.replaceRows/tableId": table_id
+"/fusiontables:v2/fusiontables.table.update": update_table
+"/fusiontables:v2/fusiontables.table.update/replaceViewDefinition": replace_view_definition
+"/fusiontables:v2/fusiontables.table.update/tableId": table_id
+"/fusiontables:v2/fusiontables.task.delete": delete_task
+"/fusiontables:v2/fusiontables.task.delete/tableId": table_id
+"/fusiontables:v2/fusiontables.task.delete/taskId": task_id
+"/fusiontables:v2/fusiontables.task.get": get_task
+"/fusiontables:v2/fusiontables.task.get/tableId": table_id
+"/fusiontables:v2/fusiontables.task.get/taskId": task_id
+"/fusiontables:v2/fusiontables.task.list": list_tasks
+"/fusiontables:v2/fusiontables.task.list/maxResults": max_results
+"/fusiontables:v2/fusiontables.task.list/pageToken": page_token
+"/fusiontables:v2/fusiontables.task.list/startIndex": start_index
+"/fusiontables:v2/fusiontables.task.list/tableId": table_id
+"/fusiontables:v2/fusiontables.template.delete": delete_template
+"/fusiontables:v2/fusiontables.template.delete/tableId": table_id
+"/fusiontables:v2/fusiontables.template.delete/templateId": template_id
+"/fusiontables:v2/fusiontables.template.get": get_template
+"/fusiontables:v2/fusiontables.template.get/tableId": table_id
+"/fusiontables:v2/fusiontables.template.get/templateId": template_id
+"/fusiontables:v2/fusiontables.template.insert": insert_template
+"/fusiontables:v2/fusiontables.template.insert/tableId": table_id
+"/fusiontables:v2/fusiontables.template.list": list_templates
+"/fusiontables:v2/fusiontables.template.list/maxResults": max_results
+"/fusiontables:v2/fusiontables.template.list/pageToken": page_token
+"/fusiontables:v2/fusiontables.template.list/tableId": table_id
+"/fusiontables:v2/fusiontables.template.patch": patch_template
+"/fusiontables:v2/fusiontables.template.patch/tableId": table_id
+"/fusiontables:v2/fusiontables.template.patch/templateId": template_id
+"/fusiontables:v2/fusiontables.template.update": update_template
+"/fusiontables:v2/fusiontables.template.update/tableId": table_id
+"/fusiontables:v2/fusiontables.template.update/templateId": template_id
+"/fusiontables:v2/Bucket": bucket
+"/fusiontables:v2/Bucket/color": color
+"/fusiontables:v2/Bucket/icon": icon
+"/fusiontables:v2/Bucket/max": max
+"/fusiontables:v2/Bucket/min": min
+"/fusiontables:v2/Bucket/opacity": opacity
+"/fusiontables:v2/Bucket/weight": weight
+"/fusiontables:v2/Column": column
+"/fusiontables:v2/Column/baseColumn": base_column
+"/fusiontables:v2/Column/baseColumn/columnId": column_id
+"/fusiontables:v2/Column/baseColumn/tableIndex": table_index
+"/fusiontables:v2/Column/columnId": column_id
+"/fusiontables:v2/Column/columnJsonSchema": column_json_schema
+"/fusiontables:v2/Column/columnPropertiesJson": column_properties_json
+"/fusiontables:v2/Column/description": description
+"/fusiontables:v2/Column/formatPattern": format_pattern
+"/fusiontables:v2/Column/graphPredicate": graph_predicate
+"/fusiontables:v2/Column/kind": kind
+"/fusiontables:v2/Column/name": name
+"/fusiontables:v2/Column/type": type
+"/fusiontables:v2/Column/validValues": valid_values
+"/fusiontables:v2/Column/validValues/valid_value": valid_value
+"/fusiontables:v2/Column/validateData": validate_data
+"/fusiontables:v2/ColumnList": column_list
+"/fusiontables:v2/ColumnList/items": items
+"/fusiontables:v2/ColumnList/items/item": item
+"/fusiontables:v2/ColumnList/kind": kind
+"/fusiontables:v2/ColumnList/nextPageToken": next_page_token
+"/fusiontables:v2/ColumnList/totalItems": total_items
+"/fusiontables:v2/Geometry": geometry
+"/fusiontables:v2/Geometry/geometries": geometries
+"/fusiontables:v2/Geometry/geometries/geometry": geometry
+"/fusiontables:v2/Geometry/geometry": geometry
+"/fusiontables:v2/Geometry/type": type
+"/fusiontables:v2/Import": import
+"/fusiontables:v2/Import/kind": kind
+"/fusiontables:v2/Import/numRowsReceived": num_rows_received
+"/fusiontables:v2/Line": line
+"/fusiontables:v2/Line/coordinates": coordinates
+"/fusiontables:v2/Line/coordinates/coordinate": coordinate
+"/fusiontables:v2/Line/coordinates/coordinate/coordinate": coordinate
+"/fusiontables:v2/Line/type": type
+"/fusiontables:v2/LineStyle": line_style
+"/fusiontables:v2/LineStyle/strokeColor": stroke_color
+"/fusiontables:v2/LineStyle/strokeColorStyler": stroke_color_styler
+"/fusiontables:v2/LineStyle/strokeOpacity": stroke_opacity
+"/fusiontables:v2/LineStyle/strokeWeight": stroke_weight
+"/fusiontables:v2/LineStyle/strokeWeightStyler": stroke_weight_styler
+"/fusiontables:v2/Point": point
+"/fusiontables:v2/Point/coordinates": coordinates
+"/fusiontables:v2/Point/coordinates/coordinate": coordinate
+"/fusiontables:v2/Point/type": type
+"/fusiontables:v2/PointStyle": point_style
+"/fusiontables:v2/PointStyle/iconName": icon_name
+"/fusiontables:v2/PointStyle/iconStyler": icon_styler
+"/fusiontables:v2/Polygon": polygon
+"/fusiontables:v2/Polygon/coordinates": coordinates
+"/fusiontables:v2/Polygon/coordinates/coordinate": coordinate
+"/fusiontables:v2/Polygon/coordinates/coordinate/coordinate": coordinate
+"/fusiontables:v2/Polygon/coordinates/coordinate/coordinate/coordinate": coordinate
+"/fusiontables:v2/Polygon/type": type
+"/fusiontables:v2/PolygonStyle": polygon_style
+"/fusiontables:v2/PolygonStyle/fillColor": fill_color
+"/fusiontables:v2/PolygonStyle/fillColorStyler": fill_color_styler
+"/fusiontables:v2/PolygonStyle/fillOpacity": fill_opacity
+"/fusiontables:v2/PolygonStyle/strokeColor": stroke_color
+"/fusiontables:v2/PolygonStyle/strokeColorStyler": stroke_color_styler
+"/fusiontables:v2/PolygonStyle/strokeOpacity": stroke_opacity
+"/fusiontables:v2/PolygonStyle/strokeWeight": stroke_weight
+"/fusiontables:v2/PolygonStyle/strokeWeightStyler": stroke_weight_styler
+"/fusiontables:v2/Sqlresponse": sqlresponse
+"/fusiontables:v2/Sqlresponse/columns": columns
+"/fusiontables:v2/Sqlresponse/columns/column": column
+"/fusiontables:v2/Sqlresponse/kind": kind
+"/fusiontables:v2/Sqlresponse/rows": rows
+"/fusiontables:v2/Sqlresponse/rows/row": row
+"/fusiontables:v2/Sqlresponse/rows/row/row": row
+"/fusiontables:v2/StyleFunction": style_function
+"/fusiontables:v2/StyleFunction/buckets": buckets
+"/fusiontables:v2/StyleFunction/buckets/bucket": bucket
+"/fusiontables:v2/StyleFunction/columnName": column_name
+"/fusiontables:v2/StyleFunction/gradient": gradient
+"/fusiontables:v2/StyleFunction/gradient/colors": colors
+"/fusiontables:v2/StyleFunction/gradient/colors/color": color
+"/fusiontables:v2/StyleFunction/gradient/colors/color/color": color
+"/fusiontables:v2/StyleFunction/gradient/colors/color/opacity": opacity
+"/fusiontables:v2/StyleFunction/gradient/max": max
+"/fusiontables:v2/StyleFunction/gradient/min": min
+"/fusiontables:v2/StyleFunction/kind": kind
+"/fusiontables:v2/StyleSetting": style_setting
+"/fusiontables:v2/StyleSetting/kind": kind
+"/fusiontables:v2/StyleSetting/markerOptions": marker_options
+"/fusiontables:v2/StyleSetting/name": name
+"/fusiontables:v2/StyleSetting/polygonOptions": polygon_options
+"/fusiontables:v2/StyleSetting/polylineOptions": polyline_options
+"/fusiontables:v2/StyleSetting/styleId": style_id
+"/fusiontables:v2/StyleSetting/tableId": table_id
+"/fusiontables:v2/StyleSettingList": style_setting_list
+"/fusiontables:v2/StyleSettingList/items": items
+"/fusiontables:v2/StyleSettingList/items/item": item
+"/fusiontables:v2/StyleSettingList/kind": kind
+"/fusiontables:v2/StyleSettingList/nextPageToken": next_page_token
+"/fusiontables:v2/StyleSettingList/totalItems": total_items
+"/fusiontables:v2/Table": table
+"/fusiontables:v2/Table/attribution": attribution
+"/fusiontables:v2/Table/attributionLink": attribution_link
+"/fusiontables:v2/Table/baseTableIds": base_table_ids
+"/fusiontables:v2/Table/baseTableIds/base_table_id": base_table_id
+"/fusiontables:v2/Table/columnPropertiesJsonSchema": column_properties_json_schema
+"/fusiontables:v2/Table/columns": columns
+"/fusiontables:v2/Table/columns/column": column
+"/fusiontables:v2/Table/description": description
+"/fusiontables:v2/Table/isExportable": is_exportable
+"/fusiontables:v2/Table/kind": kind
+"/fusiontables:v2/Table/name": name
+"/fusiontables:v2/Table/sql": sql
+"/fusiontables:v2/Table/tableId": table_id
+"/fusiontables:v2/Table/tablePropertiesJson": table_properties_json
+"/fusiontables:v2/Table/tablePropertiesJsonSchema": table_properties_json_schema
+"/fusiontables:v2/TableList": table_list
+"/fusiontables:v2/TableList/items": items
+"/fusiontables:v2/TableList/items/item": item
+"/fusiontables:v2/TableList/kind": kind
+"/fusiontables:v2/TableList/nextPageToken": next_page_token
+"/fusiontables:v2/Task": task
+"/fusiontables:v2/Task/kind": kind
+"/fusiontables:v2/Task/progress": progress
+"/fusiontables:v2/Task/started": started
+"/fusiontables:v2/Task/taskId": task_id
+"/fusiontables:v2/Task/type": type
+"/fusiontables:v2/TaskList": task_list
+"/fusiontables:v2/TaskList/items": items
+"/fusiontables:v2/TaskList/items/item": item
+"/fusiontables:v2/TaskList/kind": kind
+"/fusiontables:v2/TaskList/nextPageToken": next_page_token
+"/fusiontables:v2/TaskList/totalItems": total_items
+"/fusiontables:v2/Template": template
+"/fusiontables:v2/Template/automaticColumnNames": automatic_column_names
+"/fusiontables:v2/Template/automaticColumnNames/automatic_column_name": automatic_column_name
+"/fusiontables:v2/Template/body": body
+"/fusiontables:v2/Template/kind": kind
+"/fusiontables:v2/Template/name": name
+"/fusiontables:v2/Template/tableId": table_id
+"/fusiontables:v2/Template/templateId": template_id
+"/fusiontables:v2/TemplateList": template_list
+"/fusiontables:v2/TemplateList/items": items
+"/fusiontables:v2/TemplateList/items/item": item
+"/fusiontables:v2/TemplateList/kind": kind
+"/fusiontables:v2/TemplateList/nextPageToken": next_page_token
+"/fusiontables:v2/TemplateList/totalItems": total_items
+"/games:v1/fields": fields
+"/games:v1/key": key
+"/games:v1/quotaUser": quota_user
+"/games:v1/userIp": user_ip
+"/games:v1/games.achievementDefinitions.list": list_achievement_definitions
+"/games:v1/games.achievementDefinitions.list/language": language
+"/games:v1/games.achievementDefinitions.list/maxResults": max_results
+"/games:v1/games.achievementDefinitions.list/pageToken": page_token
+"/games:v1/games.achievements.increment": increment_achievement
+"/games:v1/games.achievements.increment/achievementId": achievement_id
+"/games:v1/games.achievements.increment/requestId": request_id
+"/games:v1/games.achievements.increment/stepsToIncrement": steps_to_increment
+"/games:v1/games.achievements.list": list_achievements
+"/games:v1/games.achievements.list/language": language
+"/games:v1/games.achievements.list/maxResults": max_results
+"/games:v1/games.achievements.list/pageToken": page_token
+"/games:v1/games.achievements.list/playerId": player_id
+"/games:v1/games.achievements.list/state": state
+"/games:v1/games.achievements.reveal": reveal_achievement
+"/games:v1/games.achievements.reveal/achievementId": achievement_id
+"/games:v1/games.achievements.setStepsAtLeast": set_steps_at_least_achievement
+"/games:v1/games.achievements.setStepsAtLeast/achievementId": achievement_id
+"/games:v1/games.achievements.setStepsAtLeast/steps": steps
+"/games:v1/games.achievements.unlock": unlock_achievement
+"/games:v1/games.achievements.unlock/achievementId": achievement_id
+"/games:v1/games.applications.get": get_application
+"/games:v1/games.applications.get/applicationId": application_id
+"/games:v1/games.applications.get/language": language
+"/games:v1/games.applications.get/platformType": platform_type
+"/games:v1/games.applications.played": played_application
+"/games:v1/games.events.listByPlayer": list_by_player_event
+"/games:v1/games.events.listByPlayer/language": language
+"/games:v1/games.events.listByPlayer/maxResults": max_results
+"/games:v1/games.events.listByPlayer/pageToken": page_token
+"/games:v1/games.events.listDefinitions/language": language
+"/games:v1/games.events.listDefinitions/maxResults": max_results
+"/games:v1/games.events.listDefinitions/pageToken": page_token
+"/games:v1/games.events.record": record_event
+"/games:v1/games.events.record/language": language
+"/games:v1/games.leaderboards.get": get_leaderboard
+"/games:v1/games.leaderboards.get/language": language
+"/games:v1/games.leaderboards.get/leaderboardId": leaderboard_id
+"/games:v1/games.leaderboards.list": list_leaderboards
+"/games:v1/games.leaderboards.list/language": language
+"/games:v1/games.leaderboards.list/maxResults": max_results
+"/games:v1/games.leaderboards.list/pageToken": page_token
+"/games:v1/games.metagame.listCategoriesByPlayer": list_categories_by_player_metagame
+"/games:v1/games.metagame.listCategoriesByPlayer/collection": collection
+"/games:v1/games.metagame.listCategoriesByPlayer/language": language
+"/games:v1/games.metagame.listCategoriesByPlayer/maxResults": max_results
+"/games:v1/games.metagame.listCategoriesByPlayer/pageToken": page_token
+"/games:v1/games.metagame.listCategoriesByPlayer/playerId": player_id
+"/games:v1/games.players.get": get_player
+"/games:v1/games.players.get/language": language
+"/games:v1/games.players.get/playerId": player_id
+"/games:v1/games.players.list": list_players
+"/games:v1/games.players.list/collection": collection
+"/games:v1/games.players.list/language": language
+"/games:v1/games.players.list/maxResults": max_results
+"/games:v1/games.players.list/pageToken": page_token
+"/games:v1/games.pushtokens.remove": remove_pushtoken
+"/games:v1/games.pushtokens.update": update_pushtoken
+"/games:v1/games.questMilestones.claim": claim_quest_milestone
+"/games:v1/games.questMilestones.claim/milestoneId": milestone_id
+"/games:v1/games.questMilestones.claim/questId": quest_id
+"/games:v1/games.questMilestones.claim/requestId": request_id
+"/games:v1/games.quests.accept": accept_quest
+"/games:v1/games.quests.accept/language": language
+"/games:v1/games.quests.accept/questId": quest_id
+"/games:v1/games.quests.list": list_quests
+"/games:v1/games.quests.list/language": language
+"/games:v1/games.quests.list/maxResults": max_results
+"/games:v1/games.quests.list/pageToken": page_token
+"/games:v1/games.quests.list/playerId": player_id
+"/games:v1/games.revisions.check": check_revision
+"/games:v1/games.revisions.check/clientRevision": client_revision
+"/games:v1/games.rooms.create": create_room
+"/games:v1/games.rooms.create/language": language
+"/games:v1/games.rooms.decline": decline_room
+"/games:v1/games.rooms.decline/language": language
+"/games:v1/games.rooms.decline/roomId": room_id
+"/games:v1/games.rooms.dismiss": dismiss_room
+"/games:v1/games.rooms.dismiss/roomId": room_id
+"/games:v1/games.rooms.get": get_room
+"/games:v1/games.rooms.get/language": language
+"/games:v1/games.rooms.get/roomId": room_id
+"/games:v1/games.rooms.join": join_room
+"/games:v1/games.rooms.join/language": language
+"/games:v1/games.rooms.join/roomId": room_id
+"/games:v1/games.rooms.leave": leave_room
+"/games:v1/games.rooms.leave/language": language
+"/games:v1/games.rooms.leave/roomId": room_id
+"/games:v1/games.rooms.list": list_rooms
+"/games:v1/games.rooms.list/language": language
+"/games:v1/games.rooms.list/maxResults": max_results
+"/games:v1/games.rooms.list/pageToken": page_token
+"/games:v1/games.rooms.reportStatus/language": language
+"/games:v1/games.rooms.reportStatus/roomId": room_id
+"/games:v1/games.scores.get": get_score
+"/games:v1/games.scores.get/includeRankType": include_rank_type
+"/games:v1/games.scores.get/language": language
+"/games:v1/games.scores.get/leaderboardId": leaderboard_id
+"/games:v1/games.scores.get/maxResults": max_results
+"/games:v1/games.scores.get/pageToken": page_token
+"/games:v1/games.scores.get/playerId": player_id
+"/games:v1/games.scores.get/timeSpan": time_span
+"/games:v1/games.scores.list": list_scores
+"/games:v1/games.scores.list/collection": collection
+"/games:v1/games.scores.list/language": language
+"/games:v1/games.scores.list/leaderboardId": leaderboard_id
+"/games:v1/games.scores.list/maxResults": max_results
+"/games:v1/games.scores.list/pageToken": page_token
+"/games:v1/games.scores.list/timeSpan": time_span
+"/games:v1/games.scores.listWindow": list_window_score
+"/games:v1/games.scores.listWindow/collection": collection
+"/games:v1/games.scores.listWindow/language": language
+"/games:v1/games.scores.listWindow/leaderboardId": leaderboard_id
+"/games:v1/games.scores.listWindow/maxResults": max_results
+"/games:v1/games.scores.listWindow/pageToken": page_token
+"/games:v1/games.scores.listWindow/resultsAbove": results_above
+"/games:v1/games.scores.listWindow/returnTopIfAbsent": return_top_if_absent
+"/games:v1/games.scores.listWindow/timeSpan": time_span
+"/games:v1/games.scores.submit": submit_score
+"/games:v1/games.scores.submit/language": language
+"/games:v1/games.scores.submit/leaderboardId": leaderboard_id
+"/games:v1/games.scores.submit/score": score
+"/games:v1/games.scores.submit/scoreTag": score_tag
+"/games:v1/games.scores.submitMultiple": submit_multiple_score
+"/games:v1/games.scores.submitMultiple/language": language
+"/games:v1/games.snapshots.get": get_snapshot
+"/games:v1/games.snapshots.get/language": language
+"/games:v1/games.snapshots.get/snapshotId": snapshot_id
+"/games:v1/games.snapshots.list": list_snapshots
+"/games:v1/games.snapshots.list/language": language
+"/games:v1/games.snapshots.list/maxResults": max_results
+"/games:v1/games.snapshots.list/pageToken": page_token
+"/games:v1/games.snapshots.list/playerId": player_id
+"/games:v1/games.turnBasedMatches.cancel": cancel_turn_based_match
+"/games:v1/games.turnBasedMatches.cancel/matchId": match_id
+"/games:v1/games.turnBasedMatches.create": create_turn_based_match
+"/games:v1/games.turnBasedMatches.create/language": language
+"/games:v1/games.turnBasedMatches.decline": decline_turn_based_match
+"/games:v1/games.turnBasedMatches.decline/language": language
+"/games:v1/games.turnBasedMatches.decline/matchId": match_id
+"/games:v1/games.turnBasedMatches.dismiss": dismiss_turn_based_match
+"/games:v1/games.turnBasedMatches.dismiss/matchId": match_id
+"/games:v1/games.turnBasedMatches.finish": finish_turn_based_match
+"/games:v1/games.turnBasedMatches.finish/language": language
+"/games:v1/games.turnBasedMatches.finish/matchId": match_id
+"/games:v1/games.turnBasedMatches.get": get_turn_based_match
+"/games:v1/games.turnBasedMatches.get/includeMatchData": include_match_data
+"/games:v1/games.turnBasedMatches.get/language": language
+"/games:v1/games.turnBasedMatches.get/matchId": match_id
+"/games:v1/games.turnBasedMatches.join": join_turn_based_match
+"/games:v1/games.turnBasedMatches.join/language": language
+"/games:v1/games.turnBasedMatches.join/matchId": match_id
+"/games:v1/games.turnBasedMatches.leave": leave_turn_based_match
+"/games:v1/games.turnBasedMatches.leave/language": language
+"/games:v1/games.turnBasedMatches.leave/matchId": match_id
+"/games:v1/games.turnBasedMatches.leaveTurn/language": language
+"/games:v1/games.turnBasedMatches.leaveTurn/matchId": match_id
+"/games:v1/games.turnBasedMatches.leaveTurn/matchVersion": match_version
+"/games:v1/games.turnBasedMatches.leaveTurn/pendingParticipantId": pending_participant_id
+"/games:v1/games.turnBasedMatches.list": list_turn_based_matches
+"/games:v1/games.turnBasedMatches.list/includeMatchData": include_match_data
+"/games:v1/games.turnBasedMatches.list/language": language
+"/games:v1/games.turnBasedMatches.list/maxCompletedMatches": max_completed_matches
+"/games:v1/games.turnBasedMatches.list/maxResults": max_results
+"/games:v1/games.turnBasedMatches.list/pageToken": page_token
+"/games:v1/games.turnBasedMatches.rematch": rematch_turn_based_match
+"/games:v1/games.turnBasedMatches.rematch/language": language
+"/games:v1/games.turnBasedMatches.rematch/matchId": match_id
+"/games:v1/games.turnBasedMatches.rematch/requestId": request_id
+"/games:v1/games.turnBasedMatches.sync": sync_turn_based_match
+"/games:v1/games.turnBasedMatches.sync/includeMatchData": include_match_data
+"/games:v1/games.turnBasedMatches.sync/language": language
+"/games:v1/games.turnBasedMatches.sync/maxCompletedMatches": max_completed_matches
+"/games:v1/games.turnBasedMatches.sync/maxResults": max_results
+"/games:v1/games.turnBasedMatches.sync/pageToken": page_token
+"/games:v1/games.turnBasedMatches.takeTurn/language": language
+"/games:v1/games.turnBasedMatches.takeTurn/matchId": match_id
+"/games:v1/AchievementDefinition": achievement_definition
+"/games:v1/AchievementDefinition/achievementType": achievement_type
+"/games:v1/AchievementDefinition/description": description
+"/games:v1/AchievementDefinition/experiencePoints": experience_points
+"/games:v1/AchievementDefinition/formattedTotalSteps": formatted_total_steps
+"/games:v1/AchievementDefinition/id": id
+"/games:v1/AchievementDefinition/initialState": initial_state
+"/games:v1/AchievementDefinition/isRevealedIconUrlDefault": is_revealed_icon_url_default
+"/games:v1/AchievementDefinition/isUnlockedIconUrlDefault": is_unlocked_icon_url_default
+"/games:v1/AchievementDefinition/kind": kind
+"/games:v1/AchievementDefinition/name": name
+"/games:v1/AchievementDefinition/revealedIconUrl": revealed_icon_url
+"/games:v1/AchievementDefinition/totalSteps": total_steps
+"/games:v1/AchievementDefinition/unlockedIconUrl": unlocked_icon_url
+"/games:v1/AchievementDefinitionsListResponse/items": items
+"/games:v1/AchievementDefinitionsListResponse/items/item": item
+"/games:v1/AchievementDefinitionsListResponse/kind": kind
+"/games:v1/AchievementDefinitionsListResponse/nextPageToken": next_page_token
+"/games:v1/AchievementIncrementResponse/currentSteps": current_steps
+"/games:v1/AchievementIncrementResponse/kind": kind
+"/games:v1/AchievementIncrementResponse/newlyUnlocked": newly_unlocked
+"/games:v1/AchievementRevealResponse/currentState": current_state
+"/games:v1/AchievementRevealResponse/kind": kind
+"/games:v1/AchievementSetStepsAtLeastResponse/currentSteps": current_steps
+"/games:v1/AchievementSetStepsAtLeastResponse/kind": kind
+"/games:v1/AchievementSetStepsAtLeastResponse/newlyUnlocked": newly_unlocked
+"/games:v1/AchievementUnlockResponse/kind": kind
+"/games:v1/AchievementUnlockResponse/newlyUnlocked": newly_unlocked
+"/games:v1/AchievementUpdateMultipleRequest/kind": kind
+"/games:v1/AchievementUpdateMultipleRequest/updates": updates
+"/games:v1/AchievementUpdateMultipleRequest/updates/update": update
+"/games:v1/AchievementUpdateMultipleResponse/kind": kind
+"/games:v1/AchievementUpdateMultipleResponse/updatedAchievements": updated_achievements
+"/games:v1/AchievementUpdateMultipleResponse/updatedAchievements/updated_achievement": updated_achievement
+"/games:v1/AchievementUpdateRequest/achievementId": achievement_id
+"/games:v1/AchievementUpdateRequest/incrementPayload": increment_payload
+"/games:v1/AchievementUpdateRequest/kind": kind
+"/games:v1/AchievementUpdateRequest/setStepsAtLeastPayload": set_steps_at_least_payload
+"/games:v1/AchievementUpdateRequest/updateType": update_type
+"/games:v1/AchievementUpdateResponse/achievementId": achievement_id
+"/games:v1/AchievementUpdateResponse/currentState": current_state
+"/games:v1/AchievementUpdateResponse/currentSteps": current_steps
+"/games:v1/AchievementUpdateResponse/kind": kind
+"/games:v1/AchievementUpdateResponse/newlyUnlocked": newly_unlocked
+"/games:v1/AchievementUpdateResponse/updateOccurred": update_occurred
+"/games:v1/AggregateStats": aggregate_stats
+"/games:v1/AggregateStats/count": count
+"/games:v1/AggregateStats/kind": kind
+"/games:v1/AggregateStats/max": max
+"/games:v1/AggregateStats/min": min
+"/games:v1/AggregateStats/sum": sum
+"/games:v1/AnonymousPlayer": anonymous_player
+"/games:v1/AnonymousPlayer/avatarImageUrl": avatar_image_url
+"/games:v1/AnonymousPlayer/displayName": display_name
+"/games:v1/AnonymousPlayer/kind": kind
+"/games:v1/Application": application
+"/games:v1/Application/achievement_count": achievement_count
+"/games:v1/Application/assets": assets
+"/games:v1/Application/assets/asset": asset
+"/games:v1/Application/author": author
+"/games:v1/Application/category": category
+"/games:v1/Application/description": description
+"/games:v1/Application/enabledFeatures": enabled_features
+"/games:v1/Application/enabledFeatures/enabled_feature": enabled_feature
+"/games:v1/Application/id": id
+"/games:v1/Application/instances": instances
+"/games:v1/Application/instances/instance": instance
+"/games:v1/Application/kind": kind
+"/games:v1/Application/lastUpdatedTimestamp": last_updated_timestamp
+"/games:v1/Application/leaderboard_count": leaderboard_count
+"/games:v1/Application/name": name
+"/games:v1/Application/themeColor": theme_color
+"/games:v1/ApplicationCategory": application_category
+"/games:v1/ApplicationCategory/kind": kind
+"/games:v1/ApplicationCategory/primary": primary
+"/games:v1/ApplicationCategory/secondary": secondary
+"/games:v1/Category": category
+"/games:v1/Category/category": category
+"/games:v1/Category/experiencePoints": experience_points
+"/games:v1/Category/kind": kind
+"/games:v1/CategoryListResponse/items": items
+"/games:v1/CategoryListResponse/items/item": item
+"/games:v1/CategoryListResponse/kind": kind
+"/games:v1/CategoryListResponse/nextPageToken": next_page_token
+"/games:v1/EventBatchRecordFailure": event_batch_record_failure
+"/games:v1/EventBatchRecordFailure/failureCause": failure_cause
+"/games:v1/EventBatchRecordFailure/kind": kind
+"/games:v1/EventBatchRecordFailure/range": range
+"/games:v1/EventChild": event_child
+"/games:v1/EventChild/childId": child_id
+"/games:v1/EventChild/kind": kind
+"/games:v1/EventDefinition": event_definition
+"/games:v1/EventDefinition/childEvents": child_events
+"/games:v1/EventDefinition/childEvents/child_event": child_event
+"/games:v1/EventDefinition/description": description
+"/games:v1/EventDefinition/displayName": display_name
+"/games:v1/EventDefinition/id": id
+"/games:v1/EventDefinition/imageUrl": image_url
+"/games:v1/EventDefinition/isDefaultImageUrl": is_default_image_url
+"/games:v1/EventDefinition/kind": kind
+"/games:v1/EventDefinition/visibility": visibility
+"/games:v1/EventDefinitionListResponse/items": items
+"/games:v1/EventDefinitionListResponse/items/item": item
+"/games:v1/EventDefinitionListResponse/kind": kind
+"/games:v1/EventDefinitionListResponse/nextPageToken": next_page_token
+"/games:v1/EventPeriodRange": event_period_range
+"/games:v1/EventPeriodRange/kind": kind
+"/games:v1/EventPeriodRange/periodEndMillis": period_end_millis
+"/games:v1/EventPeriodRange/periodStartMillis": period_start_millis
+"/games:v1/EventPeriodUpdate": event_period_update
+"/games:v1/EventPeriodUpdate/kind": kind
+"/games:v1/EventPeriodUpdate/timePeriod": time_period
+"/games:v1/EventPeriodUpdate/updates": updates
+"/games:v1/EventPeriodUpdate/updates/update": update
+"/games:v1/EventRecordFailure": event_record_failure
+"/games:v1/EventRecordFailure/eventId": event_id
+"/games:v1/EventRecordFailure/failureCause": failure_cause
+"/games:v1/EventRecordFailure/kind": kind
+"/games:v1/EventRecordRequest/currentTimeMillis": current_time_millis
+"/games:v1/EventRecordRequest/kind": kind
+"/games:v1/EventRecordRequest/requestId": request_id
+"/games:v1/EventRecordRequest/timePeriods": time_periods
+"/games:v1/EventRecordRequest/timePeriods/time_period": time_period
+"/games:v1/EventUpdateRequest/definitionId": definition_id
+"/games:v1/EventUpdateRequest/kind": kind
+"/games:v1/EventUpdateRequest/updateCount": update_count
+"/games:v1/EventUpdateResponse/batchFailures": batch_failures
+"/games:v1/EventUpdateResponse/batchFailures/batch_failure": batch_failure
+"/games:v1/EventUpdateResponse/eventFailures": event_failures
+"/games:v1/EventUpdateResponse/eventFailures/event_failure": event_failure
+"/games:v1/EventUpdateResponse/kind": kind
+"/games:v1/EventUpdateResponse/playerEvents": player_events
+"/games:v1/EventUpdateResponse/playerEvents/player_event": player_event
+"/games:v1/GamesAchievementIncrement": games_achievement_increment
+"/games:v1/GamesAchievementIncrement/kind": kind
+"/games:v1/GamesAchievementIncrement/requestId": request_id
+"/games:v1/GamesAchievementIncrement/steps": steps
+"/games:v1/GamesAchievementSetStepsAtLeast": games_achievement_set_steps_at_least
+"/games:v1/GamesAchievementSetStepsAtLeast/kind": kind
+"/games:v1/GamesAchievementSetStepsAtLeast/steps": steps
+"/games:v1/ImageAsset": image_asset
+"/games:v1/ImageAsset/height": height
+"/games:v1/ImageAsset/kind": kind
+"/games:v1/ImageAsset/name": name
+"/games:v1/ImageAsset/url": url
+"/games:v1/ImageAsset/width": width
+"/games:v1/Instance": instance
+"/games:v1/Instance/acquisitionUri": acquisition_uri
+"/games:v1/Instance/androidInstance": android_instance
+"/games:v1/Instance/iosInstance": ios_instance
+"/games:v1/Instance/kind": kind
+"/games:v1/Instance/name": name
+"/games:v1/Instance/platformType": platform_type
+"/games:v1/Instance/realtimePlay": realtime_play
+"/games:v1/Instance/turnBasedPlay": turn_based_play
+"/games:v1/Instance/webInstance": web_instance
+"/games:v1/InstanceAndroidDetails": instance_android_details
+"/games:v1/InstanceAndroidDetails/enablePiracyCheck": enable_piracy_check
+"/games:v1/InstanceAndroidDetails/kind": kind
+"/games:v1/InstanceAndroidDetails/packageName": package_name
+"/games:v1/InstanceAndroidDetails/preferred": preferred
+"/games:v1/InstanceIosDetails": instance_ios_details
+"/games:v1/InstanceIosDetails/bundleIdentifier": bundle_identifier
+"/games:v1/InstanceIosDetails/itunesAppId": itunes_app_id
+"/games:v1/InstanceIosDetails/kind": kind
+"/games:v1/InstanceIosDetails/preferredForIpad": preferred_for_ipad
+"/games:v1/InstanceIosDetails/preferredForIphone": preferred_for_iphone
+"/games:v1/InstanceIosDetails/supportIpad": support_ipad
+"/games:v1/InstanceIosDetails/supportIphone": support_iphone
+"/games:v1/InstanceWebDetails": instance_web_details
+"/games:v1/InstanceWebDetails/kind": kind
+"/games:v1/InstanceWebDetails/launchUrl": launch_url
+"/games:v1/InstanceWebDetails/preferred": preferred
+"/games:v1/Leaderboard": leaderboard
+"/games:v1/Leaderboard/iconUrl": icon_url
+"/games:v1/Leaderboard/id": id
+"/games:v1/Leaderboard/isIconUrlDefault": is_icon_url_default
+"/games:v1/Leaderboard/kind": kind
+"/games:v1/Leaderboard/name": name
+"/games:v1/Leaderboard/order": order
+"/games:v1/LeaderboardEntry": leaderboard_entry
+"/games:v1/LeaderboardEntry/formattedScore": formatted_score
+"/games:v1/LeaderboardEntry/formattedScoreRank": formatted_score_rank
+"/games:v1/LeaderboardEntry/kind": kind
+"/games:v1/LeaderboardEntry/player": player
+"/games:v1/LeaderboardEntry/scoreRank": score_rank
+"/games:v1/LeaderboardEntry/scoreTag": score_tag
+"/games:v1/LeaderboardEntry/scoreValue": score_value
+"/games:v1/LeaderboardEntry/timeSpan": time_span
+"/games:v1/LeaderboardEntry/writeTimestampMillis": write_timestamp_millis
+"/games:v1/LeaderboardListResponse/items": items
+"/games:v1/LeaderboardListResponse/items/item": item
+"/games:v1/LeaderboardListResponse/kind": kind
+"/games:v1/LeaderboardListResponse/nextPageToken": next_page_token
+"/games:v1/LeaderboardScoreRank": leaderboard_score_rank
+"/games:v1/LeaderboardScoreRank/formattedNumScores": formatted_num_scores
+"/games:v1/LeaderboardScoreRank/formattedRank": formatted_rank
+"/games:v1/LeaderboardScoreRank/kind": kind
+"/games:v1/LeaderboardScoreRank/numScores": num_scores
+"/games:v1/LeaderboardScoreRank/rank": rank
+"/games:v1/LeaderboardScores": leaderboard_scores
+"/games:v1/LeaderboardScores/items": items
+"/games:v1/LeaderboardScores/items/item": item
+"/games:v1/LeaderboardScores/kind": kind
+"/games:v1/LeaderboardScores/nextPageToken": next_page_token
+"/games:v1/LeaderboardScores/numScores": num_scores
+"/games:v1/LeaderboardScores/playerScore": player_score
+"/games:v1/LeaderboardScores/prevPageToken": prev_page_token
+"/games:v1/MetagameConfig": metagame_config
+"/games:v1/MetagameConfig/currentVersion": current_version
+"/games:v1/MetagameConfig/kind": kind
+"/games:v1/MetagameConfig/playerLevels": player_levels
+"/games:v1/MetagameConfig/playerLevels/player_level": player_level
+"/games:v1/NetworkDiagnostics": network_diagnostics
+"/games:v1/NetworkDiagnostics/androidNetworkSubtype": android_network_subtype
+"/games:v1/NetworkDiagnostics/androidNetworkType": android_network_type
+"/games:v1/NetworkDiagnostics/iosNetworkType": ios_network_type
+"/games:v1/NetworkDiagnostics/kind": kind
+"/games:v1/NetworkDiagnostics/networkOperatorCode": network_operator_code
+"/games:v1/NetworkDiagnostics/networkOperatorName": network_operator_name
+"/games:v1/NetworkDiagnostics/registrationLatencyMillis": registration_latency_millis
+"/games:v1/ParticipantResult": participant_result
+"/games:v1/ParticipantResult/kind": kind
+"/games:v1/ParticipantResult/participantId": participant_id
+"/games:v1/ParticipantResult/placing": placing
+"/games:v1/ParticipantResult/result": result
+"/games:v1/PeerChannelDiagnostics": peer_channel_diagnostics
+"/games:v1/PeerChannelDiagnostics/bytesReceived": bytes_received
+"/games:v1/PeerChannelDiagnostics/bytesSent": bytes_sent
+"/games:v1/PeerChannelDiagnostics/kind": kind
+"/games:v1/PeerChannelDiagnostics/numMessagesLost": num_messages_lost
+"/games:v1/PeerChannelDiagnostics/numMessagesReceived": num_messages_received
+"/games:v1/PeerChannelDiagnostics/numMessagesSent": num_messages_sent
+"/games:v1/PeerChannelDiagnostics/numSendFailures": num_send_failures
+"/games:v1/PeerChannelDiagnostics/roundtripLatencyMillis": roundtrip_latency_millis
+"/games:v1/PeerSessionDiagnostics": peer_session_diagnostics
+"/games:v1/PeerSessionDiagnostics/connectedTimestampMillis": connected_timestamp_millis
+"/games:v1/PeerSessionDiagnostics/kind": kind
+"/games:v1/PeerSessionDiagnostics/participantId": participant_id
+"/games:v1/PeerSessionDiagnostics/reliableChannel": reliable_channel
+"/games:v1/PeerSessionDiagnostics/unreliableChannel": unreliable_channel
+"/games:v1/Played": played
+"/games:v1/Played/autoMatched": auto_matched
+"/games:v1/Played/kind": kind
+"/games:v1/Played/timeMillis": time_millis
+"/games:v1/Player": player
+"/games:v1/Player/avatarImageUrl": avatar_image_url
+"/games:v1/Player/displayName": display_name
+"/games:v1/Player/experienceInfo": experience_info
+"/games:v1/Player/kind": kind
+"/games:v1/Player/lastPlayedWith": last_played_with
+"/games:v1/Player/name": name
+"/games:v1/Player/name/familyName": family_name
+"/games:v1/Player/name/givenName": given_name
+"/games:v1/Player/playerId": player_id
+"/games:v1/Player/title": title
+"/games:v1/PlayerAchievement": player_achievement
+"/games:v1/PlayerAchievement/achievementState": achievement_state
+"/games:v1/PlayerAchievement/currentSteps": current_steps
+"/games:v1/PlayerAchievement/experiencePoints": experience_points
+"/games:v1/PlayerAchievement/formattedCurrentStepsString": formatted_current_steps_string
+"/games:v1/PlayerAchievement/id": id
+"/games:v1/PlayerAchievement/kind": kind
+"/games:v1/PlayerAchievement/lastUpdatedTimestamp": last_updated_timestamp
+"/games:v1/PlayerAchievementListResponse/items": items
+"/games:v1/PlayerAchievementListResponse/items/item": item
+"/games:v1/PlayerAchievementListResponse/kind": kind
+"/games:v1/PlayerAchievementListResponse/nextPageToken": next_page_token
+"/games:v1/PlayerEvent": player_event
+"/games:v1/PlayerEvent/definitionId": definition_id
+"/games:v1/PlayerEvent/formattedNumEvents": formatted_num_events
+"/games:v1/PlayerEvent/kind": kind
+"/games:v1/PlayerEvent/numEvents": num_events
+"/games:v1/PlayerEvent/playerId": player_id
+"/games:v1/PlayerEventListResponse/items": items
+"/games:v1/PlayerEventListResponse/items/item": item
+"/games:v1/PlayerEventListResponse/kind": kind
+"/games:v1/PlayerEventListResponse/nextPageToken": next_page_token
+"/games:v1/PlayerExperienceInfo": player_experience_info
+"/games:v1/PlayerExperienceInfo/currentExperiencePoints": current_experience_points
+"/games:v1/PlayerExperienceInfo/currentLevel": current_level
+"/games:v1/PlayerExperienceInfo/kind": kind
+"/games:v1/PlayerExperienceInfo/lastLevelUpTimestampMillis": last_level_up_timestamp_millis
+"/games:v1/PlayerExperienceInfo/nextLevel": next_level
+"/games:v1/PlayerLeaderboardScore": player_leaderboard_score
+"/games:v1/PlayerLeaderboardScore/kind": kind
+"/games:v1/PlayerLeaderboardScore/leaderboard_id": leaderboard_id
+"/games:v1/PlayerLeaderboardScore/publicRank": public_rank
+"/games:v1/PlayerLeaderboardScore/scoreString": score_string
+"/games:v1/PlayerLeaderboardScore/scoreTag": score_tag
+"/games:v1/PlayerLeaderboardScore/scoreValue": score_value
+"/games:v1/PlayerLeaderboardScore/socialRank": social_rank
+"/games:v1/PlayerLeaderboardScore/timeSpan": time_span
+"/games:v1/PlayerLeaderboardScore/writeTimestamp": write_timestamp
+"/games:v1/PlayerLeaderboardScoreListResponse/items": items
+"/games:v1/PlayerLeaderboardScoreListResponse/items/item": item
+"/games:v1/PlayerLeaderboardScoreListResponse/kind": kind
+"/games:v1/PlayerLeaderboardScoreListResponse/nextPageToken": next_page_token
+"/games:v1/PlayerLeaderboardScoreListResponse/player": player
+"/games:v1/PlayerLevel": player_level
+"/games:v1/PlayerLevel/kind": kind
+"/games:v1/PlayerLevel/level": level
+"/games:v1/PlayerLevel/maxExperiencePoints": max_experience_points
+"/games:v1/PlayerLevel/minExperiencePoints": min_experience_points
+"/games:v1/PlayerListResponse/items": items
+"/games:v1/PlayerListResponse/items/item": item
+"/games:v1/PlayerListResponse/kind": kind
+"/games:v1/PlayerListResponse/nextPageToken": next_page_token
+"/games:v1/PlayerScore": player_score
+"/games:v1/PlayerScore/formattedScore": formatted_score
+"/games:v1/PlayerScore/kind": kind
+"/games:v1/PlayerScore/score": score
+"/games:v1/PlayerScore/scoreTag": score_tag
+"/games:v1/PlayerScore/timeSpan": time_span
+"/games:v1/PlayerScoreListResponse/kind": kind
+"/games:v1/PlayerScoreListResponse/submittedScores": submitted_scores
+"/games:v1/PlayerScoreListResponse/submittedScores/submitted_score": submitted_score
+"/games:v1/PlayerScoreResponse/beatenScoreTimeSpans": beaten_score_time_spans
+"/games:v1/PlayerScoreResponse/beatenScoreTimeSpans/beaten_score_time_span": beaten_score_time_span
+"/games:v1/PlayerScoreResponse/formattedScore": formatted_score
+"/games:v1/PlayerScoreResponse/kind": kind
+"/games:v1/PlayerScoreResponse/leaderboardId": leaderboard_id
+"/games:v1/PlayerScoreResponse/scoreTag": score_tag
+"/games:v1/PlayerScoreResponse/unbeatenScores": unbeaten_scores
+"/games:v1/PlayerScoreResponse/unbeatenScores/unbeaten_score": unbeaten_score
+"/games:v1/PlayerScoreSubmissionList": player_score_submission_list
+"/games:v1/PlayerScoreSubmissionList/kind": kind
+"/games:v1/PlayerScoreSubmissionList/scores": scores
+"/games:v1/PlayerScoreSubmissionList/scores/score": score
+"/games:v1/PushToken": push_token
+"/games:v1/PushToken/clientRevision": client_revision
+"/games:v1/PushToken/id": id
+"/games:v1/PushToken/kind": kind
+"/games:v1/PushToken/language": language
+"/games:v1/PushTokenId": push_token_id
+"/games:v1/PushTokenId/ios": ios
+"/games:v1/PushTokenId/ios/apns_device_token": apns_device_token
+"/games:v1/PushTokenId/ios/apns_environment": apns_environment
+"/games:v1/PushTokenId/kind": kind
+"/games:v1/Quest": quest
+"/games:v1/Quest/acceptedTimestampMillis": accepted_timestamp_millis
+"/games:v1/Quest/applicationId": application_id
+"/games:v1/Quest/bannerUrl": banner_url
+"/games:v1/Quest/description": description
+"/games:v1/Quest/endTimestampMillis": end_timestamp_millis
+"/games:v1/Quest/iconUrl": icon_url
+"/games:v1/Quest/id": id
+"/games:v1/Quest/isDefaultBannerUrl": is_default_banner_url
+"/games:v1/Quest/isDefaultIconUrl": is_default_icon_url
+"/games:v1/Quest/kind": kind
+"/games:v1/Quest/lastUpdatedTimestampMillis": last_updated_timestamp_millis
+"/games:v1/Quest/milestones": milestones
+"/games:v1/Quest/milestones/milestone": milestone
+"/games:v1/Quest/name": name
+"/games:v1/Quest/notifyTimestampMillis": notify_timestamp_millis
+"/games:v1/Quest/startTimestampMillis": start_timestamp_millis
+"/games:v1/Quest/state": state
+"/games:v1/QuestContribution": quest_contribution
+"/games:v1/QuestContribution/formattedValue": formatted_value
+"/games:v1/QuestContribution/kind": kind
+"/games:v1/QuestContribution/value": value
+"/games:v1/QuestCriterion": quest_criterion
+"/games:v1/QuestCriterion/completionContribution": completion_contribution
+"/games:v1/QuestCriterion/currentContribution": current_contribution
+"/games:v1/QuestCriterion/eventId": event_id
+"/games:v1/QuestCriterion/initialPlayerProgress": initial_player_progress
+"/games:v1/QuestCriterion/kind": kind
+"/games:v1/QuestListResponse/items": items
+"/games:v1/QuestListResponse/items/item": item
+"/games:v1/QuestListResponse/kind": kind
+"/games:v1/QuestListResponse/nextPageToken": next_page_token
+"/games:v1/QuestMilestone": quest_milestone
+"/games:v1/QuestMilestone/completionRewardData": completion_reward_data
+"/games:v1/QuestMilestone/criteria": criteria
+"/games:v1/QuestMilestone/criteria/criterium": criterium
+"/games:v1/QuestMilestone/id": id
+"/games:v1/QuestMilestone/kind": kind
+"/games:v1/QuestMilestone/state": state
+"/games:v1/RevisionCheckResponse/apiVersion": api_version
+"/games:v1/RevisionCheckResponse/kind": kind
+"/games:v1/RevisionCheckResponse/revisionStatus": revision_status
+"/games:v1/Room": room
+"/games:v1/Room/applicationId": application_id
+"/games:v1/Room/autoMatchingCriteria": auto_matching_criteria
+"/games:v1/Room/autoMatchingStatus": auto_matching_status
+"/games:v1/Room/creationDetails": creation_details
+"/games:v1/Room/description": description
+"/games:v1/Room/inviterId": inviter_id
+"/games:v1/Room/kind": kind
+"/games:v1/Room/lastUpdateDetails": last_update_details
+"/games:v1/Room/participants": participants
+"/games:v1/Room/participants/participant": participant
+"/games:v1/Room/roomId": room_id
+"/games:v1/Room/roomStatusVersion": room_status_version
+"/games:v1/Room/status": status
+"/games:v1/Room/variant": variant
+"/games:v1/RoomAutoMatchStatus": room_auto_match_status
+"/games:v1/RoomAutoMatchStatus/kind": kind
+"/games:v1/RoomAutoMatchStatus/waitEstimateSeconds": wait_estimate_seconds
+"/games:v1/RoomAutoMatchingCriteria": room_auto_matching_criteria
+"/games:v1/RoomAutoMatchingCriteria/exclusiveBitmask": exclusive_bitmask
+"/games:v1/RoomAutoMatchingCriteria/kind": kind
+"/games:v1/RoomAutoMatchingCriteria/maxAutoMatchingPlayers": max_auto_matching_players
+"/games:v1/RoomAutoMatchingCriteria/minAutoMatchingPlayers": min_auto_matching_players
+"/games:v1/RoomClientAddress": room_client_address
+"/games:v1/RoomClientAddress/kind": kind
+"/games:v1/RoomClientAddress/xmppAddress": xmpp_address
+"/games:v1/RoomCreateRequest/autoMatchingCriteria": auto_matching_criteria
+"/games:v1/RoomCreateRequest/capabilities": capabilities
+"/games:v1/RoomCreateRequest/capabilities/capability": capability
+"/games:v1/RoomCreateRequest/clientAddress": client_address
+"/games:v1/RoomCreateRequest/invitedPlayerIds": invited_player_ids
+"/games:v1/RoomCreateRequest/invitedPlayerIds/invited_player_id": invited_player_id
+"/games:v1/RoomCreateRequest/kind": kind
+"/games:v1/RoomCreateRequest/networkDiagnostics": network_diagnostics
+"/games:v1/RoomCreateRequest/requestId": request_id
+"/games:v1/RoomCreateRequest/variant": variant
+"/games:v1/RoomJoinRequest/capabilities": capabilities
+"/games:v1/RoomJoinRequest/capabilities/capability": capability
+"/games:v1/RoomJoinRequest/clientAddress": client_address
+"/games:v1/RoomJoinRequest/kind": kind
+"/games:v1/RoomJoinRequest/networkDiagnostics": network_diagnostics
+"/games:v1/RoomLeaveDiagnostics": room_leave_diagnostics
+"/games:v1/RoomLeaveDiagnostics/androidNetworkSubtype": android_network_subtype
+"/games:v1/RoomLeaveDiagnostics/androidNetworkType": android_network_type
+"/games:v1/RoomLeaveDiagnostics/iosNetworkType": ios_network_type
+"/games:v1/RoomLeaveDiagnostics/kind": kind
+"/games:v1/RoomLeaveDiagnostics/networkOperatorCode": network_operator_code
+"/games:v1/RoomLeaveDiagnostics/networkOperatorName": network_operator_name
+"/games:v1/RoomLeaveDiagnostics/peerSession": peer_session
+"/games:v1/RoomLeaveDiagnostics/peerSession/peer_session": peer_session
+"/games:v1/RoomLeaveDiagnostics/socketsUsed": sockets_used
+"/games:v1/RoomLeaveRequest/kind": kind
+"/games:v1/RoomLeaveRequest/leaveDiagnostics": leave_diagnostics
+"/games:v1/RoomLeaveRequest/reason": reason
+"/games:v1/RoomList": room_list
+"/games:v1/RoomList/items": items
+"/games:v1/RoomList/items/item": item
+"/games:v1/RoomList/kind": kind
+"/games:v1/RoomList/nextPageToken": next_page_token
+"/games:v1/RoomModification": room_modification
+"/games:v1/RoomModification/kind": kind
+"/games:v1/RoomModification/modifiedTimestampMillis": modified_timestamp_millis
+"/games:v1/RoomModification/participantId": participant_id
+"/games:v1/RoomP2PStatus": room_p2_p_status
+"/games:v1/RoomP2PStatus/connectionSetupLatencyMillis": connection_setup_latency_millis
+"/games:v1/RoomP2PStatus/error": error
+"/games:v1/RoomP2PStatus/error_reason": error_reason
+"/games:v1/RoomP2PStatus/kind": kind
+"/games:v1/RoomP2PStatus/participantId": participant_id
+"/games:v1/RoomP2PStatus/status": status
+"/games:v1/RoomP2PStatus/unreliableRoundtripLatencyMillis": unreliable_roundtrip_latency_millis
+"/games:v1/RoomP2PStatuses": room_p2_p_statuses
+"/games:v1/RoomP2PStatuses/kind": kind
+"/games:v1/RoomP2PStatuses/updates": updates
+"/games:v1/RoomP2PStatuses/updates/update": update
+"/games:v1/RoomParticipant": room_participant
+"/games:v1/RoomParticipant/autoMatched": auto_matched
+"/games:v1/RoomParticipant/autoMatchedPlayer": auto_matched_player
+"/games:v1/RoomParticipant/capabilities": capabilities
+"/games:v1/RoomParticipant/capabilities/capability": capability
+"/games:v1/RoomParticipant/clientAddress": client_address
+"/games:v1/RoomParticipant/connected": connected
+"/games:v1/RoomParticipant/id": id
+"/games:v1/RoomParticipant/kind": kind
+"/games:v1/RoomParticipant/leaveReason": leave_reason
+"/games:v1/RoomParticipant/player": player
+"/games:v1/RoomParticipant/status": status
+"/games:v1/RoomStatus": room_status
+"/games:v1/RoomStatus/autoMatchingStatus": auto_matching_status
+"/games:v1/RoomStatus/kind": kind
+"/games:v1/RoomStatus/participants": participants
+"/games:v1/RoomStatus/participants/participant": participant
+"/games:v1/RoomStatus/roomId": room_id
+"/games:v1/RoomStatus/status": status
+"/games:v1/RoomStatus/statusVersion": status_version
+"/games:v1/ScoreSubmission": score_submission
+"/games:v1/ScoreSubmission/kind": kind
+"/games:v1/ScoreSubmission/leaderboardId": leaderboard_id
+"/games:v1/ScoreSubmission/score": score
+"/games:v1/ScoreSubmission/scoreTag": score_tag
+"/games:v1/ScoreSubmission/signature": signature
+"/games:v1/Snapshot": snapshot
+"/games:v1/Snapshot/coverImage": cover_image
+"/games:v1/Snapshot/description": description
+"/games:v1/Snapshot/driveId": drive_id
+"/games:v1/Snapshot/durationMillis": duration_millis
+"/games:v1/Snapshot/id": id
+"/games:v1/Snapshot/kind": kind
+"/games:v1/Snapshot/lastModifiedMillis": last_modified_millis
+"/games:v1/Snapshot/progressValue": progress_value
+"/games:v1/Snapshot/title": title
+"/games:v1/Snapshot/type": type
+"/games:v1/Snapshot/uniqueName": unique_name
+"/games:v1/SnapshotImage": snapshot_image
+"/games:v1/SnapshotImage/height": height
+"/games:v1/SnapshotImage/kind": kind
+"/games:v1/SnapshotImage/mime_type": mime_type
+"/games:v1/SnapshotImage/url": url
+"/games:v1/SnapshotImage/width": width
+"/games:v1/SnapshotListResponse/items": items
+"/games:v1/SnapshotListResponse/items/item": item
+"/games:v1/SnapshotListResponse/kind": kind
+"/games:v1/SnapshotListResponse/nextPageToken": next_page_token
+"/games:v1/TurnBasedAutoMatchingCriteria": turn_based_auto_matching_criteria
+"/games:v1/TurnBasedAutoMatchingCriteria/exclusiveBitmask": exclusive_bitmask
+"/games:v1/TurnBasedAutoMatchingCriteria/kind": kind
+"/games:v1/TurnBasedAutoMatchingCriteria/maxAutoMatchingPlayers": max_auto_matching_players
+"/games:v1/TurnBasedAutoMatchingCriteria/minAutoMatchingPlayers": min_auto_matching_players
+"/games:v1/TurnBasedMatch": turn_based_match
+"/games:v1/TurnBasedMatch/applicationId": application_id
+"/games:v1/TurnBasedMatch/autoMatchingCriteria": auto_matching_criteria
+"/games:v1/TurnBasedMatch/creationDetails": creation_details
+"/games:v1/TurnBasedMatch/data": data
+"/games:v1/TurnBasedMatch/description": description
+"/games:v1/TurnBasedMatch/inviterId": inviter_id
+"/games:v1/TurnBasedMatch/kind": kind
+"/games:v1/TurnBasedMatch/lastUpdateDetails": last_update_details
+"/games:v1/TurnBasedMatch/matchId": match_id
+"/games:v1/TurnBasedMatch/matchNumber": match_number
+"/games:v1/TurnBasedMatch/matchVersion": match_version
+"/games:v1/TurnBasedMatch/participants": participants
+"/games:v1/TurnBasedMatch/participants/participant": participant
+"/games:v1/TurnBasedMatch/pendingParticipantId": pending_participant_id
+"/games:v1/TurnBasedMatch/previousMatchData": previous_match_data
+"/games:v1/TurnBasedMatch/rematchId": rematch_id
+"/games:v1/TurnBasedMatch/results": results
+"/games:v1/TurnBasedMatch/results/result": result
+"/games:v1/TurnBasedMatch/status": status
+"/games:v1/TurnBasedMatch/userMatchStatus": user_match_status
+"/games:v1/TurnBasedMatch/variant": variant
+"/games:v1/TurnBasedMatch/withParticipantId": with_participant_id
+"/games:v1/TurnBasedMatchCreateRequest/autoMatchingCriteria": auto_matching_criteria
+"/games:v1/TurnBasedMatchCreateRequest/invitedPlayerIds": invited_player_ids
+"/games:v1/TurnBasedMatchCreateRequest/invitedPlayerIds/invited_player_id": invited_player_id
+"/games:v1/TurnBasedMatchCreateRequest/kind": kind
+"/games:v1/TurnBasedMatchCreateRequest/requestId": request_id
+"/games:v1/TurnBasedMatchCreateRequest/variant": variant
+"/games:v1/TurnBasedMatchData": turn_based_match_data
+"/games:v1/TurnBasedMatchData/data": data
+"/games:v1/TurnBasedMatchData/dataAvailable": data_available
+"/games:v1/TurnBasedMatchData/kind": kind
+"/games:v1/TurnBasedMatchDataRequest/data": data
+"/games:v1/TurnBasedMatchDataRequest/kind": kind
+"/games:v1/TurnBasedMatchList": turn_based_match_list
+"/games:v1/TurnBasedMatchList/items": items
+"/games:v1/TurnBasedMatchList/items/item": item
+"/games:v1/TurnBasedMatchList/kind": kind
+"/games:v1/TurnBasedMatchList/nextPageToken": next_page_token
+"/games:v1/TurnBasedMatchModification": turn_based_match_modification
+"/games:v1/TurnBasedMatchModification/kind": kind
+"/games:v1/TurnBasedMatchModification/modifiedTimestampMillis": modified_timestamp_millis
+"/games:v1/TurnBasedMatchModification/participantId": participant_id
+"/games:v1/TurnBasedMatchParticipant": turn_based_match_participant
+"/games:v1/TurnBasedMatchParticipant/autoMatched": auto_matched
+"/games:v1/TurnBasedMatchParticipant/autoMatchedPlayer": auto_matched_player
+"/games:v1/TurnBasedMatchParticipant/id": id
+"/games:v1/TurnBasedMatchParticipant/kind": kind
+"/games:v1/TurnBasedMatchParticipant/player": player
+"/games:v1/TurnBasedMatchParticipant/status": status
+"/games:v1/TurnBasedMatchRematch": turn_based_match_rematch
+"/games:v1/TurnBasedMatchRematch/kind": kind
+"/games:v1/TurnBasedMatchRematch/previousMatch": previous_match
+"/games:v1/TurnBasedMatchRematch/rematch": rematch
+"/games:v1/TurnBasedMatchResults": turn_based_match_results
+"/games:v1/TurnBasedMatchResults/data": data
+"/games:v1/TurnBasedMatchResults/kind": kind
+"/games:v1/TurnBasedMatchResults/matchVersion": match_version
+"/games:v1/TurnBasedMatchResults/results": results
+"/games:v1/TurnBasedMatchResults/results/result": result
+"/games:v1/TurnBasedMatchSync": turn_based_match_sync
+"/games:v1/TurnBasedMatchSync/items": items
+"/games:v1/TurnBasedMatchSync/items/item": item
+"/games:v1/TurnBasedMatchSync/kind": kind
+"/games:v1/TurnBasedMatchSync/moreAvailable": more_available
+"/games:v1/TurnBasedMatchSync/nextPageToken": next_page_token
+"/games:v1/TurnBasedMatchTurn": turn_based_match_turn
+"/games:v1/TurnBasedMatchTurn/data": data
+"/games:v1/TurnBasedMatchTurn/kind": kind
+"/games:v1/TurnBasedMatchTurn/matchVersion": match_version
+"/games:v1/TurnBasedMatchTurn/pendingParticipantId": pending_participant_id
+"/games:v1/TurnBasedMatchTurn/results": results
+"/games:v1/TurnBasedMatchTurn/results/result": result
+"/gamesConfiguration:v1configuration/fields": fields
+"/gamesConfiguration:v1configuration/key": key
+"/gamesConfiguration:v1configuration/quotaUser": quota_user
+"/gamesConfiguration:v1configuration/userIp": user_ip
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.delete": delete_achievement_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.delete/achievementId": achievement_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.get": get_achievement_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.get/achievementId": achievement_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.insert": insert_achievement_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.insert/applicationId": application_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.list": list_achievement_configurations
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.list/applicationId": application_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.list/maxResults": max_results
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.list/pageToken": page_token
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.patch": patch_achievement_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.patch/achievementId": achievement_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.update": update_achievement_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.achievementConfigurations.update/achievementId": achievement_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.imageConfigurations.upload": upload_image_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.imageConfigurations.upload/imageType": image_type
+"/gamesConfiguration:v1configuration/gamesConfiguration.imageConfigurations.upload/resourceId": resource_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.delete": delete_leaderboard_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.delete/leaderboardId": leaderboard_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.get": get_leaderboard_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.get/leaderboardId": leaderboard_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.insert": insert_leaderboard_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.insert/applicationId": application_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.list": list_leaderboard_configurations
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.list/applicationId": application_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.list/maxResults": max_results
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.list/pageToken": page_token
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.patch": patch_leaderboard_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.patch/leaderboardId": leaderboard_id
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.update": update_leaderboard_configuration
+"/gamesConfiguration:v1configuration/gamesConfiguration.leaderboardConfigurations.update/leaderboardId": leaderboard_id
+"/gamesConfiguration:v1configuration/AchievementConfiguration": achievement_configuration
+"/gamesConfiguration:v1configuration/AchievementConfiguration/achievementType": achievement_type
+"/gamesConfiguration:v1configuration/AchievementConfiguration/draft": draft
+"/gamesConfiguration:v1configuration/AchievementConfiguration/id": id
+"/gamesConfiguration:v1configuration/AchievementConfiguration/initialState": initial_state
+"/gamesConfiguration:v1configuration/AchievementConfiguration/kind": kind
+"/gamesConfiguration:v1configuration/AchievementConfiguration/published": published
+"/gamesConfiguration:v1configuration/AchievementConfiguration/stepsToUnlock": steps_to_unlock
+"/gamesConfiguration:v1configuration/AchievementConfiguration/token": token
+"/gamesConfiguration:v1configuration/AchievementConfigurationDetail": achievement_configuration_detail
+"/gamesConfiguration:v1configuration/AchievementConfigurationDetail/description": description
+"/gamesConfiguration:v1configuration/AchievementConfigurationDetail/iconUrl": icon_url
+"/gamesConfiguration:v1configuration/AchievementConfigurationDetail/kind": kind
+"/gamesConfiguration:v1configuration/AchievementConfigurationDetail/name": name
+"/gamesConfiguration:v1configuration/AchievementConfigurationDetail/pointValue": point_value
+"/gamesConfiguration:v1configuration/AchievementConfigurationDetail/sortRank": sort_rank
+"/gamesConfiguration:v1configuration/AchievementConfigurationListResponse/items": items
+"/gamesConfiguration:v1configuration/AchievementConfigurationListResponse/items/item": item
+"/gamesConfiguration:v1configuration/AchievementConfigurationListResponse/kind": kind
+"/gamesConfiguration:v1configuration/AchievementConfigurationListResponse/nextPageToken": next_page_token
+"/gamesConfiguration:v1configuration/GamesNumberAffixConfiguration": games_number_affix_configuration
+"/gamesConfiguration:v1configuration/GamesNumberAffixConfiguration/few": few
+"/gamesConfiguration:v1configuration/GamesNumberAffixConfiguration/many": many
+"/gamesConfiguration:v1configuration/GamesNumberAffixConfiguration/one": one
+"/gamesConfiguration:v1configuration/GamesNumberAffixConfiguration/other": other
+"/gamesConfiguration:v1configuration/GamesNumberAffixConfiguration/two": two
+"/gamesConfiguration:v1configuration/GamesNumberAffixConfiguration/zero": zero
+"/gamesConfiguration:v1configuration/GamesNumberFormatConfiguration": games_number_format_configuration
+"/gamesConfiguration:v1configuration/GamesNumberFormatConfiguration/currencyCode": currency_code
+"/gamesConfiguration:v1configuration/GamesNumberFormatConfiguration/numDecimalPlaces": num_decimal_places
+"/gamesConfiguration:v1configuration/GamesNumberFormatConfiguration/numberFormatType": number_format_type
+"/gamesConfiguration:v1configuration/GamesNumberFormatConfiguration/suffix": suffix
+"/gamesConfiguration:v1configuration/ImageConfiguration": image_configuration
+"/gamesConfiguration:v1configuration/ImageConfiguration/imageType": image_type
+"/gamesConfiguration:v1configuration/ImageConfiguration/kind": kind
+"/gamesConfiguration:v1configuration/ImageConfiguration/resourceId": resource_id
+"/gamesConfiguration:v1configuration/ImageConfiguration/url": url
+"/gamesConfiguration:v1configuration/LeaderboardConfiguration": leaderboard_configuration
+"/gamesConfiguration:v1configuration/LeaderboardConfiguration/draft": draft
+"/gamesConfiguration:v1configuration/LeaderboardConfiguration/id": id
+"/gamesConfiguration:v1configuration/LeaderboardConfiguration/kind": kind
+"/gamesConfiguration:v1configuration/LeaderboardConfiguration/published": published
+"/gamesConfiguration:v1configuration/LeaderboardConfiguration/scoreMax": score_max
+"/gamesConfiguration:v1configuration/LeaderboardConfiguration/scoreMin": score_min
+"/gamesConfiguration:v1configuration/LeaderboardConfiguration/scoreOrder": score_order
+"/gamesConfiguration:v1configuration/LeaderboardConfiguration/token": token
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationDetail": leaderboard_configuration_detail
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationDetail/iconUrl": icon_url
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationDetail/kind": kind
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationDetail/name": name
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationDetail/scoreFormat": score_format
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationDetail/sortRank": sort_rank
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationListResponse/items": items
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationListResponse/items/item": item
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationListResponse/kind": kind
+"/gamesConfiguration:v1configuration/LeaderboardConfigurationListResponse/nextPageToken": next_page_token
+"/gamesConfiguration:v1configuration/LocalizedString": localized_string
+"/gamesConfiguration:v1configuration/LocalizedString/kind": kind
+"/gamesConfiguration:v1configuration/LocalizedString/locale": locale
+"/gamesConfiguration:v1configuration/LocalizedString/value": value
+"/gamesConfiguration:v1configuration/LocalizedStringBundle": localized_string_bundle
+"/gamesConfiguration:v1configuration/LocalizedStringBundle/kind": kind
+"/gamesConfiguration:v1configuration/LocalizedStringBundle/translations": translations
+"/gamesConfiguration:v1configuration/LocalizedStringBundle/translations/translation": translation
+"/gan:v1beta1/fields": fields
+"/gan:v1beta1/key": key
+"/gan:v1beta1/quotaUser": quota_user
+"/gan:v1beta1/userIp": user_ip
+"/gan:v1beta1/gan.advertisers.get": get_advertiser
+"/gan:v1beta1/gan.advertisers.get/advertiserId": advertiser_id
+"/gan:v1beta1/gan.advertisers.get/role": role
+"/gan:v1beta1/gan.advertisers.get/roleId": role_id
+"/gan:v1beta1/gan.advertisers.list": list_advertisers
+"/gan:v1beta1/gan.advertisers.list/advertiserCategory": advertiser_category
+"/gan:v1beta1/gan.advertisers.list/maxResults": max_results
+"/gan:v1beta1/gan.advertisers.list/minNinetyDayEpc": min_ninety_day_epc
+"/gan:v1beta1/gan.advertisers.list/minPayoutRank": min_payout_rank
+"/gan:v1beta1/gan.advertisers.list/minSevenDayEpc": min_seven_day_epc
+"/gan:v1beta1/gan.advertisers.list/pageToken": page_token
+"/gan:v1beta1/gan.advertisers.list/relationshipStatus": relationship_status
+"/gan:v1beta1/gan.advertisers.list/role": role
+"/gan:v1beta1/gan.advertisers.list/roleId": role_id
+"/gan:v1beta1/gan.ccOffers.list": list_cc_offers
+"/gan:v1beta1/gan.ccOffers.list/advertiser": advertiser
+"/gan:v1beta1/gan.ccOffers.list/projection": projection
+"/gan:v1beta1/gan.ccOffers.list/publisher": publisher
+"/gan:v1beta1/gan.events.list": list_events
+"/gan:v1beta1/gan.events.list/advertiserId": advertiser_id
+"/gan:v1beta1/gan.events.list/chargeType": charge_type
+"/gan:v1beta1/gan.events.list/eventDateMax": event_date_max
+"/gan:v1beta1/gan.events.list/eventDateMin": event_date_min
+"/gan:v1beta1/gan.events.list/linkId": link_id
+"/gan:v1beta1/gan.events.list/maxResults": max_results
+"/gan:v1beta1/gan.events.list/memberId": member_id
+"/gan:v1beta1/gan.events.list/modifyDateMax": modify_date_max
+"/gan:v1beta1/gan.events.list/modifyDateMin": modify_date_min
+"/gan:v1beta1/gan.events.list/orderId": order_id
+"/gan:v1beta1/gan.events.list/pageToken": page_token
+"/gan:v1beta1/gan.events.list/productCategory": product_category
+"/gan:v1beta1/gan.events.list/publisherId": publisher_id
+"/gan:v1beta1/gan.events.list/role": role
+"/gan:v1beta1/gan.events.list/roleId": role_id
+"/gan:v1beta1/gan.events.list/sku": sku
+"/gan:v1beta1/gan.events.list/status": status
+"/gan:v1beta1/gan.events.list/type": type
+"/gan:v1beta1/gan.links.get": get_link
+"/gan:v1beta1/gan.links.get/linkId": link_id
+"/gan:v1beta1/gan.links.get/role": role
+"/gan:v1beta1/gan.links.get/roleId": role_id
+"/gan:v1beta1/gan.links.insert": insert_link
+"/gan:v1beta1/gan.links.insert/role": role
+"/gan:v1beta1/gan.links.insert/roleId": role_id
+"/gan:v1beta1/gan.links.list": list_links
+"/gan:v1beta1/gan.links.list/advertiserId": advertiser_id
+"/gan:v1beta1/gan.links.list/assetSize": asset_size
+"/gan:v1beta1/gan.links.list/authorship": authorship
+"/gan:v1beta1/gan.links.list/createDateMax": create_date_max
+"/gan:v1beta1/gan.links.list/createDateMin": create_date_min
+"/gan:v1beta1/gan.links.list/linkType": link_type
+"/gan:v1beta1/gan.links.list/maxResults": max_results
+"/gan:v1beta1/gan.links.list/pageToken": page_token
+"/gan:v1beta1/gan.links.list/promotionType": promotion_type
+"/gan:v1beta1/gan.links.list/relationshipStatus": relationship_status
+"/gan:v1beta1/gan.links.list/role": role
+"/gan:v1beta1/gan.links.list/roleId": role_id
+"/gan:v1beta1/gan.links.list/searchText": search_text
+"/gan:v1beta1/gan.links.list/startDateMax": start_date_max
+"/gan:v1beta1/gan.links.list/startDateMin": start_date_min
+"/gan:v1beta1/gan.publishers.get": get_publisher
+"/gan:v1beta1/gan.publishers.get/publisherId": publisher_id
+"/gan:v1beta1/gan.publishers.get/role": role
+"/gan:v1beta1/gan.publishers.get/roleId": role_id
+"/gan:v1beta1/gan.publishers.list": list_publishers
+"/gan:v1beta1/gan.publishers.list/maxResults": max_results
+"/gan:v1beta1/gan.publishers.list/minNinetyDayEpc": min_ninety_day_epc
+"/gan:v1beta1/gan.publishers.list/minPayoutRank": min_payout_rank
+"/gan:v1beta1/gan.publishers.list/minSevenDayEpc": min_seven_day_epc
+"/gan:v1beta1/gan.publishers.list/pageToken": page_token
+"/gan:v1beta1/gan.publishers.list/publisherCategory": publisher_category
+"/gan:v1beta1/gan.publishers.list/relationshipStatus": relationship_status
+"/gan:v1beta1/gan.publishers.list/role": role
+"/gan:v1beta1/gan.publishers.list/roleId": role_id
+"/gan:v1beta1/gan.reports.get": get_report
+"/gan:v1beta1/gan.reports.get/advertiserId": advertiser_id
+"/gan:v1beta1/gan.reports.get/calculateTotals": calculate_totals
+"/gan:v1beta1/gan.reports.get/endDate": end_date
+"/gan:v1beta1/gan.reports.get/eventType": event_type
+"/gan:v1beta1/gan.reports.get/linkId": link_id
+"/gan:v1beta1/gan.reports.get/maxResults": max_results
+"/gan:v1beta1/gan.reports.get/orderId": order_id
+"/gan:v1beta1/gan.reports.get/publisherId": publisher_id
+"/gan:v1beta1/gan.reports.get/reportType": report_type
+"/gan:v1beta1/gan.reports.get/role": role
+"/gan:v1beta1/gan.reports.get/roleId": role_id
+"/gan:v1beta1/gan.reports.get/startDate": start_date
+"/gan:v1beta1/gan.reports.get/startIndex": start_index
+"/gan:v1beta1/gan.reports.get/status": status
+"/gan:v1beta1/Advertiser": advertiser
+"/gan:v1beta1/Advertiser/allowPublisherCreatedLinks": allow_publisher_created_links
+"/gan:v1beta1/Advertiser/category": category
+"/gan:v1beta1/Advertiser/commissionDuration": commission_duration
+"/gan:v1beta1/Advertiser/contactEmail": contact_email
+"/gan:v1beta1/Advertiser/contactPhone": contact_phone
+"/gan:v1beta1/Advertiser/defaultLinkId": default_link_id
+"/gan:v1beta1/Advertiser/description": description
+"/gan:v1beta1/Advertiser/epcNinetyDayAverage": epc_ninety_day_average
+"/gan:v1beta1/Advertiser/epcSevenDayAverage": epc_seven_day_average
+"/gan:v1beta1/Advertiser/id": id
+"/gan:v1beta1/Advertiser/item": item
+"/gan:v1beta1/Advertiser/joinDate": join_date
+"/gan:v1beta1/Advertiser/kind": kind
+"/gan:v1beta1/Advertiser/logoUrl": logo_url
+"/gan:v1beta1/Advertiser/merchantCenterIds": merchant_center_ids
+"/gan:v1beta1/Advertiser/merchantCenterIds/merchant_center_id": merchant_center_id
+"/gan:v1beta1/Advertiser/name": name
+"/gan:v1beta1/Advertiser/payoutRank": payout_rank
+"/gan:v1beta1/Advertiser/productFeedsEnabled": product_feeds_enabled
+"/gan:v1beta1/Advertiser/redirectDomains": redirect_domains
+"/gan:v1beta1/Advertiser/redirectDomains/redirect_domain": redirect_domain
+"/gan:v1beta1/Advertiser/siteUrl": site_url
+"/gan:v1beta1/Advertiser/status": status
+"/gan:v1beta1/Advertisers": advertisers
+"/gan:v1beta1/Advertisers/items": items
+"/gan:v1beta1/Advertisers/items/item": item
+"/gan:v1beta1/Advertisers/kind": kind
+"/gan:v1beta1/Advertisers/nextPageToken": next_page_token
+"/gan:v1beta1/CcOffer": cc_offer
+"/gan:v1beta1/CcOffer/additionalCardBenefits": additional_card_benefits
+"/gan:v1beta1/CcOffer/additionalCardBenefits/additional_card_benefit": additional_card_benefit
+"/gan:v1beta1/CcOffer/additionalCardHolderFee": additional_card_holder_fee
+"/gan:v1beta1/CcOffer/ageMinimum": age_minimum
+"/gan:v1beta1/CcOffer/ageMinimumDetails": age_minimum_details
+"/gan:v1beta1/CcOffer/annualFee": annual_fee
+"/gan:v1beta1/CcOffer/annualFeeDisplay": annual_fee_display
+"/gan:v1beta1/CcOffer/annualRewardMaximum": annual_reward_maximum
+"/gan:v1beta1/CcOffer/approvedCategories": approved_categories
+"/gan:v1beta1/CcOffer/approvedCategories/approved_category": approved_category
+"/gan:v1beta1/CcOffer/aprDisplay": apr_display
+"/gan:v1beta1/CcOffer/balanceComputationMethod": balance_computation_method
+"/gan:v1beta1/CcOffer/balanceTransferTerms": balance_transfer_terms
+"/gan:v1beta1/CcOffer/bonusRewards": bonus_rewards
+"/gan:v1beta1/CcOffer/bonusRewards/bonus_reward": bonus_reward
+"/gan:v1beta1/CcOffer/bonusRewards/bonus_reward/amount": amount
+"/gan:v1beta1/CcOffer/bonusRewards/bonus_reward/details": details
+"/gan:v1beta1/CcOffer/carRentalInsurance": car_rental_insurance
+"/gan:v1beta1/CcOffer/cardBenefits": card_benefits
+"/gan:v1beta1/CcOffer/cardBenefits/card_benefit": card_benefit
+"/gan:v1beta1/CcOffer/cardName": card_name
+"/gan:v1beta1/CcOffer/cardType": card_type
+"/gan:v1beta1/CcOffer/cashAdvanceTerms": cash_advance_terms
+"/gan:v1beta1/CcOffer/creditLimitMax": credit_limit_max
+"/gan:v1beta1/CcOffer/creditLimitMin": credit_limit_min
+"/gan:v1beta1/CcOffer/creditRatingDisplay": credit_rating_display
+"/gan:v1beta1/CcOffer/defaultFees": default_fees
+"/gan:v1beta1/CcOffer/defaultFees/default_fee": default_fee
+"/gan:v1beta1/CcOffer/defaultFees/default_fee/category": category
+"/gan:v1beta1/CcOffer/defaultFees/default_fee/maxRate": max_rate
+"/gan:v1beta1/CcOffer/defaultFees/default_fee/minRate": min_rate
+"/gan:v1beta1/CcOffer/defaultFees/default_fee/rateType": rate_type
+"/gan:v1beta1/CcOffer/disclaimer": disclaimer
+"/gan:v1beta1/CcOffer/emergencyInsurance": emergency_insurance
+"/gan:v1beta1/CcOffer/existingCustomerOnly": existing_customer_only
+"/gan:v1beta1/CcOffer/extendedWarranty": extended_warranty
+"/gan:v1beta1/CcOffer/firstYearAnnualFee": first_year_annual_fee
+"/gan:v1beta1/CcOffer/flightAccidentInsurance": flight_accident_insurance
+"/gan:v1beta1/CcOffer/foreignCurrencyTransactionFee": foreign_currency_transaction_fee
+"/gan:v1beta1/CcOffer/fraudLiability": fraud_liability
+"/gan:v1beta1/CcOffer/gracePeriodDisplay": grace_period_display
+"/gan:v1beta1/CcOffer/imageUrl": image_url
+"/gan:v1beta1/CcOffer/initialSetupAndProcessingFee": initial_setup_and_processing_fee
+"/gan:v1beta1/CcOffer/introBalanceTransferTerms": intro_balance_transfer_terms
+"/gan:v1beta1/CcOffer/introCashAdvanceTerms": intro_cash_advance_terms
+"/gan:v1beta1/CcOffer/introPurchaseTerms": intro_purchase_terms
+"/gan:v1beta1/CcOffer/issuer": issuer
+"/gan:v1beta1/CcOffer/issuerId": issuer_id
+"/gan:v1beta1/CcOffer/issuerWebsite": issuer_website
+"/gan:v1beta1/CcOffer/kind": kind
+"/gan:v1beta1/CcOffer/landingPageUrl": landing_page_url
+"/gan:v1beta1/CcOffer/latePaymentFee": late_payment_fee
+"/gan:v1beta1/CcOffer/luggageInsurance": luggage_insurance
+"/gan:v1beta1/CcOffer/maxPurchaseRate": max_purchase_rate
+"/gan:v1beta1/CcOffer/minPurchaseRate": min_purchase_rate
+"/gan:v1beta1/CcOffer/minimumFinanceCharge": minimum_finance_charge
+"/gan:v1beta1/CcOffer/network": network
+"/gan:v1beta1/CcOffer/offerId": offer_id
+"/gan:v1beta1/CcOffer/offersImmediateCashReward": offers_immediate_cash_reward
+"/gan:v1beta1/CcOffer/overLimitFee": over_limit_fee
+"/gan:v1beta1/CcOffer/prohibitedCategories": prohibited_categories
+"/gan:v1beta1/CcOffer/prohibitedCategories/prohibited_category": prohibited_category
+"/gan:v1beta1/CcOffer/purchaseRateAdditionalDetails": purchase_rate_additional_details
+"/gan:v1beta1/CcOffer/purchaseRateType": purchase_rate_type
+"/gan:v1beta1/CcOffer/returnedPaymentFee": returned_payment_fee
+"/gan:v1beta1/CcOffer/rewardPartner": reward_partner
+"/gan:v1beta1/CcOffer/rewardUnit": reward_unit
+"/gan:v1beta1/CcOffer/rewards": rewards
+"/gan:v1beta1/CcOffer/rewards/reward": reward
+"/gan:v1beta1/CcOffer/rewards/reward/additionalDetails": additional_details
+"/gan:v1beta1/CcOffer/rewards/reward/amount": amount
+"/gan:v1beta1/CcOffer/rewards/reward/category": category
+"/gan:v1beta1/CcOffer/rewards/reward/expirationMonths": expiration_months
+"/gan:v1beta1/CcOffer/rewards/reward/maxRewardTier": max_reward_tier
+"/gan:v1beta1/CcOffer/rewards/reward/minRewardTier": min_reward_tier
+"/gan:v1beta1/CcOffer/rewardsExpire": rewards_expire
+"/gan:v1beta1/CcOffer/rewardsHaveBlackoutDates": rewards_have_blackout_dates
+"/gan:v1beta1/CcOffer/statementCopyFee": statement_copy_fee
+"/gan:v1beta1/CcOffer/trackingUrl": tracking_url
+"/gan:v1beta1/CcOffer/travelInsurance": travel_insurance
+"/gan:v1beta1/CcOffer/variableRatesLastUpdated": variable_rates_last_updated
+"/gan:v1beta1/CcOffer/variableRatesUpdateFrequency": variable_rates_update_frequency
+"/gan:v1beta1/CcOffers": cc_offers
+"/gan:v1beta1/CcOffers/items": items
+"/gan:v1beta1/CcOffers/items/item": item
+"/gan:v1beta1/CcOffers/kind": kind
+"/gan:v1beta1/Event": event
+"/gan:v1beta1/Event/advertiserId": advertiser_id
+"/gan:v1beta1/Event/advertiserName": advertiser_name
+"/gan:v1beta1/Event/chargeId": charge_id
+"/gan:v1beta1/Event/chargeType": charge_type
+"/gan:v1beta1/Event/commissionableSales": commissionable_sales
+"/gan:v1beta1/Event/earnings": earnings
+"/gan:v1beta1/Event/eventDate": event_date
+"/gan:v1beta1/Event/kind": kind
+"/gan:v1beta1/Event/memberId": member_id
+"/gan:v1beta1/Event/modifyDate": modify_date
+"/gan:v1beta1/Event/networkFee": network_fee
+"/gan:v1beta1/Event/orderId": order_id
+"/gan:v1beta1/Event/products": products
+"/gan:v1beta1/Event/products/product": product
+"/gan:v1beta1/Event/products/product/categoryId": category_id
+"/gan:v1beta1/Event/products/product/categoryName": category_name
+"/gan:v1beta1/Event/products/product/earnings": earnings
+"/gan:v1beta1/Event/products/product/networkFee": network_fee
+"/gan:v1beta1/Event/products/product/publisherFee": publisher_fee
+"/gan:v1beta1/Event/products/product/quantity": quantity
+"/gan:v1beta1/Event/products/product/sku": sku
+"/gan:v1beta1/Event/products/product/skuName": sku_name
+"/gan:v1beta1/Event/products/product/unitPrice": unit_price
+"/gan:v1beta1/Event/publisherFee": publisher_fee
+"/gan:v1beta1/Event/publisherId": publisher_id
+"/gan:v1beta1/Event/publisherName": publisher_name
+"/gan:v1beta1/Event/status": status
+"/gan:v1beta1/Event/type": type
+"/gan:v1beta1/Events": events
+"/gan:v1beta1/Events/items": items
+"/gan:v1beta1/Events/items/item": item
+"/gan:v1beta1/Events/kind": kind
+"/gan:v1beta1/Events/nextPageToken": next_page_token
+"/gan:v1beta1/Link": link
+"/gan:v1beta1/Link/advertiserId": advertiser_id
+"/gan:v1beta1/Link/authorship": authorship
+"/gan:v1beta1/Link/availability": availability
+"/gan:v1beta1/Link/clickTrackingUrl": click_tracking_url
+"/gan:v1beta1/Link/createDate": create_date
+"/gan:v1beta1/Link/description": description
+"/gan:v1beta1/Link/destinationUrl": destination_url
+"/gan:v1beta1/Link/duration": duration
+"/gan:v1beta1/Link/endDate": end_date
+"/gan:v1beta1/Link/epcNinetyDayAverage": epc_ninety_day_average
+"/gan:v1beta1/Link/epcSevenDayAverage": epc_seven_day_average
+"/gan:v1beta1/Link/id": id
+"/gan:v1beta1/Link/imageAltText": image_alt_text
+"/gan:v1beta1/Link/impressionTrackingUrl": impression_tracking_url
+"/gan:v1beta1/Link/isActive": is_active
+"/gan:v1beta1/Link/kind": kind
+"/gan:v1beta1/Link/linkType": link_type
+"/gan:v1beta1/Link/name": name
+"/gan:v1beta1/Link/promotionType": promotion_type
+"/gan:v1beta1/Link/specialOffers": special_offers
+"/gan:v1beta1/Link/specialOffers/freeGift": free_gift
+"/gan:v1beta1/Link/specialOffers/freeShipping": free_shipping
+"/gan:v1beta1/Link/specialOffers/freeShippingMin": free_shipping_min
+"/gan:v1beta1/Link/specialOffers/percentOff": percent_off
+"/gan:v1beta1/Link/specialOffers/percentOffMin": percent_off_min
+"/gan:v1beta1/Link/specialOffers/priceCut": price_cut
+"/gan:v1beta1/Link/specialOffers/priceCutMin": price_cut_min
+"/gan:v1beta1/Link/specialOffers/promotionCodes": promotion_codes
+"/gan:v1beta1/Link/specialOffers/promotionCodes/promotion_code": promotion_code
+"/gan:v1beta1/Link/startDate": start_date
+"/gan:v1beta1/Links": links
+"/gan:v1beta1/Links/items": items
+"/gan:v1beta1/Links/items/item": item
+"/gan:v1beta1/Links/kind": kind
+"/gan:v1beta1/Links/nextPageToken": next_page_token
+"/gan:v1beta1/Money": money
+"/gan:v1beta1/Money/amount": amount
+"/gan:v1beta1/Money/currencyCode": currency_code
+"/gan:v1beta1/Publisher": publisher
+"/gan:v1beta1/Publisher/classification": classification
+"/gan:v1beta1/Publisher/epcNinetyDayAverage": epc_ninety_day_average
+"/gan:v1beta1/Publisher/epcSevenDayAverage": epc_seven_day_average
+"/gan:v1beta1/Publisher/id": id
+"/gan:v1beta1/Publisher/item": item
+"/gan:v1beta1/Publisher/joinDate": join_date
+"/gan:v1beta1/Publisher/kind": kind
+"/gan:v1beta1/Publisher/name": name
+"/gan:v1beta1/Publisher/payoutRank": payout_rank
+"/gan:v1beta1/Publisher/sites": sites
+"/gan:v1beta1/Publisher/sites/site": site
+"/gan:v1beta1/Publisher/status": status
+"/gan:v1beta1/Publishers": publishers
+"/gan:v1beta1/Publishers/items": items
+"/gan:v1beta1/Publishers/items/item": item
+"/gan:v1beta1/Publishers/kind": kind
+"/gan:v1beta1/Publishers/nextPageToken": next_page_token
+"/gan:v1beta1/Report": report
+"/gan:v1beta1/Report/column_names": column_names
+"/gan:v1beta1/Report/column_names/column_name": column_name
+"/gan:v1beta1/Report/end_date": end_date
+"/gan:v1beta1/Report/kind": kind
+"/gan:v1beta1/Report/matching_row_count": matching_row_count
+"/gan:v1beta1/Report/rows": rows
+"/gan:v1beta1/Report/rows/row": row
+"/gan:v1beta1/Report/rows/row/row": row
+"/gan:v1beta1/Report/start_date": start_date
+"/gan:v1beta1/Report/totals_rows": totals_rows
+"/gan:v1beta1/Report/totals_rows/totals_row": totals_row
+"/gan:v1beta1/Report/totals_rows/totals_row/totals_row": totals_row
+"/gan:v1beta1/Report/type": type
+"/genomics:v1beta2/fields": fields
+"/genomics:v1beta2/key": key
+"/genomics:v1beta2/quotaUser": quota_user
+"/genomics:v1beta2/userIp": user_ip
+"/genomics:v1beta2/genomics.annotationSets.create": create_annotation_set
+"/genomics:v1beta2/genomics.annotationSets.delete": delete_annotation_set
+"/genomics:v1beta2/genomics.annotationSets.delete/annotationSetId": annotation_set_id
+"/genomics:v1beta2/genomics.annotationSets.get": get_annotation_set
+"/genomics:v1beta2/genomics.annotationSets.get/annotationSetId": annotation_set_id
+"/genomics:v1beta2/genomics.annotationSets.patch": patch_annotation_set
+"/genomics:v1beta2/genomics.annotationSets.patch/annotationSetId": annotation_set_id
+"/genomics:v1beta2/genomics.annotationSets.search": search_annotation_sets
+"/genomics:v1beta2/genomics.annotationSets.update": update_annotation_set
+"/genomics:v1beta2/genomics.annotationSets.update/annotationSetId": annotation_set_id
+"/genomics:v1beta2/genomics.annotations.batchCreate": batch_create_annotations
+"/genomics:v1beta2/genomics.annotations.create": create_annotation
+"/genomics:v1beta2/genomics.annotations.delete": delete_annotation
+"/genomics:v1beta2/genomics.annotations.delete/annotationId": annotation_id
+"/genomics:v1beta2/genomics.annotations.get": get_annotation
+"/genomics:v1beta2/genomics.annotations.get/annotationId": annotation_id
+"/genomics:v1beta2/genomics.annotations.patch": patch_annotation
+"/genomics:v1beta2/genomics.annotations.patch/annotationId": annotation_id
+"/genomics:v1beta2/genomics.annotations.search": search_annotations
+"/genomics:v1beta2/genomics.annotations.update": update_annotation
+"/genomics:v1beta2/genomics.annotations.update/annotationId": annotation_id
+"/genomics:v1beta2/genomics.callsets.delete/callSetId": call_set_id
+"/genomics:v1beta2/genomics.callsets.get/callSetId": call_set_id
+"/genomics:v1beta2/genomics.callsets.patch/callSetId": call_set_id
+"/genomics:v1beta2/genomics.callsets.update/callSetId": call_set_id
+"/genomics:v1beta2/genomics.datasets.create": create_dataset
+"/genomics:v1beta2/genomics.datasets.delete": delete_dataset
+"/genomics:v1beta2/genomics.datasets.delete/datasetId": dataset_id
+"/genomics:v1beta2/genomics.datasets.get": get_dataset
+"/genomics:v1beta2/genomics.datasets.get/datasetId": dataset_id
+"/genomics:v1beta2/genomics.datasets.list": list_datasets
+"/genomics:v1beta2/genomics.datasets.list/pageSize": page_size
+"/genomics:v1beta2/genomics.datasets.list/pageToken": page_token
+"/genomics:v1beta2/genomics.datasets.list/projectNumber": project_number
+"/genomics:v1beta2/genomics.datasets.patch": patch_dataset
+"/genomics:v1beta2/genomics.datasets.patch/datasetId": dataset_id
+"/genomics:v1beta2/genomics.datasets.undelete": undelete_dataset
+"/genomics:v1beta2/genomics.datasets.undelete/datasetId": dataset_id
+"/genomics:v1beta2/genomics.datasets.update": update_dataset
+"/genomics:v1beta2/genomics.datasets.update/datasetId": dataset_id
+"/genomics:v1beta2/genomics.experimental.jobs.create": create_experimental_job
+"/genomics:v1beta2/genomics.jobs.cancel": cancel_job
+"/genomics:v1beta2/genomics.jobs.cancel/jobId": job_id
+"/genomics:v1beta2/genomics.jobs.get": get_job
+"/genomics:v1beta2/genomics.jobs.get/jobId": job_id
+"/genomics:v1beta2/genomics.jobs.search": search_jobs
+"/genomics:v1beta2/genomics.readgroupsets.delete/readGroupSetId": read_group_set_id
+"/genomics:v1beta2/genomics.readgroupsets.get/readGroupSetId": read_group_set_id
+"/genomics:v1beta2/genomics.readgroupsets.patch/readGroupSetId": read_group_set_id
+"/genomics:v1beta2/genomics.readgroupsets.update/readGroupSetId": read_group_set_id
+"/genomics:v1beta2/genomics.readgroupsets.coveragebuckets.list/pageSize": page_size
+"/genomics:v1beta2/genomics.readgroupsets.coveragebuckets.list/pageToken": page_token
+"/genomics:v1beta2/genomics.readgroupsets.coveragebuckets.list/range.end": range_end
+"/genomics:v1beta2/genomics.readgroupsets.coveragebuckets.list/range.referenceName": range_reference_name
+"/genomics:v1beta2/genomics.readgroupsets.coveragebuckets.list/range.start": range_start
+"/genomics:v1beta2/genomics.readgroupsets.coveragebuckets.list/readGroupSetId": read_group_set_id
+"/genomics:v1beta2/genomics.readgroupsets.coveragebuckets.list/targetBucketWidth": target_bucket_width
+"/genomics:v1beta2/genomics.reads.search": search_reads
+"/genomics:v1beta2/genomics.references.get": get_reference
+"/genomics:v1beta2/genomics.references.get/referenceId": reference_id
+"/genomics:v1beta2/genomics.references.search": search_references
+"/genomics:v1beta2/genomics.references.bases.list": list_reference_bases
+"/genomics:v1beta2/genomics.references.bases.list/pageSize": page_size
+"/genomics:v1beta2/genomics.references.bases.list/pageToken": page_token
+"/genomics:v1beta2/genomics.references.bases.list/referenceId": reference_id
+"/genomics:v1beta2/genomics.referencesets.get/referenceSetId": reference_set_id
+"/genomics:v1beta2/genomics.referencesets.search": search_reference_sets
+"/genomics:v1beta2/genomics.variants.create": create_variant
+"/genomics:v1beta2/genomics.variants.delete": delete_variant
+"/genomics:v1beta2/genomics.variants.delete/variantId": variant_id
+"/genomics:v1beta2/genomics.variants.get": get_variant
+"/genomics:v1beta2/genomics.variants.get/variantId": variant_id
+"/genomics:v1beta2/genomics.variants.search": search_variants
+"/genomics:v1beta2/genomics.variants.update": update_variant
+"/genomics:v1beta2/genomics.variants.update/variantId": variant_id
+"/genomics:v1beta2/genomics.variantsets.delete": delete_variantset
+"/genomics:v1beta2/genomics.variantsets.delete/variantSetId": variant_set_id
+"/genomics:v1beta2/genomics.variantsets.export": export_variant_set
+"/genomics:v1beta2/genomics.variantsets.export/variantSetId": variant_set_id
+"/genomics:v1beta2/genomics.variantsets.get": get_variantset
+"/genomics:v1beta2/genomics.variantsets.get/variantSetId": variant_set_id
+"/genomics:v1beta2/genomics.variantsets.importVariants": import_variants
+"/genomics:v1beta2/genomics.variantsets.importVariants/variantSetId": variant_set_id
+"/genomics:v1beta2/genomics.variantsets.mergeVariants": merge_variants
+"/genomics:v1beta2/genomics.variantsets.mergeVariants/variantSetId": variant_set_id
+"/genomics:v1beta2/genomics.variantsets.patch": patch_variantset
+"/genomics:v1beta2/genomics.variantsets.patch/variantSetId": variant_set_id
+"/genomics:v1beta2/genomics.variantsets.search": search_variant_sets
+"/genomics:v1beta2/genomics.variantsets.update": update_variantset
+"/genomics:v1beta2/genomics.variantsets.update/variantSetId": variant_set_id
+"/genomics:v1beta2/AlignReadGroupSetsRequest": align_read_group_sets_request
+"/genomics:v1beta2/AlignReadGroupSetsRequest/bamSourceUris": bam_source_uris
+"/genomics:v1beta2/AlignReadGroupSetsRequest/bamSourceUris/bam_source_uri": bam_source_uri
+"/genomics:v1beta2/AlignReadGroupSetsRequest/datasetId": dataset_id
+"/genomics:v1beta2/AlignReadGroupSetsRequest/interleavedFastqSource": interleaved_fastq_source
+"/genomics:v1beta2/AlignReadGroupSetsRequest/pairedFastqSource": paired_fastq_source
+"/genomics:v1beta2/AlignReadGroupSetsRequest/readGroupSetId": read_group_set_id
+"/genomics:v1beta2/AlignReadGroupSetsResponse": align_read_group_sets_response
+"/genomics:v1beta2/AlignReadGroupSetsResponse/jobId": job_id
+"/genomics:v1beta2/Annotation": annotation
+"/genomics:v1beta2/Annotation/annotationSetId": annotation_set_id
+"/genomics:v1beta2/Annotation/id": id
+"/genomics:v1beta2/Annotation/info": info
+"/genomics:v1beta2/Annotation/info/info": info
+"/genomics:v1beta2/Annotation/info/info/info": info
+"/genomics:v1beta2/Annotation/name": name
+"/genomics:v1beta2/Annotation/position": position
+"/genomics:v1beta2/Annotation/transcript": transcript
+"/genomics:v1beta2/Annotation/type": type
+"/genomics:v1beta2/Annotation/variant": variant
+"/genomics:v1beta2/AnnotationSet": annotation_set
+"/genomics:v1beta2/AnnotationSet/datasetId": dataset_id
+"/genomics:v1beta2/AnnotationSet/id": id
+"/genomics:v1beta2/AnnotationSet/info": info
+"/genomics:v1beta2/AnnotationSet/info/info": info
+"/genomics:v1beta2/AnnotationSet/info/info/info": info
+"/genomics:v1beta2/AnnotationSet/name": name
+"/genomics:v1beta2/AnnotationSet/referenceSetId": reference_set_id
+"/genomics:v1beta2/AnnotationSet/sourceUri": source_uri
+"/genomics:v1beta2/AnnotationSet/type": type
+"/genomics:v1beta2/BatchAnnotationsResponse": batch_annotations_response
+"/genomics:v1beta2/BatchAnnotationsResponse/entries": entries
+"/genomics:v1beta2/BatchAnnotationsResponse/entries/entry": entry
+"/genomics:v1beta2/BatchAnnotationsResponseEntry": batch_annotations_response_entry
+"/genomics:v1beta2/BatchAnnotationsResponseEntry/annotation": annotation
+"/genomics:v1beta2/BatchAnnotationsResponseEntry/status": status
+"/genomics:v1beta2/BatchAnnotationsResponseEntryStatus": batch_annotations_response_entry_status
+"/genomics:v1beta2/BatchAnnotationsResponseEntryStatus/code": code
+"/genomics:v1beta2/BatchAnnotationsResponseEntryStatus/message": message
+"/genomics:v1beta2/BatchCreateAnnotationsRequest": batch_create_annotations_request
+"/genomics:v1beta2/BatchCreateAnnotationsRequest/annotations": annotations
+"/genomics:v1beta2/BatchCreateAnnotationsRequest/annotations/annotation": annotation
+"/genomics:v1beta2/Call": call
+"/genomics:v1beta2/Call/callSetId": call_set_id
+"/genomics:v1beta2/Call/callSetName": call_set_name
+"/genomics:v1beta2/Call/genotype": genotype
+"/genomics:v1beta2/Call/genotype/genotype": genotype
+"/genomics:v1beta2/Call/genotypeLikelihood": genotype_likelihood
+"/genomics:v1beta2/Call/genotypeLikelihood/genotype_likelihood": genotype_likelihood
+"/genomics:v1beta2/Call/info": info
+"/genomics:v1beta2/Call/info/info": info
+"/genomics:v1beta2/Call/info/info/info": info
+"/genomics:v1beta2/Call/phaseset": phaseset
+"/genomics:v1beta2/CallReadGroupSetsRequest": call_read_group_sets_request
+"/genomics:v1beta2/CallReadGroupSetsRequest/datasetId": dataset_id
+"/genomics:v1beta2/CallReadGroupSetsRequest/readGroupSetId": read_group_set_id
+"/genomics:v1beta2/CallReadGroupSetsRequest/sourceUris": source_uris
+"/genomics:v1beta2/CallReadGroupSetsRequest/sourceUris/source_uri": source_uri
+"/genomics:v1beta2/CallReadGroupSetsResponse": call_read_group_sets_response
+"/genomics:v1beta2/CallReadGroupSetsResponse/jobId": job_id
+"/genomics:v1beta2/CallSet": call_set
+"/genomics:v1beta2/CallSet/created": created
+"/genomics:v1beta2/CallSet/id": id
+"/genomics:v1beta2/CallSet/info": info
+"/genomics:v1beta2/CallSet/info/info": info
+"/genomics:v1beta2/CallSet/info/info/info": info
+"/genomics:v1beta2/CallSet/name": name
+"/genomics:v1beta2/CallSet/sampleId": sample_id
+"/genomics:v1beta2/CallSet/variantSetIds": variant_set_ids
+"/genomics:v1beta2/CallSet/variantSetIds/variant_set_id": variant_set_id
+"/genomics:v1beta2/CigarUnit": cigar_unit
+"/genomics:v1beta2/CigarUnit/operation": operation
+"/genomics:v1beta2/CigarUnit/operationLength": operation_length
+"/genomics:v1beta2/CigarUnit/referenceSequence": reference_sequence
+"/genomics:v1beta2/CoverageBucket": coverage_bucket
+"/genomics:v1beta2/CoverageBucket/meanCoverage": mean_coverage
+"/genomics:v1beta2/CoverageBucket/range": range
+"/genomics:v1beta2/Dataset": dataset
+"/genomics:v1beta2/Dataset/id": id
+"/genomics:v1beta2/Dataset/isPublic": is_public
+"/genomics:v1beta2/Dataset/name": name
+"/genomics:v1beta2/Dataset/projectNumber": project_number
+"/genomics:v1beta2/ExperimentalCreateJobRequest": experimental_create_job_request
+"/genomics:v1beta2/ExperimentalCreateJobRequest/align": align
+"/genomics:v1beta2/ExperimentalCreateJobRequest/callVariants": call_variants
+"/genomics:v1beta2/ExperimentalCreateJobRequest/gcsOutputPath": gcs_output_path
+"/genomics:v1beta2/ExperimentalCreateJobRequest/pairedSourceUris": paired_source_uris
+"/genomics:v1beta2/ExperimentalCreateJobRequest/pairedSourceUris/paired_source_uri": paired_source_uri
+"/genomics:v1beta2/ExperimentalCreateJobRequest/projectNumber": project_number
+"/genomics:v1beta2/ExperimentalCreateJobRequest/sourceUris": source_uris
+"/genomics:v1beta2/ExperimentalCreateJobRequest/sourceUris/source_uri": source_uri
+"/genomics:v1beta2/ExperimentalCreateJobResponse": experimental_create_job_response
+"/genomics:v1beta2/ExperimentalCreateJobResponse/jobId": job_id
+"/genomics:v1beta2/ExportReadGroupSetsRequest": export_read_group_sets_request
+"/genomics:v1beta2/ExportReadGroupSetsRequest/exportUri": export_uri
+"/genomics:v1beta2/ExportReadGroupSetsRequest/projectNumber": project_number
+"/genomics:v1beta2/ExportReadGroupSetsRequest/readGroupSetIds": read_group_set_ids
+"/genomics:v1beta2/ExportReadGroupSetsRequest/readGroupSetIds/read_group_set_id": read_group_set_id
+"/genomics:v1beta2/ExportReadGroupSetsRequest/referenceNames": reference_names
+"/genomics:v1beta2/ExportReadGroupSetsRequest/referenceNames/reference_name": reference_name
+"/genomics:v1beta2/ExportReadGroupSetsResponse": export_read_group_sets_response
+"/genomics:v1beta2/ExportReadGroupSetsResponse/jobId": job_id
+"/genomics:v1beta2/ExportVariantSetRequest": export_variant_set_request
+"/genomics:v1beta2/ExportVariantSetRequest/bigqueryDataset": bigquery_dataset
+"/genomics:v1beta2/ExportVariantSetRequest/bigqueryTable": bigquery_table
+"/genomics:v1beta2/ExportVariantSetRequest/callSetIds": call_set_ids
+"/genomics:v1beta2/ExportVariantSetRequest/callSetIds/call_set_id": call_set_id
+"/genomics:v1beta2/ExportVariantSetRequest/format": format
+"/genomics:v1beta2/ExportVariantSetRequest/projectNumber": project_number
+"/genomics:v1beta2/ExportVariantSetResponse": export_variant_set_response
+"/genomics:v1beta2/ExportVariantSetResponse/jobId": job_id
+"/genomics:v1beta2/ExternalId": external_id
+"/genomics:v1beta2/ExternalId/id": id
+"/genomics:v1beta2/ExternalId/sourceName": source_name
+"/genomics:v1beta2/FastqMetadata": fastq_metadata
+"/genomics:v1beta2/FastqMetadata/libraryName": library_name
+"/genomics:v1beta2/FastqMetadata/platformName": platform_name
+"/genomics:v1beta2/FastqMetadata/platformUnit": platform_unit
+"/genomics:v1beta2/FastqMetadata/readGroupName": read_group_name
+"/genomics:v1beta2/FastqMetadata/sampleName": sample_name
+"/genomics:v1beta2/ImportReadGroupSetsRequest": import_read_group_sets_request
+"/genomics:v1beta2/ImportReadGroupSetsRequest/datasetId": dataset_id
+"/genomics:v1beta2/ImportReadGroupSetsRequest/partitionStrategy": partition_strategy
+"/genomics:v1beta2/ImportReadGroupSetsRequest/referenceSetId": reference_set_id
+"/genomics:v1beta2/ImportReadGroupSetsRequest/sourceUris": source_uris
+"/genomics:v1beta2/ImportReadGroupSetsRequest/sourceUris/source_uri": source_uri
+"/genomics:v1beta2/ImportReadGroupSetsResponse": import_read_group_sets_response
+"/genomics:v1beta2/ImportReadGroupSetsResponse/jobId": job_id
+"/genomics:v1beta2/ImportVariantsRequest": import_variants_request
+"/genomics:v1beta2/ImportVariantsRequest/format": format
+"/genomics:v1beta2/ImportVariantsRequest/normalizeReferenceNames": normalize_reference_names
+"/genomics:v1beta2/ImportVariantsRequest/sourceUris": source_uris
+"/genomics:v1beta2/ImportVariantsRequest/sourceUris/source_uri": source_uri
+"/genomics:v1beta2/ImportVariantsResponse": import_variants_response
+"/genomics:v1beta2/ImportVariantsResponse/jobId": job_id
+"/genomics:v1beta2/Int32Value": int32_value
+"/genomics:v1beta2/Int32Value/value": value
+"/genomics:v1beta2/InterleavedFastqSource": interleaved_fastq_source
+"/genomics:v1beta2/InterleavedFastqSource/metadata": metadata
+"/genomics:v1beta2/InterleavedFastqSource/sourceUris": source_uris
+"/genomics:v1beta2/InterleavedFastqSource/sourceUris/source_uri": source_uri
+"/genomics:v1beta2/Job": job
+"/genomics:v1beta2/Job/created": created
+"/genomics:v1beta2/Job/detailedStatus": detailed_status
+"/genomics:v1beta2/Job/errors": errors
+"/genomics:v1beta2/Job/errors/error": error
+"/genomics:v1beta2/Job/id": id
+"/genomics:v1beta2/Job/importedIds": imported_ids
+"/genomics:v1beta2/Job/importedIds/imported_id": imported_id
+"/genomics:v1beta2/Job/projectNumber": project_number
+"/genomics:v1beta2/Job/request": request
+"/genomics:v1beta2/Job/status": status
+"/genomics:v1beta2/Job/warnings": warnings
+"/genomics:v1beta2/Job/warnings/warning": warning
+"/genomics:v1beta2/JobRequest": job_request
+"/genomics:v1beta2/JobRequest/destination": destination
+"/genomics:v1beta2/JobRequest/destination/destination": destination
+"/genomics:v1beta2/JobRequest/source": source
+"/genomics:v1beta2/JobRequest/source/source": source
+"/genomics:v1beta2/JobRequest/type": type
+"/genomics:v1beta2/KeyValue": key_value
+"/genomics:v1beta2/KeyValue/key": key
+"/genomics:v1beta2/KeyValue/value": value
+"/genomics:v1beta2/KeyValue/value/value": value
+"/genomics:v1beta2/LinearAlignment": linear_alignment
+"/genomics:v1beta2/LinearAlignment/cigar": cigar
+"/genomics:v1beta2/LinearAlignment/cigar/cigar": cigar
+"/genomics:v1beta2/LinearAlignment/mappingQuality": mapping_quality
+"/genomics:v1beta2/LinearAlignment/position": position
+"/genomics:v1beta2/ListBasesResponse": list_bases_response
+"/genomics:v1beta2/ListBasesResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/ListBasesResponse/offset": offset
+"/genomics:v1beta2/ListBasesResponse/sequence": sequence
+"/genomics:v1beta2/ListCoverageBucketsResponse": list_coverage_buckets_response
+"/genomics:v1beta2/ListCoverageBucketsResponse/bucketWidth": bucket_width
+"/genomics:v1beta2/ListCoverageBucketsResponse/coverageBuckets": coverage_buckets
+"/genomics:v1beta2/ListCoverageBucketsResponse/coverageBuckets/coverage_bucket": coverage_bucket
+"/genomics:v1beta2/ListCoverageBucketsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/ListDatasetsResponse": list_datasets_response
+"/genomics:v1beta2/ListDatasetsResponse/datasets": datasets
+"/genomics:v1beta2/ListDatasetsResponse/datasets/dataset": dataset
+"/genomics:v1beta2/ListDatasetsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/MergeVariantsRequest": merge_variants_request
+"/genomics:v1beta2/MergeVariantsRequest/variants": variants
+"/genomics:v1beta2/MergeVariantsRequest/variants/variant": variant
+"/genomics:v1beta2/Metadata": metadata
+"/genomics:v1beta2/Metadata/description": description
+"/genomics:v1beta2/Metadata/id": id
+"/genomics:v1beta2/Metadata/info": info
+"/genomics:v1beta2/Metadata/info/info": info
+"/genomics:v1beta2/Metadata/info/info/info": info
+"/genomics:v1beta2/Metadata/key": key
+"/genomics:v1beta2/Metadata/number": number
+"/genomics:v1beta2/Metadata/type": type
+"/genomics:v1beta2/Metadata/value": value
+"/genomics:v1beta2/PairedFastqSource": paired_fastq_source
+"/genomics:v1beta2/PairedFastqSource/firstSourceUris": first_source_uris
+"/genomics:v1beta2/PairedFastqSource/firstSourceUris/first_source_uri": first_source_uri
+"/genomics:v1beta2/PairedFastqSource/metadata": metadata
+"/genomics:v1beta2/PairedFastqSource/secondSourceUris": second_source_uris
+"/genomics:v1beta2/PairedFastqSource/secondSourceUris/second_source_uri": second_source_uri
+"/genomics:v1beta2/Position": position
+"/genomics:v1beta2/Position/position": position
+"/genomics:v1beta2/Position/referenceName": reference_name
+"/genomics:v1beta2/Position/reverseStrand": reverse_strand
+"/genomics:v1beta2/QueryRange": query_range
+"/genomics:v1beta2/QueryRange/end": end
+"/genomics:v1beta2/QueryRange/referenceId": reference_id
+"/genomics:v1beta2/QueryRange/referenceName": reference_name
+"/genomics:v1beta2/QueryRange/start": start
+"/genomics:v1beta2/Range": range
+"/genomics:v1beta2/Range/end": end
+"/genomics:v1beta2/Range/referenceName": reference_name
+"/genomics:v1beta2/Range/start": start
+"/genomics:v1beta2/RangePosition": range_position
+"/genomics:v1beta2/RangePosition/end": end
+"/genomics:v1beta2/RangePosition/referenceId": reference_id
+"/genomics:v1beta2/RangePosition/referenceName": reference_name
+"/genomics:v1beta2/RangePosition/reverseStrand": reverse_strand
+"/genomics:v1beta2/RangePosition/start": start
+"/genomics:v1beta2/Read": read
+"/genomics:v1beta2/Read/alignedQuality": aligned_quality
+"/genomics:v1beta2/Read/alignedQuality/aligned_quality": aligned_quality
+"/genomics:v1beta2/Read/alignedSequence": aligned_sequence
+"/genomics:v1beta2/Read/alignment": alignment
+"/genomics:v1beta2/Read/duplicateFragment": duplicate_fragment
+"/genomics:v1beta2/Read/failedVendorQualityChecks": failed_vendor_quality_checks
+"/genomics:v1beta2/Read/fragmentLength": fragment_length
+"/genomics:v1beta2/Read/fragmentName": fragment_name
+"/genomics:v1beta2/Read/id": id
+"/genomics:v1beta2/Read/info": info
+"/genomics:v1beta2/Read/info/info": info
+"/genomics:v1beta2/Read/info/info/info": info
+"/genomics:v1beta2/Read/nextMatePosition": next_mate_position
+"/genomics:v1beta2/Read/numberReads": number_reads
+"/genomics:v1beta2/Read/properPlacement": proper_placement
+"/genomics:v1beta2/Read/readGroupId": read_group_id
+"/genomics:v1beta2/Read/readGroupSetId": read_group_set_id
+"/genomics:v1beta2/Read/readNumber": read_number
+"/genomics:v1beta2/Read/secondaryAlignment": secondary_alignment
+"/genomics:v1beta2/Read/supplementaryAlignment": supplementary_alignment
+"/genomics:v1beta2/ReadGroup": read_group
+"/genomics:v1beta2/ReadGroup/datasetId": dataset_id
+"/genomics:v1beta2/ReadGroup/description": description
+"/genomics:v1beta2/ReadGroup/experiment": experiment
+"/genomics:v1beta2/ReadGroup/id": id
+"/genomics:v1beta2/ReadGroup/info": info
+"/genomics:v1beta2/ReadGroup/info/info": info
+"/genomics:v1beta2/ReadGroup/info/info/info": info
+"/genomics:v1beta2/ReadGroup/name": name
+"/genomics:v1beta2/ReadGroup/predictedInsertSize": predicted_insert_size
+"/genomics:v1beta2/ReadGroup/programs": programs
+"/genomics:v1beta2/ReadGroup/programs/program": program
+"/genomics:v1beta2/ReadGroup/referenceSetId": reference_set_id
+"/genomics:v1beta2/ReadGroup/sampleId": sample_id
+"/genomics:v1beta2/ReadGroupExperiment": read_group_experiment
+"/genomics:v1beta2/ReadGroupExperiment/instrumentModel": instrument_model
+"/genomics:v1beta2/ReadGroupExperiment/libraryId": library_id
+"/genomics:v1beta2/ReadGroupExperiment/platformUnit": platform_unit
+"/genomics:v1beta2/ReadGroupExperiment/sequencingCenter": sequencing_center
+"/genomics:v1beta2/ReadGroupProgram": read_group_program
+"/genomics:v1beta2/ReadGroupProgram/commandLine": command_line
+"/genomics:v1beta2/ReadGroupProgram/id": id
+"/genomics:v1beta2/ReadGroupProgram/name": name
+"/genomics:v1beta2/ReadGroupProgram/prevProgramId": prev_program_id
+"/genomics:v1beta2/ReadGroupProgram/version": version
+"/genomics:v1beta2/ReadGroupSet": read_group_set
+"/genomics:v1beta2/ReadGroupSet/datasetId": dataset_id
+"/genomics:v1beta2/ReadGroupSet/filename": filename
+"/genomics:v1beta2/ReadGroupSet/id": id
+"/genomics:v1beta2/ReadGroupSet/info": info
+"/genomics:v1beta2/ReadGroupSet/info/info": info
+"/genomics:v1beta2/ReadGroupSet/info/info/info": info
+"/genomics:v1beta2/ReadGroupSet/name": name
+"/genomics:v1beta2/ReadGroupSet/readGroups": read_groups
+"/genomics:v1beta2/ReadGroupSet/readGroups/read_group": read_group
+"/genomics:v1beta2/ReadGroupSet/referenceSetId": reference_set_id
+"/genomics:v1beta2/Reference": reference
+"/genomics:v1beta2/Reference/id": id
+"/genomics:v1beta2/Reference/length": length
+"/genomics:v1beta2/Reference/md5checksum": md5checksum
+"/genomics:v1beta2/Reference/name": name
+"/genomics:v1beta2/Reference/ncbiTaxonId": ncbi_taxon_id
+"/genomics:v1beta2/Reference/sourceAccessions": source_accessions
+"/genomics:v1beta2/Reference/sourceAccessions/source_accession": source_accession
+"/genomics:v1beta2/Reference/sourceURI": source_uri
+"/genomics:v1beta2/ReferenceBound": reference_bound
+"/genomics:v1beta2/ReferenceBound/referenceName": reference_name
+"/genomics:v1beta2/ReferenceBound/upperBound": upper_bound
+"/genomics:v1beta2/ReferenceSet": reference_set
+"/genomics:v1beta2/ReferenceSet/assemblyId": assembly_id
+"/genomics:v1beta2/ReferenceSet/description": description
+"/genomics:v1beta2/ReferenceSet/id": id
+"/genomics:v1beta2/ReferenceSet/md5checksum": md5checksum
+"/genomics:v1beta2/ReferenceSet/ncbiTaxonId": ncbi_taxon_id
+"/genomics:v1beta2/ReferenceSet/referenceIds": reference_ids
+"/genomics:v1beta2/ReferenceSet/referenceIds/reference_id": reference_id
+"/genomics:v1beta2/ReferenceSet/sourceAccessions": source_accessions
+"/genomics:v1beta2/ReferenceSet/sourceAccessions/source_accession": source_accession
+"/genomics:v1beta2/ReferenceSet/sourceURI": source_uri
+"/genomics:v1beta2/SearchAnnotationSetsRequest": search_annotation_sets_request
+"/genomics:v1beta2/SearchAnnotationSetsRequest/datasetIds": dataset_ids
+"/genomics:v1beta2/SearchAnnotationSetsRequest/datasetIds/dataset_id": dataset_id
+"/genomics:v1beta2/SearchAnnotationSetsRequest/name": name
+"/genomics:v1beta2/SearchAnnotationSetsRequest/pageSize": page_size
+"/genomics:v1beta2/SearchAnnotationSetsRequest/pageToken": page_token
+"/genomics:v1beta2/SearchAnnotationSetsRequest/referenceSetId": reference_set_id
+"/genomics:v1beta2/SearchAnnotationSetsRequest/types": types
+"/genomics:v1beta2/SearchAnnotationSetsRequest/types/type": type
+"/genomics:v1beta2/SearchAnnotationSetsResponse": search_annotation_sets_response
+"/genomics:v1beta2/SearchAnnotationSetsResponse/annotationSets": annotation_sets
+"/genomics:v1beta2/SearchAnnotationSetsResponse/annotationSets/annotation_set": annotation_set
+"/genomics:v1beta2/SearchAnnotationSetsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/SearchAnnotationsRequest": search_annotations_request
+"/genomics:v1beta2/SearchAnnotationsRequest/annotationSetIds": annotation_set_ids
+"/genomics:v1beta2/SearchAnnotationsRequest/annotationSetIds/annotation_set_id": annotation_set_id
+"/genomics:v1beta2/SearchAnnotationsRequest/pageSize": page_size
+"/genomics:v1beta2/SearchAnnotationsRequest/pageToken": page_token
+"/genomics:v1beta2/SearchAnnotationsRequest/range": range
+"/genomics:v1beta2/SearchAnnotationsResponse": search_annotations_response
+"/genomics:v1beta2/SearchAnnotationsResponse/annotations": annotations
+"/genomics:v1beta2/SearchAnnotationsResponse/annotations/annotation": annotation
+"/genomics:v1beta2/SearchAnnotationsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/SearchCallSetsRequest": search_call_sets_request
+"/genomics:v1beta2/SearchCallSetsRequest/name": name
+"/genomics:v1beta2/SearchCallSetsRequest/pageSize": page_size
+"/genomics:v1beta2/SearchCallSetsRequest/pageToken": page_token
+"/genomics:v1beta2/SearchCallSetsRequest/variantSetIds": variant_set_ids
+"/genomics:v1beta2/SearchCallSetsRequest/variantSetIds/variant_set_id": variant_set_id
+"/genomics:v1beta2/SearchCallSetsResponse": search_call_sets_response
+"/genomics:v1beta2/SearchCallSetsResponse/callSets": call_sets
+"/genomics:v1beta2/SearchCallSetsResponse/callSets/call_set": call_set
+"/genomics:v1beta2/SearchCallSetsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/SearchJobsRequest": search_jobs_request
+"/genomics:v1beta2/SearchJobsRequest/createdAfter": created_after
+"/genomics:v1beta2/SearchJobsRequest/createdBefore": created_before
+"/genomics:v1beta2/SearchJobsRequest/pageSize": page_size
+"/genomics:v1beta2/SearchJobsRequest/pageToken": page_token
+"/genomics:v1beta2/SearchJobsRequest/projectNumber": project_number
+"/genomics:v1beta2/SearchJobsRequest/status": status
+"/genomics:v1beta2/SearchJobsRequest/status/status": status
+"/genomics:v1beta2/SearchJobsResponse": search_jobs_response
+"/genomics:v1beta2/SearchJobsResponse/jobs": jobs
+"/genomics:v1beta2/SearchJobsResponse/jobs/job": job
+"/genomics:v1beta2/SearchJobsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/SearchReadGroupSetsRequest": search_read_group_sets_request
+"/genomics:v1beta2/SearchReadGroupSetsRequest/datasetIds": dataset_ids
+"/genomics:v1beta2/SearchReadGroupSetsRequest/datasetIds/dataset_id": dataset_id
+"/genomics:v1beta2/SearchReadGroupSetsRequest/name": name
+"/genomics:v1beta2/SearchReadGroupSetsRequest/pageSize": page_size
+"/genomics:v1beta2/SearchReadGroupSetsRequest/pageToken": page_token
+"/genomics:v1beta2/SearchReadGroupSetsResponse": search_read_group_sets_response
+"/genomics:v1beta2/SearchReadGroupSetsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/SearchReadGroupSetsResponse/readGroupSets": read_group_sets
+"/genomics:v1beta2/SearchReadGroupSetsResponse/readGroupSets/read_group_set": read_group_set
+"/genomics:v1beta2/SearchReadsRequest": search_reads_request
+"/genomics:v1beta2/SearchReadsRequest/end": end
+"/genomics:v1beta2/SearchReadsRequest/pageSize": page_size
+"/genomics:v1beta2/SearchReadsRequest/pageToken": page_token
+"/genomics:v1beta2/SearchReadsRequest/readGroupIds": read_group_ids
+"/genomics:v1beta2/SearchReadsRequest/readGroupIds/read_group_id": read_group_id
+"/genomics:v1beta2/SearchReadsRequest/readGroupSetIds": read_group_set_ids
+"/genomics:v1beta2/SearchReadsRequest/readGroupSetIds/read_group_set_id": read_group_set_id
+"/genomics:v1beta2/SearchReadsRequest/referenceName": reference_name
+"/genomics:v1beta2/SearchReadsRequest/start": start
+"/genomics:v1beta2/SearchReadsResponse": search_reads_response
+"/genomics:v1beta2/SearchReadsResponse/alignments": alignments
+"/genomics:v1beta2/SearchReadsResponse/alignments/alignment": alignment
+"/genomics:v1beta2/SearchReadsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/SearchReferenceSetsRequest": search_reference_sets_request
+"/genomics:v1beta2/SearchReferenceSetsRequest/accessions": accessions
+"/genomics:v1beta2/SearchReferenceSetsRequest/accessions/accession": accession
+"/genomics:v1beta2/SearchReferenceSetsRequest/assemblyId": assembly_id
+"/genomics:v1beta2/SearchReferenceSetsRequest/md5checksums": md5checksums
+"/genomics:v1beta2/SearchReferenceSetsRequest/md5checksums/md5checksum": md5checksum
+"/genomics:v1beta2/SearchReferenceSetsRequest/pageSize": page_size
+"/genomics:v1beta2/SearchReferenceSetsRequest/pageToken": page_token
+"/genomics:v1beta2/SearchReferenceSetsResponse": search_reference_sets_response
+"/genomics:v1beta2/SearchReferenceSetsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/SearchReferenceSetsResponse/referenceSets": reference_sets
+"/genomics:v1beta2/SearchReferenceSetsResponse/referenceSets/reference_set": reference_set
+"/genomics:v1beta2/SearchReferencesRequest": search_references_request
+"/genomics:v1beta2/SearchReferencesRequest/accessions": accessions
+"/genomics:v1beta2/SearchReferencesRequest/accessions/accession": accession
+"/genomics:v1beta2/SearchReferencesRequest/md5checksums": md5checksums
+"/genomics:v1beta2/SearchReferencesRequest/md5checksums/md5checksum": md5checksum
+"/genomics:v1beta2/SearchReferencesRequest/pageSize": page_size
+"/genomics:v1beta2/SearchReferencesRequest/pageToken": page_token
+"/genomics:v1beta2/SearchReferencesRequest/referenceSetId": reference_set_id
+"/genomics:v1beta2/SearchReferencesResponse": search_references_response
+"/genomics:v1beta2/SearchReferencesResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/SearchReferencesResponse/references": references
+"/genomics:v1beta2/SearchReferencesResponse/references/reference": reference
+"/genomics:v1beta2/SearchVariantSetsRequest": search_variant_sets_request
+"/genomics:v1beta2/SearchVariantSetsRequest/datasetIds": dataset_ids
+"/genomics:v1beta2/SearchVariantSetsRequest/datasetIds/dataset_id": dataset_id
+"/genomics:v1beta2/SearchVariantSetsRequest/pageSize": page_size
+"/genomics:v1beta2/SearchVariantSetsRequest/pageToken": page_token
+"/genomics:v1beta2/SearchVariantSetsResponse": search_variant_sets_response
+"/genomics:v1beta2/SearchVariantSetsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/SearchVariantSetsResponse/variantSets": variant_sets
+"/genomics:v1beta2/SearchVariantSetsResponse/variantSets/variant_set": variant_set
+"/genomics:v1beta2/SearchVariantsRequest": search_variants_request
+"/genomics:v1beta2/SearchVariantsRequest/callSetIds": call_set_ids
+"/genomics:v1beta2/SearchVariantsRequest/callSetIds/call_set_id": call_set_id
+"/genomics:v1beta2/SearchVariantsRequest/end": end
+"/genomics:v1beta2/SearchVariantsRequest/maxCalls": max_calls
+"/genomics:v1beta2/SearchVariantsRequest/pageSize": page_size
+"/genomics:v1beta2/SearchVariantsRequest/pageToken": page_token
+"/genomics:v1beta2/SearchVariantsRequest/referenceName": reference_name
+"/genomics:v1beta2/SearchVariantsRequest/start": start
+"/genomics:v1beta2/SearchVariantsRequest/variantName": variant_name
+"/genomics:v1beta2/SearchVariantsRequest/variantSetIds": variant_set_ids
+"/genomics:v1beta2/SearchVariantsRequest/variantSetIds/variant_set_id": variant_set_id
+"/genomics:v1beta2/SearchVariantsResponse": search_variants_response
+"/genomics:v1beta2/SearchVariantsResponse/nextPageToken": next_page_token
+"/genomics:v1beta2/SearchVariantsResponse/variants": variants
+"/genomics:v1beta2/SearchVariantsResponse/variants/variant": variant
+"/genomics:v1beta2/Transcript": transcript
+"/genomics:v1beta2/Transcript/codingSequence": coding_sequence
+"/genomics:v1beta2/Transcript/exons": exons
+"/genomics:v1beta2/Transcript/exons/exon": exon
+"/genomics:v1beta2/Transcript/geneId": gene_id
+"/genomics:v1beta2/TranscriptCodingSequence": transcript_coding_sequence
+"/genomics:v1beta2/TranscriptCodingSequence/end": end
+"/genomics:v1beta2/TranscriptCodingSequence/start": start
+"/genomics:v1beta2/TranscriptExon": transcript_exon
+"/genomics:v1beta2/TranscriptExon/end": end
+"/genomics:v1beta2/TranscriptExon/frame": frame
+"/genomics:v1beta2/TranscriptExon/start": start
+"/genomics:v1beta2/Variant": variant
+"/genomics:v1beta2/Variant/alternateBases": alternate_bases
+"/genomics:v1beta2/Variant/alternateBases/alternate_basis": alternate_basis
+"/genomics:v1beta2/Variant/calls": calls
+"/genomics:v1beta2/Variant/calls/call": call
+"/genomics:v1beta2/Variant/created": created
+"/genomics:v1beta2/Variant/end": end
+"/genomics:v1beta2/Variant/filter": filter
+"/genomics:v1beta2/Variant/filter/filter": filter
+"/genomics:v1beta2/Variant/id": id
+"/genomics:v1beta2/Variant/info": info
+"/genomics:v1beta2/Variant/info/info": info
+"/genomics:v1beta2/Variant/info/info/info": info
+"/genomics:v1beta2/Variant/names": names
+"/genomics:v1beta2/Variant/names/name": name
+"/genomics:v1beta2/Variant/quality": quality
+"/genomics:v1beta2/Variant/referenceBases": reference_bases
+"/genomics:v1beta2/Variant/referenceName": reference_name
+"/genomics:v1beta2/Variant/start": start
+"/genomics:v1beta2/Variant/variantSetId": variant_set_id
+"/genomics:v1beta2/VariantAnnotation": variant_annotation
+"/genomics:v1beta2/VariantAnnotation/alternateBases": alternate_bases
+"/genomics:v1beta2/VariantAnnotation/clinicalSignificance": clinical_significance
+"/genomics:v1beta2/VariantAnnotation/conditions": conditions
+"/genomics:v1beta2/VariantAnnotation/conditions/condition": condition
+"/genomics:v1beta2/VariantAnnotation/effect": effect
+"/genomics:v1beta2/VariantAnnotation/geneId": gene_id
+"/genomics:v1beta2/VariantAnnotation/transcriptIds": transcript_ids
+"/genomics:v1beta2/VariantAnnotation/transcriptIds/transcript_id": transcript_id
+"/genomics:v1beta2/VariantAnnotation/type": type
+"/genomics:v1beta2/VariantAnnotationCondition": variant_annotation_condition
+"/genomics:v1beta2/VariantAnnotationCondition/conceptId": concept_id
+"/genomics:v1beta2/VariantAnnotationCondition/externalIds": external_ids
+"/genomics:v1beta2/VariantAnnotationCondition/externalIds/external_id": external_id
+"/genomics:v1beta2/VariantAnnotationCondition/names": names
+"/genomics:v1beta2/VariantAnnotationCondition/names/name": name
+"/genomics:v1beta2/VariantAnnotationCondition/omimId": omim_id
+"/genomics:v1beta2/VariantSet": variant_set
+"/genomics:v1beta2/VariantSet/datasetId": dataset_id
+"/genomics:v1beta2/VariantSet/id": id
+"/genomics:v1beta2/VariantSet/metadata": metadata
+"/genomics:v1beta2/VariantSet/metadata/metadatum": metadatum
+"/genomics:v1beta2/VariantSet/referenceBounds": reference_bounds
+"/genomics:v1beta2/VariantSet/referenceBounds/reference_bound": reference_bound
+"/gmail:v1/fields": fields
+"/gmail:v1/key": key
+"/gmail:v1/quotaUser": quota_user
+"/gmail:v1/userIp": user_ip
+"/gmail:v1/gmail.users.getProfile/userId": user_id
+"/gmail:v1/gmail.users.stop": stop_user
+"/gmail:v1/gmail.users.stop/userId": user_id
+"/gmail:v1/gmail.users.watch": watch
+"/gmail:v1/gmail.users.watch/userId": user_id
+"/gmail:v1/gmail.users.drafts.create": create_user_draft
+"/gmail:v1/gmail.users.drafts.create/userId": user_id
+"/gmail:v1/gmail.users.drafts.delete": delete_user_draft
+"/gmail:v1/gmail.users.drafts.delete/id": id
+"/gmail:v1/gmail.users.drafts.delete/userId": user_id
+"/gmail:v1/gmail.users.drafts.get": get_user_draft
+"/gmail:v1/gmail.users.drafts.get/format": format
+"/gmail:v1/gmail.users.drafts.get/id": id
+"/gmail:v1/gmail.users.drafts.get/userId": user_id
+"/gmail:v1/gmail.users.drafts.list": list_user_drafts
+"/gmail:v1/gmail.users.drafts.list/maxResults": max_results
+"/gmail:v1/gmail.users.drafts.list/pageToken": page_token
+"/gmail:v1/gmail.users.drafts.list/userId": user_id
+"/gmail:v1/gmail.users.drafts.send": send_user_draft
+"/gmail:v1/gmail.users.drafts.send/userId": user_id
+"/gmail:v1/gmail.users.drafts.update": update_user_draft
+"/gmail:v1/gmail.users.drafts.update/id": id
+"/gmail:v1/gmail.users.drafts.update/userId": user_id
+"/gmail:v1/gmail.users.history.list": list_user_histories
+"/gmail:v1/gmail.users.history.list/labelId": label_id
+"/gmail:v1/gmail.users.history.list/maxResults": max_results
+"/gmail:v1/gmail.users.history.list/pageToken": page_token
+"/gmail:v1/gmail.users.history.list/startHistoryId": start_history_id
+"/gmail:v1/gmail.users.history.list/userId": user_id
+"/gmail:v1/gmail.users.labels.create": create_user_label
+"/gmail:v1/gmail.users.labels.create/userId": user_id
+"/gmail:v1/gmail.users.labels.delete": delete_user_label
+"/gmail:v1/gmail.users.labels.delete/id": id
+"/gmail:v1/gmail.users.labels.delete/userId": user_id
+"/gmail:v1/gmail.users.labels.get": get_user_label
+"/gmail:v1/gmail.users.labels.get/id": id
+"/gmail:v1/gmail.users.labels.get/userId": user_id
+"/gmail:v1/gmail.users.labels.list": list_user_labels
+"/gmail:v1/gmail.users.labels.list/userId": user_id
+"/gmail:v1/gmail.users.labels.patch": patch_user_label
+"/gmail:v1/gmail.users.labels.patch/id": id
+"/gmail:v1/gmail.users.labels.patch/userId": user_id
+"/gmail:v1/gmail.users.labels.update": update_user_label
+"/gmail:v1/gmail.users.labels.update/id": id
+"/gmail:v1/gmail.users.labels.update/userId": user_id
+"/gmail:v1/gmail.users.messages.delete": delete_user_message
+"/gmail:v1/gmail.users.messages.delete/id": id
+"/gmail:v1/gmail.users.messages.delete/userId": user_id
+"/gmail:v1/gmail.users.messages.get": get_user_message
+"/gmail:v1/gmail.users.messages.get/format": format
+"/gmail:v1/gmail.users.messages.get/id": id
+"/gmail:v1/gmail.users.messages.get/metadataHeaders": metadata_headers
+"/gmail:v1/gmail.users.messages.get/userId": user_id
+"/gmail:v1/gmail.users.messages.import": import_user_message
+"/gmail:v1/gmail.users.messages.import/deleted": deleted
+"/gmail:v1/gmail.users.messages.import/internalDateSource": internal_date_source
+"/gmail:v1/gmail.users.messages.import/neverMarkSpam": never_mark_spam
+"/gmail:v1/gmail.users.messages.import/processForCalendar": process_for_calendar
+"/gmail:v1/gmail.users.messages.import/userId": user_id
+"/gmail:v1/gmail.users.messages.insert": insert_user_message
+"/gmail:v1/gmail.users.messages.insert/deleted": deleted
+"/gmail:v1/gmail.users.messages.insert/internalDateSource": internal_date_source
+"/gmail:v1/gmail.users.messages.insert/userId": user_id
+"/gmail:v1/gmail.users.messages.list": list_user_messages
+"/gmail:v1/gmail.users.messages.list/includeSpamTrash": include_spam_trash
+"/gmail:v1/gmail.users.messages.list/labelIds": label_ids
+"/gmail:v1/gmail.users.messages.list/maxResults": max_results
+"/gmail:v1/gmail.users.messages.list/pageToken": page_token
+"/gmail:v1/gmail.users.messages.list/q": q
+"/gmail:v1/gmail.users.messages.list/userId": user_id
+"/gmail:v1/gmail.users.messages.modify": modify_message
+"/gmail:v1/gmail.users.messages.modify/id": id
+"/gmail:v1/gmail.users.messages.modify/userId": user_id
+"/gmail:v1/gmail.users.messages.send": send_user_message
+"/gmail:v1/gmail.users.messages.send/userId": user_id
+"/gmail:v1/gmail.users.messages.trash": trash_user_message
+"/gmail:v1/gmail.users.messages.trash/id": id
+"/gmail:v1/gmail.users.messages.trash/userId": user_id
+"/gmail:v1/gmail.users.messages.untrash": untrash_user_message
+"/gmail:v1/gmail.users.messages.untrash/id": id
+"/gmail:v1/gmail.users.messages.untrash/userId": user_id
+"/gmail:v1/gmail.users.messages.attachments.get": get_user_message_attachment
+"/gmail:v1/gmail.users.messages.attachments.get/id": id
+"/gmail:v1/gmail.users.messages.attachments.get/messageId": message_id
+"/gmail:v1/gmail.users.messages.attachments.get/userId": user_id
+"/gmail:v1/gmail.users.threads.delete": delete_user_thread
+"/gmail:v1/gmail.users.threads.delete/id": id
+"/gmail:v1/gmail.users.threads.delete/userId": user_id
+"/gmail:v1/gmail.users.threads.get": get_user_thread
+"/gmail:v1/gmail.users.threads.get/format": format
+"/gmail:v1/gmail.users.threads.get/id": id
+"/gmail:v1/gmail.users.threads.get/metadataHeaders": metadata_headers
+"/gmail:v1/gmail.users.threads.get/userId": user_id
+"/gmail:v1/gmail.users.threads.list": list_user_threads
+"/gmail:v1/gmail.users.threads.list/includeSpamTrash": include_spam_trash
+"/gmail:v1/gmail.users.threads.list/labelIds": label_ids
+"/gmail:v1/gmail.users.threads.list/maxResults": max_results
+"/gmail:v1/gmail.users.threads.list/pageToken": page_token
+"/gmail:v1/gmail.users.threads.list/q": q
+"/gmail:v1/gmail.users.threads.list/userId": user_id
+"/gmail:v1/gmail.users.threads.modify": modify_thread
+"/gmail:v1/gmail.users.threads.modify/id": id
+"/gmail:v1/gmail.users.threads.modify/userId": user_id
+"/gmail:v1/gmail.users.threads.trash": trash_user_thread
+"/gmail:v1/gmail.users.threads.trash/id": id
+"/gmail:v1/gmail.users.threads.trash/userId": user_id
+"/gmail:v1/gmail.users.threads.untrash": untrash_user_thread
+"/gmail:v1/gmail.users.threads.untrash/id": id
+"/gmail:v1/gmail.users.threads.untrash/userId": user_id
+"/gmail:v1/Draft": draft
+"/gmail:v1/Draft/id": id
+"/gmail:v1/Draft/message": message
+"/gmail:v1/History": history
+"/gmail:v1/History/id": id
+"/gmail:v1/History/labelsAdded": labels_added
+"/gmail:v1/History/labelsAdded/labels_added": labels_added
+"/gmail:v1/History/labelsRemoved": labels_removed
+"/gmail:v1/History/labelsRemoved/labels_removed": labels_removed
+"/gmail:v1/History/messages": messages
+"/gmail:v1/History/messages/message": message
+"/gmail:v1/History/messagesAdded": messages_added
+"/gmail:v1/History/messagesAdded/messages_added": messages_added
+"/gmail:v1/History/messagesDeleted": messages_deleted
+"/gmail:v1/History/messagesDeleted/messages_deleted": messages_deleted
+"/gmail:v1/HistoryLabelAdded": history_label_added
+"/gmail:v1/HistoryLabelAdded/labelIds": label_ids
+"/gmail:v1/HistoryLabelAdded/labelIds/label_id": label_id
+"/gmail:v1/HistoryLabelAdded/message": message
+"/gmail:v1/HistoryLabelRemoved": history_label_removed
+"/gmail:v1/HistoryLabelRemoved/labelIds": label_ids
+"/gmail:v1/HistoryLabelRemoved/labelIds/label_id": label_id
+"/gmail:v1/HistoryLabelRemoved/message": message
+"/gmail:v1/HistoryMessageAdded": history_message_added
+"/gmail:v1/HistoryMessageAdded/message": message
+"/gmail:v1/HistoryMessageDeleted": history_message_deleted
+"/gmail:v1/HistoryMessageDeleted/message": message
+"/gmail:v1/Label": label
+"/gmail:v1/Label/id": id
+"/gmail:v1/Label/labelListVisibility": label_list_visibility
+"/gmail:v1/Label/messageListVisibility": message_list_visibility
+"/gmail:v1/Label/messagesTotal": messages_total
+"/gmail:v1/Label/messagesUnread": messages_unread
+"/gmail:v1/Label/name": name
+"/gmail:v1/Label/threadsTotal": threads_total
+"/gmail:v1/Label/threadsUnread": threads_unread
+"/gmail:v1/Label/type": type
+"/gmail:v1/ListDraftsResponse": list_drafts_response
+"/gmail:v1/ListDraftsResponse/drafts": drafts
+"/gmail:v1/ListDraftsResponse/drafts/draft": draft
+"/gmail:v1/ListDraftsResponse/nextPageToken": next_page_token
+"/gmail:v1/ListDraftsResponse/resultSizeEstimate": result_size_estimate
+"/gmail:v1/ListHistoryResponse": list_history_response
+"/gmail:v1/ListHistoryResponse/history": history
+"/gmail:v1/ListHistoryResponse/history/history": history
+"/gmail:v1/ListHistoryResponse/historyId": history_id
+"/gmail:v1/ListHistoryResponse/nextPageToken": next_page_token
+"/gmail:v1/ListLabelsResponse": list_labels_response
+"/gmail:v1/ListLabelsResponse/labels": labels
+"/gmail:v1/ListLabelsResponse/labels/label": label
+"/gmail:v1/ListMessagesResponse": list_messages_response
+"/gmail:v1/ListMessagesResponse/messages": messages
+"/gmail:v1/ListMessagesResponse/messages/message": message
+"/gmail:v1/ListMessagesResponse/nextPageToken": next_page_token
+"/gmail:v1/ListMessagesResponse/resultSizeEstimate": result_size_estimate
+"/gmail:v1/ListThreadsResponse": list_threads_response
+"/gmail:v1/ListThreadsResponse/nextPageToken": next_page_token
+"/gmail:v1/ListThreadsResponse/resultSizeEstimate": result_size_estimate
+"/gmail:v1/ListThreadsResponse/threads": threads
+"/gmail:v1/ListThreadsResponse/threads/thread": thread
+"/gmail:v1/Message": message
+"/gmail:v1/Message/historyId": history_id
+"/gmail:v1/Message/id": id
+"/gmail:v1/Message/labelIds": label_ids
+"/gmail:v1/Message/labelIds/label_id": label_id
+"/gmail:v1/Message/payload": payload
+"/gmail:v1/Message/raw": raw
+"/gmail:v1/Message/sizeEstimate": size_estimate
+"/gmail:v1/Message/snippet": snippet
+"/gmail:v1/Message/threadId": thread_id
+"/gmail:v1/MessagePart": message_part
+"/gmail:v1/MessagePart/body": body
+"/gmail:v1/MessagePart/filename": filename
+"/gmail:v1/MessagePart/headers": headers
+"/gmail:v1/MessagePart/headers/header": header
+"/gmail:v1/MessagePart/mimeType": mime_type
+"/gmail:v1/MessagePart/partId": part_id
+"/gmail:v1/MessagePart/parts": parts
+"/gmail:v1/MessagePart/parts/part": part
+"/gmail:v1/MessagePartBody": message_part_body
+"/gmail:v1/MessagePartBody/attachmentId": attachment_id
+"/gmail:v1/MessagePartBody/data": data
+"/gmail:v1/MessagePartBody/size": size
+"/gmail:v1/MessagePartHeader": message_part_header
+"/gmail:v1/MessagePartHeader/name": name
+"/gmail:v1/MessagePartHeader/value": value
+"/gmail:v1/ModifyMessageRequest": modify_message_request
+"/gmail:v1/ModifyMessageRequest/addLabelIds": add_label_ids
+"/gmail:v1/ModifyMessageRequest/addLabelIds/add_label_id": add_label_id
+"/gmail:v1/ModifyMessageRequest/removeLabelIds": remove_label_ids
+"/gmail:v1/ModifyMessageRequest/removeLabelIds/remove_label_id": remove_label_id
+"/gmail:v1/ModifyThreadRequest": modify_thread_request
+"/gmail:v1/ModifyThreadRequest/addLabelIds": add_label_ids
+"/gmail:v1/ModifyThreadRequest/addLabelIds/add_label_id": add_label_id
+"/gmail:v1/ModifyThreadRequest/removeLabelIds": remove_label_ids
+"/gmail:v1/ModifyThreadRequest/removeLabelIds/remove_label_id": remove_label_id
+"/gmail:v1/Profile": profile
+"/gmail:v1/Profile/emailAddress": email_address
+"/gmail:v1/Profile/historyId": history_id
+"/gmail:v1/Profile/messagesTotal": messages_total
+"/gmail:v1/Profile/threadsTotal": threads_total
+"/gmail:v1/Thread": thread
+"/gmail:v1/Thread/historyId": history_id
+"/gmail:v1/Thread/id": id
+"/gmail:v1/Thread/messages": messages
+"/gmail:v1/Thread/messages/message": message
+"/gmail:v1/Thread/snippet": snippet
+"/gmail:v1/WatchRequest": watch_request
+"/gmail:v1/WatchRequest/labelFilterAction": label_filter_action
+"/gmail:v1/WatchRequest/labelIds": label_ids
+"/gmail:v1/WatchRequest/labelIds/label_id": label_id
+"/gmail:v1/WatchRequest/topicName": topic_name
+"/gmail:v1/WatchResponse": watch_response
+"/gmail:v1/WatchResponse/expiration": expiration
+"/gmail:v1/WatchResponse/historyId": history_id
+"/groupsmigration:v1/fields": fields
+"/groupsmigration:v1/key": key
+"/groupsmigration:v1/quotaUser": quota_user
+"/groupsmigration:v1/userIp": user_ip
+"/groupsmigration:v1/groupsmigration.archive.insert": insert_archive
+"/groupsmigration:v1/groupsmigration.archive.insert/groupId": group_id
+"/groupsmigration:v1/Groups": groups
+"/groupsmigration:v1/Groups/kind": kind
+"/groupsmigration:v1/Groups/responseCode": response_code
+"/groupssettings:v1/fields": fields
+"/groupssettings:v1/key": key
+"/groupssettings:v1/quotaUser": quota_user
+"/groupssettings:v1/userIp": user_ip
+"/groupssettings:v1/groupsSettings.groups.get": get_group
+"/groupssettings:v1/groupsSettings.groups.get/groupUniqueId": group_unique_id
+"/groupssettings:v1/groupsSettings.groups.patch": patch_group
+"/groupssettings:v1/groupsSettings.groups.patch/groupUniqueId": group_unique_id
+"/groupssettings:v1/groupsSettings.groups.update": update_group
+"/groupssettings:v1/groupsSettings.groups.update/groupUniqueId": group_unique_id
+"/groupssettings:v1/Groups": groups
+"/groupssettings:v1/Groups/allowExternalMembers": allow_external_members
+"/groupssettings:v1/Groups/allowGoogleCommunication": allow_google_communication
+"/groupssettings:v1/Groups/allowWebPosting": allow_web_posting
+"/groupssettings:v1/Groups/archiveOnly": archive_only
+"/groupssettings:v1/Groups/customReplyTo": custom_reply_to
+"/groupssettings:v1/Groups/defaultMessageDenyNotificationText": default_message_deny_notification_text
+"/groupssettings:v1/Groups/description": description
+"/groupssettings:v1/Groups/email": email
+"/groupssettings:v1/Groups/includeInGlobalAddressList": include_in_global_address_list
+"/groupssettings:v1/Groups/isArchived": is_archived
+"/groupssettings:v1/Groups/kind": kind
+"/groupssettings:v1/Groups/maxMessageBytes": max_message_bytes
+"/groupssettings:v1/Groups/membersCanPostAsTheGroup": members_can_post_as_the_group
+"/groupssettings:v1/Groups/messageDisplayFont": message_display_font
+"/groupssettings:v1/Groups/messageModerationLevel": message_moderation_level
+"/groupssettings:v1/Groups/name": name
+"/groupssettings:v1/Groups/primaryLanguage": primary_language
+"/groupssettings:v1/Groups/replyTo": reply_to
+"/groupssettings:v1/Groups/sendMessageDenyNotification": send_message_deny_notification
+"/groupssettings:v1/Groups/showInGroupDirectory": show_in_group_directory
+"/groupssettings:v1/Groups/spamModerationLevel": spam_moderation_level
+"/groupssettings:v1/Groups/whoCanContactOwner": who_can_contact_owner
+"/groupssettings:v1/Groups/whoCanInvite": who_can_invite
+"/groupssettings:v1/Groups/whoCanJoin": who_can_join
+"/groupssettings:v1/Groups/whoCanLeaveGroup": who_can_leave_group
+"/groupssettings:v1/Groups/whoCanPostMessage": who_can_post_message
+"/groupssettings:v1/Groups/whoCanViewGroup": who_can_view_group
+"/groupssettings:v1/Groups/whoCanViewMembership": who_can_view_membership
+"/cloudresourcemanager:v1beta1/fields": fields
+"/cloudresourcemanager:v1beta1/key": key
+"/cloudresourcemanager:v1beta1/quotaUser": quota_user
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.create": create_project
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.list": list_projects
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.list/pageToken": page_token
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.list/pageSize": page_size
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.list/filter": filter
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.get": get_project
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.get/projectId": project_id
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.update": update_project
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.update/projectId": project_id
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.delete": delete_project
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.delete/projectId": project_id
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.undelete": undelete_project
+"/cloudresourcemanager:v1beta1/cloudresourcemanager.projects.undelete/projectId": project_id
+"/cloudresourcemanager:v1beta1/Project": project
+"/cloudresourcemanager:v1beta1/Project/projectNumber": project_number
+"/cloudresourcemanager:v1beta1/Project/projectId": project_id
+"/cloudresourcemanager:v1beta1/Project/lifecycleState": lifecycle_state
+"/cloudresourcemanager:v1beta1/Project/name": name
+"/cloudresourcemanager:v1beta1/Project/createTime": create_time
+"/cloudresourcemanager:v1beta1/Project/labels": labels
+"/cloudresourcemanager:v1beta1/Project/labels/label": label
+"/cloudresourcemanager:v1beta1/ListProjectsResponse": list_projects_response
+"/cloudresourcemanager:v1beta1/ListProjectsResponse/projects": projects
+"/cloudresourcemanager:v1beta1/ListProjectsResponse/projects/project": project
+"/cloudresourcemanager:v1beta1/ListProjectsResponse/nextPageToken": next_page_token
+"/cloudresourcemanager:v1beta1/Empty": empty
+"/logging:v1beta3/fields": fields
+"/logging:v1beta3/key": key
+"/logging:v1beta3/quotaUser": quota_user
+"/logging:v1beta3/logging.projects.logs.list/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logs.list/serviceName": service_name
+"/logging:v1beta3/logging.projects.logs.list/serviceIndexPrefix": service_index_prefix
+"/logging:v1beta3/logging.projects.logs.list/pageSize": page_size
+"/logging:v1beta3/logging.projects.logs.list/pageToken": page_token
+"/logging:v1beta3/logging.projects.logs.delete/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logs.delete/logsId": logs_id
+"/logging:v1beta3/logging.projects.logs.entries.write": write_log_entries
+"/logging:v1beta3/logging.projects.logs.entries.write/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logs.entries.write/logsId": logs_id
+"/logging:v1beta3/logging.projects.logs.sinks.list/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logs.sinks.list/logsId": logs_id
+"/logging:v1beta3/logging.projects.logs.sinks.get/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logs.sinks.get/logsId": logs_id
+"/logging:v1beta3/logging.projects.logs.sinks.get/sinksId": sinks_id
+"/logging:v1beta3/logging.projects.logs.sinks.create/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logs.sinks.create/logsId": logs_id
+"/logging:v1beta3/logging.projects.logs.sinks.update/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logs.sinks.update/logsId": logs_id
+"/logging:v1beta3/logging.projects.logs.sinks.update/sinksId": sinks_id
+"/logging:v1beta3/logging.projects.logs.sinks.delete/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logs.sinks.delete/logsId": logs_id
+"/logging:v1beta3/logging.projects.logs.sinks.delete/sinksId": sinks_id
+"/logging:v1beta3/logging.projects.logServices.list/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logServices.list/log": log
+"/logging:v1beta3/logging.projects.logServices.list/pageSize": page_size
+"/logging:v1beta3/logging.projects.logServices.list/pageToken": page_token
+"/logging:v1beta3/logging.projects.logServices.indexes.list/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logServices.indexes.list/logServicesId": log_services_id
+"/logging:v1beta3/logging.projects.logServices.indexes.list/indexPrefix": index_prefix
+"/logging:v1beta3/logging.projects.logServices.indexes.list/depth": depth
+"/logging:v1beta3/logging.projects.logServices.indexes.list/log": log
+"/logging:v1beta3/logging.projects.logServices.indexes.list/pageSize": page_size
+"/logging:v1beta3/logging.projects.logServices.indexes.list/pageToken": page_token
+"/logging:v1beta3/logging.projects.logServices.sinks.list/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logServices.sinks.list/logServicesId": log_services_id
+"/logging:v1beta3/logging.projects.logServices.sinks.get/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logServices.sinks.get/logServicesId": log_services_id
+"/logging:v1beta3/logging.projects.logServices.sinks.get/sinksId": sinks_id
+"/logging:v1beta3/logging.projects.logServices.sinks.create/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logServices.sinks.create/logServicesId": log_services_id
+"/logging:v1beta3/logging.projects.logServices.sinks.update/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logServices.sinks.update/logServicesId": log_services_id
+"/logging:v1beta3/logging.projects.logServices.sinks.update/sinksId": sinks_id
+"/logging:v1beta3/logging.projects.logServices.sinks.delete/projectsId": projects_id
+"/logging:v1beta3/logging.projects.logServices.sinks.delete/logServicesId": log_services_id
+"/logging:v1beta3/logging.projects.logServices.sinks.delete/sinksId": sinks_id
+"/logging:v1beta3/ListLogsResponse": list_logs_response
+"/logging:v1beta3/ListLogsResponse/logs": logs
+"/logging:v1beta3/ListLogsResponse/logs/log": log
+"/logging:v1beta3/ListLogsResponse/nextPageToken": next_page_token
+"/logging:v1beta3/Log": log
+"/logging:v1beta3/Log/name": name
+"/logging:v1beta3/Log/displayName": display_name
+"/logging:v1beta3/Log/payloadType": payload_type
+"/logging:v1beta3/Empty": empty
+"/logging:v1beta3/WriteLogEntriesRequest": write_log_entries_request
+"/logging:v1beta3/WriteLogEntriesRequest/commonLabels": common_labels
+"/logging:v1beta3/WriteLogEntriesRequest/commonLabels/common_label": common_label
+"/logging:v1beta3/WriteLogEntriesRequest/entries": entries
+"/logging:v1beta3/WriteLogEntriesRequest/entries/entry": entry
+"/logging:v1beta3/LogEntry": log_entry
+"/logging:v1beta3/LogEntry/metadata": metadata
+"/logging:v1beta3/LogEntry/protoPayload": proto_payload
+"/logging:v1beta3/LogEntry/protoPayload/proto_payload": proto_payload
+"/logging:v1beta3/LogEntry/textPayload": text_payload
+"/logging:v1beta3/LogEntry/structPayload": struct_payload
+"/logging:v1beta3/LogEntry/structPayload/struct_payload": struct_payload
+"/logging:v1beta3/LogEntry/insertId": insert_id
+"/logging:v1beta3/LogEntry/log": log
+"/logging:v1beta3/LogEntryMetadata": log_entry_metadata
+"/logging:v1beta3/LogEntryMetadata/timestamp": timestamp
+"/logging:v1beta3/LogEntryMetadata/severity": severity
+"/logging:v1beta3/LogEntryMetadata/projectId": project_id
+"/logging:v1beta3/LogEntryMetadata/serviceName": service_name
+"/logging:v1beta3/LogEntryMetadata/region": region
+"/logging:v1beta3/LogEntryMetadata/zone": zone
+"/logging:v1beta3/LogEntryMetadata/userId": user_id
+"/logging:v1beta3/LogEntryMetadata/labels": labels
+"/logging:v1beta3/LogEntryMetadata/labels/label": label
+"/logging:v1beta3/WriteLogEntriesResponse": write_log_entries_response
+"/logging:v1beta3/ListLogServicesResponse": list_log_services_response
+"/logging:v1beta3/ListLogServicesResponse/logServices": log_services
+"/logging:v1beta3/ListLogServicesResponse/logServices/log_service": log_service
+"/logging:v1beta3/ListLogServicesResponse/nextPageToken": next_page_token
+"/logging:v1beta3/LogService": log_service
+"/logging:v1beta3/LogService/name": name
+"/logging:v1beta3/LogService/indexKeys": index_keys
+"/logging:v1beta3/LogService/indexKeys/index_key": index_key
+"/logging:v1beta3/ListLogServiceIndexesResponse": list_log_service_indexes_response
+"/logging:v1beta3/ListLogServiceIndexesResponse/serviceIndexPrefixes": service_index_prefixes
+"/logging:v1beta3/ListLogServiceIndexesResponse/serviceIndexPrefixes/service_index_prefix": service_index_prefix
+"/logging:v1beta3/ListLogServiceIndexesResponse/nextPageToken": next_page_token
+"/logging:v1beta3/ListLogSinksResponse": list_log_sinks_response
+"/logging:v1beta3/ListLogSinksResponse/sinks": sinks
+"/logging:v1beta3/ListLogSinksResponse/sinks/sink": sink
+"/logging:v1beta3/LogSink": log_sink
+"/logging:v1beta3/LogSink/name": name
+"/logging:v1beta3/LogSink/destination": destination
+"/logging:v1beta3/LogSink/errors": errors
+"/logging:v1beta3/LogSink/errors/error": error
+"/logging:v1beta3/LogError": log_error
+"/logging:v1beta3/LogError/resource": resource
+"/logging:v1beta3/LogError/status": status
+"/logging:v1beta3/LogError/timeNanos": time_nanos
+"/logging:v1beta3/Status": status
+"/logging:v1beta3/Status/code": code
+"/logging:v1beta3/Status/message": message
+"/logging:v1beta3/Status/details": details
+"/logging:v1beta3/Status/details/detail": detail
+"/logging:v1beta3/Status/details/detail/detail": detail
+"/logging:v1beta3/ListLogServiceSinksResponse": list_log_service_sinks_response
+"/logging:v1beta3/ListLogServiceSinksResponse/sinks": sinks
+"/logging:v1beta3/ListLogServiceSinksResponse/sinks/sink": sink
+"/pubsub:v1beta2/fields": fields
+"/pubsub:v1beta2/key": key
+"/pubsub:v1beta2/quotaUser": quota_user
+"/pubsub:v1beta2/pubsub.projects.topics.setIamPolicy/resource": resource
+"/pubsub:v1beta2/pubsub.projects.topics.getIamPolicy": get_iam_policy_project_topic
+"/pubsub:v1beta2/pubsub.projects.topics.getIamPolicy/resource": resource
+"/pubsub:v1beta2/pubsub.projects.topics.testIamPermissions/resource": resource
+"/pubsub:v1beta2/pubsub.projects.topics.create/name": name
+"/pubsub:v1beta2/pubsub.projects.topics.publish": publish
+"/pubsub:v1beta2/pubsub.projects.topics.publish/topic": topic
+"/pubsub:v1beta2/pubsub.projects.topics.get/topic": topic
+"/pubsub:v1beta2/pubsub.projects.topics.list/project": project
+"/pubsub:v1beta2/pubsub.projects.topics.list/pageSize": page_size
+"/pubsub:v1beta2/pubsub.projects.topics.list/pageToken": page_token
+"/pubsub:v1beta2/pubsub.projects.topics.delete/topic": topic
+"/pubsub:v1beta2/pubsub.projects.topics.subscriptions.list/topic": topic
+"/pubsub:v1beta2/pubsub.projects.topics.subscriptions.list/pageSize": page_size
+"/pubsub:v1beta2/pubsub.projects.topics.subscriptions.list/pageToken": page_token
+"/pubsub:v1beta2/pubsub.projects.subscriptions.setIamPolicy/resource": resource
+"/pubsub:v1beta2/pubsub.projects.subscriptions.getIamPolicy": get_iam_policy_project_subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.getIamPolicy/resource": resource
+"/pubsub:v1beta2/pubsub.projects.subscriptions.testIamPermissions/resource": resource
+"/pubsub:v1beta2/pubsub.projects.subscriptions.create/name": name
+"/pubsub:v1beta2/pubsub.projects.subscriptions.get/subscription": subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.list/project": project
+"/pubsub:v1beta2/pubsub.projects.subscriptions.list/pageSize": page_size
+"/pubsub:v1beta2/pubsub.projects.subscriptions.list/pageToken": page_token
+"/pubsub:v1beta2/pubsub.projects.subscriptions.delete/subscription": subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.modifyAckDeadline": modify_ack_deadline
+"/pubsub:v1beta2/pubsub.projects.subscriptions.modifyAckDeadline/subscription": subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.acknowledge": acknowledge
+"/pubsub:v1beta2/pubsub.projects.subscriptions.acknowledge/subscription": subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.pull": pull
+"/pubsub:v1beta2/pubsub.projects.subscriptions.pull/subscription": subscription
+"/pubsub:v1beta2/pubsub.projects.subscriptions.modifyPushConfig": modify_push_config
+"/pubsub:v1beta2/pubsub.projects.subscriptions.modifyPushConfig/subscription": subscription
+"/pubsub:v1beta2/SetIamPolicyRequest": set_iam_policy_request
+"/pubsub:v1beta2/SetIamPolicyRequest/policy": policy
+"/pubsub:v1beta2/Policy": policy
+"/pubsub:v1beta2/Policy/version": version
+"/pubsub:v1beta2/Policy/bindings": bindings
+"/pubsub:v1beta2/Policy/bindings/binding": binding
+"/pubsub:v1beta2/Policy/rules": rules
+"/pubsub:v1beta2/Policy/rules/rule": rule
+"/pubsub:v1beta2/Policy/etag": etag
+"/pubsub:v1beta2/Binding": binding
+"/pubsub:v1beta2/Binding/role": role
+"/pubsub:v1beta2/Binding/members": members
+"/pubsub:v1beta2/Binding/members/member": member
+"/pubsub:v1beta2/Rule": rule
+"/pubsub:v1beta2/Rule/description": description
+"/pubsub:v1beta2/Rule/permissions": permissions
+"/pubsub:v1beta2/Rule/permissions/permission": permission
+"/pubsub:v1beta2/Rule/action": action
+"/pubsub:v1beta2/Rule/in": in
+"/pubsub:v1beta2/Rule/in/in": in
+"/pubsub:v1beta2/Rule/notIn": not_in
+"/pubsub:v1beta2/Rule/notIn/not_in": not_in
+"/pubsub:v1beta2/Rule/conditions": conditions
+"/pubsub:v1beta2/Rule/conditions/condition": condition
+"/pubsub:v1beta2/Rule/logConfig": log_config
+"/pubsub:v1beta2/Rule/logConfig/log_config": log_config
+"/pubsub:v1beta2/Condition": condition
+"/pubsub:v1beta2/Condition/iam": iam
+"/pubsub:v1beta2/Condition/sys": sys
+"/pubsub:v1beta2/Condition/svc": svc
+"/pubsub:v1beta2/Condition/op": op
+"/pubsub:v1beta2/Condition/value": value
+"/pubsub:v1beta2/Condition/values": values
+"/pubsub:v1beta2/Condition/values/value": value
+"/pubsub:v1beta2/LogConfig": log_config
+"/pubsub:v1beta2/LogConfig/counter": counter
+"/pubsub:v1beta2/LogConfig/dataAccess": data_access
+"/pubsub:v1beta2/LogConfig/cloudAudit": cloud_audit
+"/pubsub:v1beta2/CounterOptions": counter_options
+"/pubsub:v1beta2/CounterOptions/metric": metric
+"/pubsub:v1beta2/CounterOptions/field": field
+"/pubsub:v1beta2/DataAccessOptions": data_access_options
+"/pubsub:v1beta2/CloudAuditOptions": cloud_audit_options
+"/pubsub:v1beta2/TestIamPermissionsRequest": test_iam_permissions_request
+"/pubsub:v1beta2/TestIamPermissionsRequest/permissions": permissions
+"/pubsub:v1beta2/TestIamPermissionsRequest/permissions/permission": permission
+"/pubsub:v1beta2/TestIamPermissionsResponse": test_iam_permissions_response
+"/pubsub:v1beta2/TestIamPermissionsResponse/permissions": permissions
+"/pubsub:v1beta2/TestIamPermissionsResponse/permissions/permission": permission
+"/pubsub:v1beta2/Topic": topic
+"/pubsub:v1beta2/Topic/name": name
+"/pubsub:v1beta2/PublishRequest": publish_request
+"/pubsub:v1beta2/PublishRequest/messages": messages
+"/pubsub:v1beta2/PublishRequest/messages/message": message
+"/pubsub:v1beta2/PubsubMessage/data": data
+"/pubsub:v1beta2/PubsubMessage/attributes": attributes
+"/pubsub:v1beta2/PubsubMessage/attributes/attribute": attribute
+"/pubsub:v1beta2/PubsubMessage/messageId": message_id
+"/pubsub:v1beta2/PublishResponse": publish_response
+"/pubsub:v1beta2/PublishResponse/messageIds": message_ids
+"/pubsub:v1beta2/PublishResponse/messageIds/message_id": message_id
+"/pubsub:v1beta2/ListTopicsResponse": list_topics_response
+"/pubsub:v1beta2/ListTopicsResponse/topics": topics
+"/pubsub:v1beta2/ListTopicsResponse/topics/topic": topic
+"/pubsub:v1beta2/ListTopicsResponse/nextPageToken": next_page_token
+"/pubsub:v1beta2/ListTopicSubscriptionsResponse": list_topic_subscriptions_response
+"/pubsub:v1beta2/ListTopicSubscriptionsResponse/subscriptions": subscriptions
+"/pubsub:v1beta2/ListTopicSubscriptionsResponse/subscriptions/subscription": subscription
+"/pubsub:v1beta2/ListTopicSubscriptionsResponse/nextPageToken": next_page_token
+"/pubsub:v1beta2/Empty": empty
+"/pubsub:v1beta2/Subscription": subscription
+"/pubsub:v1beta2/Subscription/name": name
+"/pubsub:v1beta2/Subscription/topic": topic
+"/pubsub:v1beta2/Subscription/pushConfig": push_config
+"/pubsub:v1beta2/Subscription/ackDeadlineSeconds": ack_deadline_seconds
+"/pubsub:v1beta2/PushConfig": push_config
+"/pubsub:v1beta2/PushConfig/pushEndpoint": push_endpoint
+"/pubsub:v1beta2/PushConfig/attributes": attributes
+"/pubsub:v1beta2/PushConfig/attributes/attribute": attribute
+"/pubsub:v1beta2/ListSubscriptionsResponse": list_subscriptions_response
+"/pubsub:v1beta2/ListSubscriptionsResponse/subscriptions": subscriptions
+"/pubsub:v1beta2/ListSubscriptionsResponse/subscriptions/subscription": subscription
+"/pubsub:v1beta2/ListSubscriptionsResponse/nextPageToken": next_page_token
+"/pubsub:v1beta2/ModifyAckDeadlineRequest": modify_ack_deadline_request
+"/pubsub:v1beta2/ModifyAckDeadlineRequest/ackId": ack_id
+"/pubsub:v1beta2/ModifyAckDeadlineRequest/ackIds": ack_ids
+"/pubsub:v1beta2/ModifyAckDeadlineRequest/ackIds/ack_id": ack_id
+"/pubsub:v1beta2/ModifyAckDeadlineRequest/ackDeadlineSeconds": ack_deadline_seconds
+"/pubsub:v1beta2/AcknowledgeRequest": acknowledge_request
+"/pubsub:v1beta2/AcknowledgeRequest/ackIds": ack_ids
+"/pubsub:v1beta2/AcknowledgeRequest/ackIds/ack_id": ack_id
+"/pubsub:v1beta2/PullRequest": pull_request
+"/pubsub:v1beta2/PullRequest/returnImmediately": return_immediately
+"/pubsub:v1beta2/PullRequest/maxMessages": max_messages
+"/pubsub:v1beta2/PullResponse": pull_response
+"/pubsub:v1beta2/PullResponse/receivedMessages": received_messages
+"/pubsub:v1beta2/PullResponse/receivedMessages/received_message": received_message
+"/pubsub:v1beta2/ReceivedMessage": received_message
+"/pubsub:v1beta2/ReceivedMessage/ackId": ack_id
+"/pubsub:v1beta2/ReceivedMessage/message": message
+"/pubsub:v1beta2/ModifyPushConfigRequest": modify_push_config_request
+"/pubsub:v1beta2/ModifyPushConfigRequest/pushConfig": push_config
+"/identitytoolkit:v3/fields": fields
+"/identitytoolkit:v3/key": key
+"/identitytoolkit:v3/quotaUser": quota_user
+"/identitytoolkit:v3/userIp": user_ip
+"/identitytoolkit:v3/CreateAuthUriResponse": create_auth_uri_response
+"/identitytoolkit:v3/CreateAuthUriResponse/authUri": auth_uri
+"/identitytoolkit:v3/CreateAuthUriResponse/captchaRequired": captcha_required
+"/identitytoolkit:v3/CreateAuthUriResponse/forExistingProvider": for_existing_provider
+"/identitytoolkit:v3/CreateAuthUriResponse/kind": kind
+"/identitytoolkit:v3/CreateAuthUriResponse/providerId": provider_id
+"/identitytoolkit:v3/CreateAuthUriResponse/registered": registered
+"/identitytoolkit:v3/DeleteAccountResponse": delete_account_response
+"/identitytoolkit:v3/DeleteAccountResponse/kind": kind
+"/identitytoolkit:v3/DownloadAccountResponse": download_account_response
+"/identitytoolkit:v3/DownloadAccountResponse/kind": kind
+"/identitytoolkit:v3/DownloadAccountResponse/nextPageToken": next_page_token
+"/identitytoolkit:v3/DownloadAccountResponse/users": users
+"/identitytoolkit:v3/DownloadAccountResponse/users/user": user
+"/identitytoolkit:v3/GetAccountInfoResponse": get_account_info_response
+"/identitytoolkit:v3/GetAccountInfoResponse/kind": kind
+"/identitytoolkit:v3/GetAccountInfoResponse/users": users
+"/identitytoolkit:v3/GetAccountInfoResponse/users/user": user
+"/identitytoolkit:v3/GetOobConfirmationCodeResponse": get_oob_confirmation_code_response
+"/identitytoolkit:v3/GetOobConfirmationCodeResponse/kind": kind
+"/identitytoolkit:v3/GetOobConfirmationCodeResponse/oobCode": oob_code
+"/identitytoolkit:v3/GetRecaptchaParamResponse": get_recaptcha_param_response
+"/identitytoolkit:v3/GetRecaptchaParamResponse/kind": kind
+"/identitytoolkit:v3/GetRecaptchaParamResponse/recaptchaSiteKey": recaptcha_site_key
+"/identitytoolkit:v3/GetRecaptchaParamResponse/recaptchaStoken": recaptcha_stoken
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest/appId": app_id
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest/clientId": client_id
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest/context": context
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest/continueUri": continue_uri
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest/identifier": identifier
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest/oauthConsumerKey": oauth_consumer_key
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest/oauthScope": oauth_scope
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest/openidRealm": openid_realm
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest/otaApp": ota_app
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyCreateAuthUriRequest/providerId": provider_id
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyDeleteAccountRequest/localId": local_id
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyDownloadAccountRequest/maxResults": max_results
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyDownloadAccountRequest/nextPageToken": next_page_token
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetAccountInfoRequest/email": email
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetAccountInfoRequest/email/email": email
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetAccountInfoRequest/idToken": id_token
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetAccountInfoRequest/localId": local_id
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyGetAccountInfoRequest/localId/local_id": local_id
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyResetPasswordRequest/email": email
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyResetPasswordRequest/newPassword": new_password
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyResetPasswordRequest/oldPassword": old_password
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyResetPasswordRequest/oobCode": oob_code
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/captchaChallenge": captcha_challenge
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/captchaResponse": captcha_response
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/disableUser": disable_user
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/displayName": display_name
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/email": email
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/emailVerified": email_verified
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/idToken": id_token
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/localId": local_id
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/oobCode": oob_code
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/password": password
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/provider": provider
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/provider/provider": provider
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/upgradeToFederatedLogin": upgrade_to_federated_login
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartySetAccountInfoRequest/validSince": valid_since
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyUploadAccountRequest/hashAlgorithm": hash_algorithm
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyUploadAccountRequest/memoryCost": memory_cost
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyUploadAccountRequest/rounds": rounds
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyUploadAccountRequest/saltSeparator": salt_separator
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyUploadAccountRequest/signerKey": signer_key
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyUploadAccountRequest/users": users
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyUploadAccountRequest/users/user": user
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyAssertionRequest/pendingIdToken": pending_id_token
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyAssertionRequest/postBody": post_body
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyAssertionRequest/requestUri": request_uri
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyAssertionRequest/returnRefreshToken": return_refresh_token
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyPasswordRequest/captchaChallenge": captcha_challenge
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyPasswordRequest/captchaResponse": captcha_response
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyPasswordRequest/email": email
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyPasswordRequest/password": password
+"/identitytoolkit:v3/IdentitytoolkitRelyingpartyVerifyPasswordRequest/pendingIdToken": pending_id_token
+"/identitytoolkit:v3/Relyingparty": relyingparty
+"/identitytoolkit:v3/Relyingparty/captchaResp": captcha_resp
+"/identitytoolkit:v3/Relyingparty/challenge": challenge
+"/identitytoolkit:v3/Relyingparty/email": email
+"/identitytoolkit:v3/Relyingparty/idToken": id_token
+"/identitytoolkit:v3/Relyingparty/kind": kind
+"/identitytoolkit:v3/Relyingparty/newEmail": new_email
+"/identitytoolkit:v3/Relyingparty/requestType": request_type
+"/identitytoolkit:v3/Relyingparty/userIp": user_ip
+"/identitytoolkit:v3/ResetPasswordResponse": reset_password_response
+"/identitytoolkit:v3/ResetPasswordResponse/email": email
+"/identitytoolkit:v3/ResetPasswordResponse/kind": kind
+"/identitytoolkit:v3/SetAccountInfoResponse": set_account_info_response
+"/identitytoolkit:v3/SetAccountInfoResponse/displayName": display_name
+"/identitytoolkit:v3/SetAccountInfoResponse/email": email
+"/identitytoolkit:v3/SetAccountInfoResponse/idToken": id_token
+"/identitytoolkit:v3/SetAccountInfoResponse/kind": kind
+"/identitytoolkit:v3/SetAccountInfoResponse/providerUserInfo": provider_user_info
+"/identitytoolkit:v3/SetAccountInfoResponse/providerUserInfo/provider_user_info": provider_user_info
+"/identitytoolkit:v3/SetAccountInfoResponse/providerUserInfo/provider_user_info/displayName": display_name
+"/identitytoolkit:v3/SetAccountInfoResponse/providerUserInfo/provider_user_info/photoUrl": photo_url
+"/identitytoolkit:v3/SetAccountInfoResponse/providerUserInfo/provider_user_info/providerId": provider_id
+"/identitytoolkit:v3/UploadAccountResponse": upload_account_response
+"/identitytoolkit:v3/UploadAccountResponse/error": error
+"/identitytoolkit:v3/UploadAccountResponse/error/error": error
+"/identitytoolkit:v3/UploadAccountResponse/error/error/index": index
+"/identitytoolkit:v3/UploadAccountResponse/error/error/message": message
+"/identitytoolkit:v3/UploadAccountResponse/kind": kind
+"/identitytoolkit:v3/UserInfo": user_info
+"/identitytoolkit:v3/UserInfo/disabled": disabled
+"/identitytoolkit:v3/UserInfo/displayName": display_name
+"/identitytoolkit:v3/UserInfo/email": email
+"/identitytoolkit:v3/UserInfo/emailVerified": email_verified
+"/identitytoolkit:v3/UserInfo/localId": local_id
+"/identitytoolkit:v3/UserInfo/passwordHash": password_hash
+"/identitytoolkit:v3/UserInfo/passwordUpdatedAt": password_updated_at
+"/identitytoolkit:v3/UserInfo/photoUrl": photo_url
+"/identitytoolkit:v3/UserInfo/providerUserInfo": provider_user_info
+"/identitytoolkit:v3/UserInfo/providerUserInfo/provider_user_info": provider_user_info
+"/identitytoolkit:v3/UserInfo/providerUserInfo/provider_user_info/displayName": display_name
+"/identitytoolkit:v3/UserInfo/providerUserInfo/provider_user_info/federatedId": federated_id
+"/identitytoolkit:v3/UserInfo/providerUserInfo/provider_user_info/photoUrl": photo_url
+"/identitytoolkit:v3/UserInfo/providerUserInfo/provider_user_info/providerId": provider_id
+"/identitytoolkit:v3/UserInfo/salt": salt
+"/identitytoolkit:v3/UserInfo/validSince": valid_since
+"/identitytoolkit:v3/UserInfo/version": version
+"/identitytoolkit:v3/VerifyAssertionResponse": verify_assertion_response
+"/identitytoolkit:v3/VerifyAssertionResponse/action": action
+"/identitytoolkit:v3/VerifyAssertionResponse/appInstallationUrl": app_installation_url
+"/identitytoolkit:v3/VerifyAssertionResponse/appScheme": app_scheme
+"/identitytoolkit:v3/VerifyAssertionResponse/context": context
+"/identitytoolkit:v3/VerifyAssertionResponse/dateOfBirth": date_of_birth
+"/identitytoolkit:v3/VerifyAssertionResponse/displayName": display_name
+"/identitytoolkit:v3/VerifyAssertionResponse/email": email
+"/identitytoolkit:v3/VerifyAssertionResponse/emailRecycled": email_recycled
+"/identitytoolkit:v3/VerifyAssertionResponse/emailVerified": email_verified
+"/identitytoolkit:v3/VerifyAssertionResponse/federatedId": federated_id
+"/identitytoolkit:v3/VerifyAssertionResponse/firstName": first_name
+"/identitytoolkit:v3/VerifyAssertionResponse/fullName": full_name
+"/identitytoolkit:v3/VerifyAssertionResponse/idToken": id_token
+"/identitytoolkit:v3/VerifyAssertionResponse/inputEmail": input_email
+"/identitytoolkit:v3/VerifyAssertionResponse/kind": kind
+"/identitytoolkit:v3/VerifyAssertionResponse/language": language
+"/identitytoolkit:v3/VerifyAssertionResponse/lastName": last_name
+"/identitytoolkit:v3/VerifyAssertionResponse/localId": local_id
+"/identitytoolkit:v3/VerifyAssertionResponse/needConfirmation": need_confirmation
+"/identitytoolkit:v3/VerifyAssertionResponse/nickName": nick_name
+"/identitytoolkit:v3/VerifyAssertionResponse/oauthAccessToken": oauth_access_token
+"/identitytoolkit:v3/VerifyAssertionResponse/oauthAuthorizationCode": oauth_authorization_code
+"/identitytoolkit:v3/VerifyAssertionResponse/oauthExpireIn": oauth_expire_in
+"/identitytoolkit:v3/VerifyAssertionResponse/oauthRequestToken": oauth_request_token
+"/identitytoolkit:v3/VerifyAssertionResponse/oauthScope": oauth_scope
+"/identitytoolkit:v3/VerifyAssertionResponse/originalEmail": original_email
+"/identitytoolkit:v3/VerifyAssertionResponse/photoUrl": photo_url
+"/identitytoolkit:v3/VerifyAssertionResponse/providerId": provider_id
+"/identitytoolkit:v3/VerifyAssertionResponse/timeZone": time_zone
+"/identitytoolkit:v3/VerifyAssertionResponse/verifiedProvider": verified_provider
+"/identitytoolkit:v3/VerifyAssertionResponse/verifiedProvider/verified_provider": verified_provider
+"/identitytoolkit:v3/VerifyPasswordResponse": verify_password_response
+"/identitytoolkit:v3/VerifyPasswordResponse/displayName": display_name
+"/identitytoolkit:v3/VerifyPasswordResponse/email": email
+"/identitytoolkit:v3/VerifyPasswordResponse/idToken": id_token
+"/identitytoolkit:v3/VerifyPasswordResponse/kind": kind
+"/identitytoolkit:v3/VerifyPasswordResponse/localId": local_id
+"/identitytoolkit:v3/VerifyPasswordResponse/photoUrl": photo_url
+"/identitytoolkit:v3/VerifyPasswordResponse/registered": registered
+"/licensing:v1/fields": fields
+"/licensing:v1/key": key
+"/licensing:v1/quotaUser": quota_user
+"/licensing:v1/userIp": user_ip
+"/licensing:v1/licensing.licenseAssignments.delete": delete_license_assignment
+"/licensing:v1/licensing.licenseAssignments.delete/productId": product_id
+"/licensing:v1/licensing.licenseAssignments.delete/skuId": sku_id
+"/licensing:v1/licensing.licenseAssignments.delete/userId": user_id
+"/licensing:v1/licensing.licenseAssignments.get": get_license_assignment
+"/licensing:v1/licensing.licenseAssignments.get/productId": product_id
+"/licensing:v1/licensing.licenseAssignments.get/skuId": sku_id
+"/licensing:v1/licensing.licenseAssignments.get/userId": user_id
+"/licensing:v1/licensing.licenseAssignments.insert": insert_license_assignment
+"/licensing:v1/licensing.licenseAssignments.insert/productId": product_id
+"/licensing:v1/licensing.licenseAssignments.insert/skuId": sku_id
+"/licensing:v1/licensing.licenseAssignments.listForProduct/customerId": customer_id
+"/licensing:v1/licensing.licenseAssignments.listForProduct/maxResults": max_results
+"/licensing:v1/licensing.licenseAssignments.listForProduct/pageToken": page_token
+"/licensing:v1/licensing.licenseAssignments.listForProduct/productId": product_id
+"/licensing:v1/licensing.licenseAssignments.listForProductAndSku/customerId": customer_id
+"/licensing:v1/licensing.licenseAssignments.listForProductAndSku/maxResults": max_results
+"/licensing:v1/licensing.licenseAssignments.listForProductAndSku/pageToken": page_token
+"/licensing:v1/licensing.licenseAssignments.listForProductAndSku/productId": product_id
+"/licensing:v1/licensing.licenseAssignments.listForProductAndSku/skuId": sku_id
+"/licensing:v1/licensing.licenseAssignments.patch": patch_license_assignment
+"/licensing:v1/licensing.licenseAssignments.patch/productId": product_id
+"/licensing:v1/licensing.licenseAssignments.patch/skuId": sku_id
+"/licensing:v1/licensing.licenseAssignments.patch/userId": user_id
+"/licensing:v1/licensing.licenseAssignments.update": update_license_assignment
+"/licensing:v1/licensing.licenseAssignments.update/productId": product_id
+"/licensing:v1/licensing.licenseAssignments.update/skuId": sku_id
+"/licensing:v1/licensing.licenseAssignments.update/userId": user_id
+"/licensing:v1/LicenseAssignment": license_assignment
+"/licensing:v1/LicenseAssignment/etags": etags
+"/licensing:v1/LicenseAssignment/kind": kind
+"/licensing:v1/LicenseAssignment/productId": product_id
+"/licensing:v1/LicenseAssignment/selfLink": self_link
+"/licensing:v1/LicenseAssignment/skuId": sku_id
+"/licensing:v1/LicenseAssignment/userId": user_id
+"/licensing:v1/LicenseAssignmentInsert": license_assignment_insert
+"/licensing:v1/LicenseAssignmentInsert/userId": user_id
+"/licensing:v1/LicenseAssignmentList": license_assignment_list
+"/licensing:v1/LicenseAssignmentList/etag": etag
+"/licensing:v1/LicenseAssignmentList/items": items
+"/licensing:v1/LicenseAssignmentList/items/item": item
+"/licensing:v1/LicenseAssignmentList/kind": kind
+"/licensing:v1/LicenseAssignmentList/nextPageToken": next_page_token
+"/manager:v1beta2/fields": fields
+"/manager:v1beta2/key": key
+"/manager:v1beta2/quotaUser": quota_user
+"/manager:v1beta2/userIp": user_ip
+"/manager:v1beta2/manager.deployments.delete": delete_deployment
+"/manager:v1beta2/manager.deployments.delete/deploymentName": deployment_name
+"/manager:v1beta2/manager.deployments.delete/projectId": project_id
+"/manager:v1beta2/manager.deployments.delete/region": region
+"/manager:v1beta2/manager.deployments.get": get_deployment
+"/manager:v1beta2/manager.deployments.get/deploymentName": deployment_name
+"/manager:v1beta2/manager.deployments.get/projectId": project_id
+"/manager:v1beta2/manager.deployments.get/region": region
+"/manager:v1beta2/manager.deployments.insert": insert_deployment
+"/manager:v1beta2/manager.deployments.insert/projectId": project_id
+"/manager:v1beta2/manager.deployments.insert/region": region
+"/manager:v1beta2/manager.deployments.list": list_deployments
+"/manager:v1beta2/manager.deployments.list/maxResults": max_results
+"/manager:v1beta2/manager.deployments.list/pageToken": page_token
+"/manager:v1beta2/manager.deployments.list/projectId": project_id
+"/manager:v1beta2/manager.deployments.list/region": region
+"/manager:v1beta2/manager.templates.delete": delete_template
+"/manager:v1beta2/manager.templates.delete/projectId": project_id
+"/manager:v1beta2/manager.templates.delete/templateName": template_name
+"/manager:v1beta2/manager.templates.get": get_template
+"/manager:v1beta2/manager.templates.get/projectId": project_id
+"/manager:v1beta2/manager.templates.get/templateName": template_name
+"/manager:v1beta2/manager.templates.insert": insert_template
+"/manager:v1beta2/manager.templates.insert/projectId": project_id
+"/manager:v1beta2/manager.templates.list": list_templates
+"/manager:v1beta2/manager.templates.list/maxResults": max_results
+"/manager:v1beta2/manager.templates.list/pageToken": page_token
+"/manager:v1beta2/manager.templates.list/projectId": project_id
+"/manager:v1beta2/AccessConfig": access_config
+"/manager:v1beta2/AccessConfig/name": name
+"/manager:v1beta2/AccessConfig/natIp": nat_ip
+"/manager:v1beta2/AccessConfig/type": type
+"/manager:v1beta2/Action": action
+"/manager:v1beta2/Action/commands": commands
+"/manager:v1beta2/Action/commands/command": command
+"/manager:v1beta2/Action/timeoutMs": timeout_ms
+"/manager:v1beta2/AllowedRule": allowed_rule
+"/manager:v1beta2/AllowedRule/IPProtocol": ip_protocol
+"/manager:v1beta2/AllowedRule/ports": ports
+"/manager:v1beta2/AllowedRule/ports/port": port
+"/manager:v1beta2/AutoscalingModule": autoscaling_module
+"/manager:v1beta2/AutoscalingModule/coolDownPeriodSec": cool_down_period_sec
+"/manager:v1beta2/AutoscalingModule/description": description
+"/manager:v1beta2/AutoscalingModule/maxNumReplicas": max_num_replicas
+"/manager:v1beta2/AutoscalingModule/minNumReplicas": min_num_replicas
+"/manager:v1beta2/AutoscalingModule/signalType": signal_type
+"/manager:v1beta2/AutoscalingModule/targetModule": target_module
+"/manager:v1beta2/AutoscalingModule/targetUtilization": target_utilization
+"/manager:v1beta2/AutoscalingModuleStatus": autoscaling_module_status
+"/manager:v1beta2/AutoscalingModuleStatus/autoscalingConfigUrl": autoscaling_config_url
+"/manager:v1beta2/DeployState": deploy_state
+"/manager:v1beta2/DeployState/details": details
+"/manager:v1beta2/DeployState/status": status
+"/manager:v1beta2/Deployment": deployment
+"/manager:v1beta2/Deployment/creationDate": creation_date
+"/manager:v1beta2/Deployment/description": description
+"/manager:v1beta2/Deployment/modules": modules
+"/manager:v1beta2/Deployment/modules/module": module
+"/manager:v1beta2/Deployment/name": name
+"/manager:v1beta2/Deployment/overrides": overrides
+"/manager:v1beta2/Deployment/overrides/override": override
+"/manager:v1beta2/Deployment/state": state
+"/manager:v1beta2/Deployment/templateName": template_name
+"/manager:v1beta2/DeploymentsListResponse/nextPageToken": next_page_token
+"/manager:v1beta2/DeploymentsListResponse/resources": resources
+"/manager:v1beta2/DeploymentsListResponse/resources/resource": resource
+"/manager:v1beta2/DiskAttachment": disk_attachment
+"/manager:v1beta2/DiskAttachment/deviceName": device_name
+"/manager:v1beta2/DiskAttachment/index": index
+"/manager:v1beta2/EnvVariable": env_variable
+"/manager:v1beta2/EnvVariable/hidden": hidden
+"/manager:v1beta2/EnvVariable/value": value
+"/manager:v1beta2/ExistingDisk": existing_disk
+"/manager:v1beta2/ExistingDisk/attachment": attachment
+"/manager:v1beta2/ExistingDisk/source": source
+"/manager:v1beta2/FirewallModule": firewall_module
+"/manager:v1beta2/FirewallModule/allowed": allowed
+"/manager:v1beta2/FirewallModule/allowed/allowed": allowed
+"/manager:v1beta2/FirewallModule/description": description
+"/manager:v1beta2/FirewallModule/network": network
+"/manager:v1beta2/FirewallModule/sourceRanges": source_ranges
+"/manager:v1beta2/FirewallModule/sourceRanges/source_range": source_range
+"/manager:v1beta2/FirewallModule/sourceTags": source_tags
+"/manager:v1beta2/FirewallModule/sourceTags/source_tag": source_tag
+"/manager:v1beta2/FirewallModule/targetTags": target_tags
+"/manager:v1beta2/FirewallModule/targetTags/target_tag": target_tag
+"/manager:v1beta2/FirewallModuleStatus": firewall_module_status
+"/manager:v1beta2/FirewallModuleStatus/firewallUrl": firewall_url
+"/manager:v1beta2/HealthCheckModule": health_check_module
+"/manager:v1beta2/HealthCheckModule/checkIntervalSec": check_interval_sec
+"/manager:v1beta2/HealthCheckModule/description": description
+"/manager:v1beta2/HealthCheckModule/healthyThreshold": healthy_threshold
+"/manager:v1beta2/HealthCheckModule/host": host
+"/manager:v1beta2/HealthCheckModule/path": path
+"/manager:v1beta2/HealthCheckModule/port": port
+"/manager:v1beta2/HealthCheckModule/timeoutSec": timeout_sec
+"/manager:v1beta2/HealthCheckModule/unhealthyThreshold": unhealthy_threshold
+"/manager:v1beta2/HealthCheckModuleStatus": health_check_module_status
+"/manager:v1beta2/HealthCheckModuleStatus/healthCheckUrl": health_check_url
+"/manager:v1beta2/LbModule": lb_module
+"/manager:v1beta2/LbModule/description": description
+"/manager:v1beta2/LbModule/healthChecks": health_checks
+"/manager:v1beta2/LbModule/healthChecks/health_check": health_check
+"/manager:v1beta2/LbModule/ipAddress": ip_address
+"/manager:v1beta2/LbModule/ipProtocol": ip_protocol
+"/manager:v1beta2/LbModule/portRange": port_range
+"/manager:v1beta2/LbModule/sessionAffinity": session_affinity
+"/manager:v1beta2/LbModule/targetModules": target_modules
+"/manager:v1beta2/LbModule/targetModules/target_module": target_module
+"/manager:v1beta2/LbModuleStatus": lb_module_status
+"/manager:v1beta2/LbModuleStatus/forwardingRuleUrl": forwarding_rule_url
+"/manager:v1beta2/LbModuleStatus/targetPoolUrl": target_pool_url
+"/manager:v1beta2/Metadata": metadata
+"/manager:v1beta2/Metadata/fingerPrint": finger_print
+"/manager:v1beta2/Metadata/items": items
+"/manager:v1beta2/Metadata/items/item": item
+"/manager:v1beta2/MetadataItem": metadata_item
+"/manager:v1beta2/MetadataItem/key": key
+"/manager:v1beta2/MetadataItem/value": value
+"/manager:v1beta2/Module": module
+"/manager:v1beta2/Module/autoscalingModule": autoscaling_module
+"/manager:v1beta2/Module/firewallModule": firewall_module
+"/manager:v1beta2/Module/healthCheckModule": health_check_module
+"/manager:v1beta2/Module/lbModule": lb_module
+"/manager:v1beta2/Module/networkModule": network_module
+"/manager:v1beta2/Module/replicaPoolModule": replica_pool_module
+"/manager:v1beta2/Module/type": type
+"/manager:v1beta2/ModuleStatus": module_status
+"/manager:v1beta2/ModuleStatus/autoscalingModuleStatus": autoscaling_module_status
+"/manager:v1beta2/ModuleStatus/firewallModuleStatus": firewall_module_status
+"/manager:v1beta2/ModuleStatus/healthCheckModuleStatus": health_check_module_status
+"/manager:v1beta2/ModuleStatus/lbModuleStatus": lb_module_status
+"/manager:v1beta2/ModuleStatus/networkModuleStatus": network_module_status
+"/manager:v1beta2/ModuleStatus/replicaPoolModuleStatus": replica_pool_module_status
+"/manager:v1beta2/ModuleStatus/state": state
+"/manager:v1beta2/ModuleStatus/type": type
+"/manager:v1beta2/NetworkInterface": network_interface
+"/manager:v1beta2/NetworkInterface/accessConfigs": access_configs
+"/manager:v1beta2/NetworkInterface/accessConfigs/access_config": access_config
+"/manager:v1beta2/NetworkInterface/name": name
+"/manager:v1beta2/NetworkInterface/network": network
+"/manager:v1beta2/NetworkInterface/networkIp": network_ip
+"/manager:v1beta2/NetworkModule": network_module
+"/manager:v1beta2/NetworkModule/IPv4Range": i_pv4_range
+"/manager:v1beta2/NetworkModule/description": description
+"/manager:v1beta2/NetworkModule/gatewayIPv4": gateway_i_pv4
+"/manager:v1beta2/NetworkModuleStatus": network_module_status
+"/manager:v1beta2/NetworkModuleStatus/networkUrl": network_url
+"/manager:v1beta2/NewDisk": new_disk
+"/manager:v1beta2/NewDisk/attachment": attachment
+"/manager:v1beta2/NewDisk/autoDelete": auto_delete
+"/manager:v1beta2/NewDisk/boot": boot
+"/manager:v1beta2/NewDisk/initializeParams": initialize_params
+"/manager:v1beta2/NewDiskInitializeParams": new_disk_initialize_params
+"/manager:v1beta2/NewDiskInitializeParams/diskSizeGb": disk_size_gb
+"/manager:v1beta2/NewDiskInitializeParams/diskType": disk_type
+"/manager:v1beta2/NewDiskInitializeParams/sourceImage": source_image
+"/manager:v1beta2/ParamOverride": param_override
+"/manager:v1beta2/ParamOverride/path": path
+"/manager:v1beta2/ParamOverride/value": value
+"/manager:v1beta2/ReplicaPoolModule": replica_pool_module
+"/manager:v1beta2/ReplicaPoolModule/envVariables": env_variables
+"/manager:v1beta2/ReplicaPoolModule/envVariables/env_variable": env_variable
+"/manager:v1beta2/ReplicaPoolModule/healthChecks": health_checks
+"/manager:v1beta2/ReplicaPoolModule/healthChecks/health_check": health_check
+"/manager:v1beta2/ReplicaPoolModule/numReplicas": num_replicas
+"/manager:v1beta2/ReplicaPoolModule/replicaPoolParams": replica_pool_params
+"/manager:v1beta2/ReplicaPoolModule/resourceView": resource_view
+"/manager:v1beta2/ReplicaPoolModuleStatus": replica_pool_module_status
+"/manager:v1beta2/ReplicaPoolModuleStatus/replicaPoolUrl": replica_pool_url
+"/manager:v1beta2/ReplicaPoolModuleStatus/resourceViewUrl": resource_view_url
+"/manager:v1beta2/ReplicaPoolParams": replica_pool_params
+"/manager:v1beta2/ReplicaPoolParams/v1beta1": v1beta1
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1": replica_pool_params_v1_beta1
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/autoRestart": auto_restart
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/baseInstanceName": base_instance_name
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/canIpForward": can_ip_forward
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/description": description
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/disksToAttach": disks_to_attach
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/disksToAttach/disks_to_attach": disks_to_attach
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/disksToCreate": disks_to_create
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/disksToCreate/disks_to_create": disks_to_create
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/initAction": init_action
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/machineType": machine_type
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/metadata": metadata
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/networkInterfaces": network_interfaces
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/networkInterfaces/network_interface": network_interface
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/onHostMaintenance": on_host_maintenance
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/serviceAccounts": service_accounts
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/serviceAccounts/service_account": service_account
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/tags": tags
+"/manager:v1beta2/ReplicaPoolParamsV1Beta1/zone": zone
+"/manager:v1beta2/ServiceAccount": service_account
+"/manager:v1beta2/ServiceAccount/email": email
+"/manager:v1beta2/ServiceAccount/scopes": scopes
+"/manager:v1beta2/ServiceAccount/scopes/scope": scope
+"/manager:v1beta2/Tag": tag
+"/manager:v1beta2/Tag/fingerPrint": finger_print
+"/manager:v1beta2/Tag/items": items
+"/manager:v1beta2/Tag/items/item": item
+"/manager:v1beta2/Template": template
+"/manager:v1beta2/Template/actions": actions
+"/manager:v1beta2/Template/actions/action": action
+"/manager:v1beta2/Template/description": description
+"/manager:v1beta2/Template/modules": modules
+"/manager:v1beta2/Template/modules/module": module
+"/manager:v1beta2/Template/name": name
+"/manager:v1beta2/TemplatesListResponse/nextPageToken": next_page_token
+"/manager:v1beta2/TemplatesListResponse/resources": resources
+"/manager:v1beta2/TemplatesListResponse/resources/resource": resource
+"/mapsengine:v1/fields": fields
+"/mapsengine:v1/key": key
+"/mapsengine:v1/quotaUser": quota_user
+"/mapsengine:v1/userIp": user_ip
+"/mapsengine:v1/mapsengine.assets.get": get_asset
+"/mapsengine:v1/mapsengine.assets.get/id": id
+"/mapsengine:v1/mapsengine.assets.list": list_assets
+"/mapsengine:v1/mapsengine.assets.list/bbox": bbox
+"/mapsengine:v1/mapsengine.assets.list/createdAfter": created_after
+"/mapsengine:v1/mapsengine.assets.list/createdBefore": created_before
+"/mapsengine:v1/mapsengine.assets.list/creatorEmail": creator_email
+"/mapsengine:v1/mapsengine.assets.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.assets.list/modifiedAfter": modified_after
+"/mapsengine:v1/mapsengine.assets.list/modifiedBefore": modified_before
+"/mapsengine:v1/mapsengine.assets.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.assets.list/projectId": project_id
+"/mapsengine:v1/mapsengine.assets.list/role": role
+"/mapsengine:v1/mapsengine.assets.list/search": search
+"/mapsengine:v1/mapsengine.assets.list/tags": tags
+"/mapsengine:v1/mapsengine.assets.list/type": type
+"/mapsengine:v1/mapsengine.assets.parents.list": list_asset_parents
+"/mapsengine:v1/mapsengine.assets.parents.list/id": id
+"/mapsengine:v1/mapsengine.assets.parents.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.assets.parents.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.assets.permissions.list": list_asset_permissions
+"/mapsengine:v1/mapsengine.assets.permissions.list/id": id
+"/mapsengine:v1/mapsengine.layers.cancelProcessing": cancel_processing_layer
+"/mapsengine:v1/mapsengine.layers.cancelProcessing/id": id
+"/mapsengine:v1/mapsengine.layers.create": create_layer
+"/mapsengine:v1/mapsengine.layers.create/process": process
+"/mapsengine:v1/mapsengine.layers.delete": delete_layer
+"/mapsengine:v1/mapsengine.layers.delete/id": id
+"/mapsengine:v1/mapsengine.layers.get": get_layer
+"/mapsengine:v1/mapsengine.layers.get/id": id
+"/mapsengine:v1/mapsengine.layers.get/version": version
+"/mapsengine:v1/mapsengine.layers.getPublished": get_published_layer
+"/mapsengine:v1/mapsengine.layers.getPublished/id": id
+"/mapsengine:v1/mapsengine.layers.list": list_layers
+"/mapsengine:v1/mapsengine.layers.list/bbox": bbox
+"/mapsengine:v1/mapsengine.layers.list/createdAfter": created_after
+"/mapsengine:v1/mapsengine.layers.list/createdBefore": created_before
+"/mapsengine:v1/mapsengine.layers.list/creatorEmail": creator_email
+"/mapsengine:v1/mapsengine.layers.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.layers.list/modifiedAfter": modified_after
+"/mapsengine:v1/mapsengine.layers.list/modifiedBefore": modified_before
+"/mapsengine:v1/mapsengine.layers.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.layers.list/processingStatus": processing_status
+"/mapsengine:v1/mapsengine.layers.list/projectId": project_id
+"/mapsengine:v1/mapsengine.layers.list/role": role
+"/mapsengine:v1/mapsengine.layers.list/search": search
+"/mapsengine:v1/mapsengine.layers.list/tags": tags
+"/mapsengine:v1/mapsengine.layers.listPublished": list_published_layer
+"/mapsengine:v1/mapsengine.layers.listPublished/maxResults": max_results
+"/mapsengine:v1/mapsengine.layers.listPublished/pageToken": page_token
+"/mapsengine:v1/mapsengine.layers.listPublished/projectId": project_id
+"/mapsengine:v1/mapsengine.layers.patch": patch_layer
+"/mapsengine:v1/mapsengine.layers.patch/id": id
+"/mapsengine:v1/mapsengine.layers.process": process_layer
+"/mapsengine:v1/mapsengine.layers.process/id": id
+"/mapsengine:v1/mapsengine.layers.publish": publish_layer
+"/mapsengine:v1/mapsengine.layers.publish/force": force
+"/mapsengine:v1/mapsengine.layers.publish/id": id
+"/mapsengine:v1/mapsengine.layers.unpublish": unpublish_layer
+"/mapsengine:v1/mapsengine.layers.unpublish/id": id
+"/mapsengine:v1/mapsengine.layers.parents.list": list_layer_parents
+"/mapsengine:v1/mapsengine.layers.parents.list/id": id
+"/mapsengine:v1/mapsengine.layers.parents.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.layers.parents.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.layers.permissions.batchDelete": batch_delete_layer_permission
+"/mapsengine:v1/mapsengine.layers.permissions.batchDelete/id": id
+"/mapsengine:v1/mapsengine.layers.permissions.batchUpdate": batch_update_layer_permission
+"/mapsengine:v1/mapsengine.layers.permissions.batchUpdate/id": id
+"/mapsengine:v1/mapsengine.layers.permissions.list": list_layer_permissions
+"/mapsengine:v1/mapsengine.layers.permissions.list/id": id
+"/mapsengine:v1/mapsengine.maps.create": create_map
+"/mapsengine:v1/mapsengine.maps.delete": delete_map
+"/mapsengine:v1/mapsengine.maps.delete/id": id
+"/mapsengine:v1/mapsengine.maps.get": get_map
+"/mapsengine:v1/mapsengine.maps.get/id": id
+"/mapsengine:v1/mapsengine.maps.get/version": version
+"/mapsengine:v1/mapsengine.maps.getPublished": get_published_map
+"/mapsengine:v1/mapsengine.maps.getPublished/id": id
+"/mapsengine:v1/mapsengine.maps.list": list_maps
+"/mapsengine:v1/mapsengine.maps.list/bbox": bbox
+"/mapsengine:v1/mapsengine.maps.list/createdAfter": created_after
+"/mapsengine:v1/mapsengine.maps.list/createdBefore": created_before
+"/mapsengine:v1/mapsengine.maps.list/creatorEmail": creator_email
+"/mapsengine:v1/mapsengine.maps.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.maps.list/modifiedAfter": modified_after
+"/mapsengine:v1/mapsengine.maps.list/modifiedBefore": modified_before
+"/mapsengine:v1/mapsengine.maps.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.maps.list/processingStatus": processing_status
+"/mapsengine:v1/mapsengine.maps.list/projectId": project_id
+"/mapsengine:v1/mapsengine.maps.list/role": role
+"/mapsengine:v1/mapsengine.maps.list/search": search
+"/mapsengine:v1/mapsengine.maps.list/tags": tags
+"/mapsengine:v1/mapsengine.maps.listPublished": list_published_map
+"/mapsengine:v1/mapsengine.maps.listPublished/maxResults": max_results
+"/mapsengine:v1/mapsengine.maps.listPublished/pageToken": page_token
+"/mapsengine:v1/mapsengine.maps.listPublished/projectId": project_id
+"/mapsengine:v1/mapsengine.maps.patch": patch_map
+"/mapsengine:v1/mapsengine.maps.patch/id": id
+"/mapsengine:v1/mapsengine.maps.publish": publish_map
+"/mapsengine:v1/mapsengine.maps.publish/force": force
+"/mapsengine:v1/mapsengine.maps.publish/id": id
+"/mapsengine:v1/mapsengine.maps.unpublish": unpublish_map
+"/mapsengine:v1/mapsengine.maps.unpublish/id": id
+"/mapsengine:v1/mapsengine.maps.permissions.batchDelete": batch_delete_map_permission
+"/mapsengine:v1/mapsengine.maps.permissions.batchDelete/id": id
+"/mapsengine:v1/mapsengine.maps.permissions.batchUpdate": batch_update_map_permission
+"/mapsengine:v1/mapsengine.maps.permissions.batchUpdate/id": id
+"/mapsengine:v1/mapsengine.maps.permissions.list": list_map_permissions
+"/mapsengine:v1/mapsengine.maps.permissions.list/id": id
+"/mapsengine:v1/mapsengine.projects.list": list_projects
+"/mapsengine:v1/mapsengine.projects.icons.create": create_project_icon
+"/mapsengine:v1/mapsengine.projects.icons.create/projectId": project_id
+"/mapsengine:v1/mapsengine.projects.icons.get": get_project_icon
+"/mapsengine:v1/mapsengine.projects.icons.get/id": id
+"/mapsengine:v1/mapsengine.projects.icons.get/projectId": project_id
+"/mapsengine:v1/mapsengine.projects.icons.list": list_project_icons
+"/mapsengine:v1/mapsengine.projects.icons.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.projects.icons.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.projects.icons.list/projectId": project_id
+"/mapsengine:v1/mapsengine.rasterCollections.cancelProcessing": cancel_processing_raster_collection
+"/mapsengine:v1/mapsengine.rasterCollections.cancelProcessing/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.create": create_raster_collection
+"/mapsengine:v1/mapsengine.rasterCollections.delete": delete_raster_collection
+"/mapsengine:v1/mapsengine.rasterCollections.delete/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.get": get_raster_collection
+"/mapsengine:v1/mapsengine.rasterCollections.get/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.list": list_raster_collections
+"/mapsengine:v1/mapsengine.rasterCollections.list/bbox": bbox
+"/mapsengine:v1/mapsengine.rasterCollections.list/createdAfter": created_after
+"/mapsengine:v1/mapsengine.rasterCollections.list/createdBefore": created_before
+"/mapsengine:v1/mapsengine.rasterCollections.list/creatorEmail": creator_email
+"/mapsengine:v1/mapsengine.rasterCollections.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.rasterCollections.list/modifiedAfter": modified_after
+"/mapsengine:v1/mapsengine.rasterCollections.list/modifiedBefore": modified_before
+"/mapsengine:v1/mapsengine.rasterCollections.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.rasterCollections.list/processingStatus": processing_status
+"/mapsengine:v1/mapsengine.rasterCollections.list/projectId": project_id
+"/mapsengine:v1/mapsengine.rasterCollections.list/role": role
+"/mapsengine:v1/mapsengine.rasterCollections.list/search": search
+"/mapsengine:v1/mapsengine.rasterCollections.list/tags": tags
+"/mapsengine:v1/mapsengine.rasterCollections.patch": patch_raster_collection
+"/mapsengine:v1/mapsengine.rasterCollections.patch/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.process": process_raster_collection
+"/mapsengine:v1/mapsengine.rasterCollections.process/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.parents.list": list_raster_collection_parents
+"/mapsengine:v1/mapsengine.rasterCollections.parents.list/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.parents.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.rasterCollections.parents.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.rasterCollections.permissions.batchDelete": batch_delete_raster_collection_permission
+"/mapsengine:v1/mapsengine.rasterCollections.permissions.batchDelete/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.permissions.batchUpdate": batch_update_raster_collection_permission
+"/mapsengine:v1/mapsengine.rasterCollections.permissions.batchUpdate/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.permissions.list": list_raster_collection_permissions
+"/mapsengine:v1/mapsengine.rasterCollections.permissions.list/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.batchDelete": batch_delete_raster_collection_raster
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.batchDelete/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.batchInsert": batch_insert_raster_collection_raster
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.batchInsert/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list": list_raster_collection_rasters
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/bbox": bbox
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/createdAfter": created_after
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/createdBefore": created_before
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/creatorEmail": creator_email
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/id": id
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/modifiedAfter": modified_after
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/modifiedBefore": modified_before
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/role": role
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/search": search
+"/mapsengine:v1/mapsengine.rasterCollections.rasters.list/tags": tags
+"/mapsengine:v1/mapsengine.rasters.delete": delete_raster
+"/mapsengine:v1/mapsengine.rasters.delete/id": id
+"/mapsengine:v1/mapsengine.rasters.get": get_raster
+"/mapsengine:v1/mapsengine.rasters.get/id": id
+"/mapsengine:v1/mapsengine.rasters.list": list_rasters
+"/mapsengine:v1/mapsengine.rasters.list/bbox": bbox
+"/mapsengine:v1/mapsengine.rasters.list/createdAfter": created_after
+"/mapsengine:v1/mapsengine.rasters.list/createdBefore": created_before
+"/mapsengine:v1/mapsengine.rasters.list/creatorEmail": creator_email
+"/mapsengine:v1/mapsengine.rasters.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.rasters.list/modifiedAfter": modified_after
+"/mapsengine:v1/mapsengine.rasters.list/modifiedBefore": modified_before
+"/mapsengine:v1/mapsengine.rasters.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.rasters.list/processingStatus": processing_status
+"/mapsengine:v1/mapsengine.rasters.list/projectId": project_id
+"/mapsengine:v1/mapsengine.rasters.list/role": role
+"/mapsengine:v1/mapsengine.rasters.list/search": search
+"/mapsengine:v1/mapsengine.rasters.list/tags": tags
+"/mapsengine:v1/mapsengine.rasters.patch": patch_raster
+"/mapsengine:v1/mapsengine.rasters.patch/id": id
+"/mapsengine:v1/mapsengine.rasters.process": process_raster
+"/mapsengine:v1/mapsengine.rasters.process/id": id
+"/mapsengine:v1/mapsengine.rasters.upload": upload_raster
+"/mapsengine:v1/mapsengine.rasters.files.insert": insert_raster_file
+"/mapsengine:v1/mapsengine.rasters.files.insert/filename": filename
+"/mapsengine:v1/mapsengine.rasters.files.insert/id": id
+"/mapsengine:v1/mapsengine.rasters.parents.list": list_raster_parents
+"/mapsengine:v1/mapsengine.rasters.parents.list/id": id
+"/mapsengine:v1/mapsengine.rasters.parents.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.rasters.parents.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.rasters.permissions.batchDelete": batch_delete_raster_permission
+"/mapsengine:v1/mapsengine.rasters.permissions.batchDelete/id": id
+"/mapsengine:v1/mapsengine.rasters.permissions.batchUpdate": batch_update_raster_permission
+"/mapsengine:v1/mapsengine.rasters.permissions.batchUpdate/id": id
+"/mapsengine:v1/mapsengine.rasters.permissions.list": list_raster_permissions
+"/mapsengine:v1/mapsengine.rasters.permissions.list/id": id
+"/mapsengine:v1/mapsengine.tables.create": create_table
+"/mapsengine:v1/mapsengine.tables.delete": delete_table
+"/mapsengine:v1/mapsengine.tables.delete/id": id
+"/mapsengine:v1/mapsengine.tables.get": get_table
+"/mapsengine:v1/mapsengine.tables.get/id": id
+"/mapsengine:v1/mapsengine.tables.get/version": version
+"/mapsengine:v1/mapsengine.tables.list": list_tables
+"/mapsengine:v1/mapsengine.tables.list/bbox": bbox
+"/mapsengine:v1/mapsengine.tables.list/createdAfter": created_after
+"/mapsengine:v1/mapsengine.tables.list/createdBefore": created_before
+"/mapsengine:v1/mapsengine.tables.list/creatorEmail": creator_email
+"/mapsengine:v1/mapsengine.tables.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.tables.list/modifiedAfter": modified_after
+"/mapsengine:v1/mapsengine.tables.list/modifiedBefore": modified_before
+"/mapsengine:v1/mapsengine.tables.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.tables.list/processingStatus": processing_status
+"/mapsengine:v1/mapsengine.tables.list/projectId": project_id
+"/mapsengine:v1/mapsengine.tables.list/role": role
+"/mapsengine:v1/mapsengine.tables.list/search": search
+"/mapsengine:v1/mapsengine.tables.list/tags": tags
+"/mapsengine:v1/mapsengine.tables.patch": patch_table
+"/mapsengine:v1/mapsengine.tables.patch/id": id
+"/mapsengine:v1/mapsengine.tables.process": process_table
+"/mapsengine:v1/mapsengine.tables.process/id": id
+"/mapsengine:v1/mapsengine.tables.upload": upload_table
+"/mapsengine:v1/mapsengine.tables.features.batchDelete": batch_delete_table_feature
+"/mapsengine:v1/mapsengine.tables.features.batchDelete/id": id
+"/mapsengine:v1/mapsengine.tables.features.batchInsert": batch_insert_table_feature
+"/mapsengine:v1/mapsengine.tables.features.batchInsert/id": id
+"/mapsengine:v1/mapsengine.tables.features.batchPatch": batch_patch_table_feature
+"/mapsengine:v1/mapsengine.tables.features.batchPatch/id": id
+"/mapsengine:v1/mapsengine.tables.features.get": get_table_feature
+"/mapsengine:v1/mapsengine.tables.features.get/id": id
+"/mapsengine:v1/mapsengine.tables.features.get/select": select
+"/mapsengine:v1/mapsengine.tables.features.get/tableId": table_id
+"/mapsengine:v1/mapsengine.tables.features.get/version": version
+"/mapsengine:v1/mapsengine.tables.features.list": list_table_features
+"/mapsengine:v1/mapsengine.tables.features.list/id": id
+"/mapsengine:v1/mapsengine.tables.features.list/include": include
+"/mapsengine:v1/mapsengine.tables.features.list/intersects": intersects
+"/mapsengine:v1/mapsengine.tables.features.list/limit": limit
+"/mapsengine:v1/mapsengine.tables.features.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.tables.features.list/orderBy": order_by
+"/mapsengine:v1/mapsengine.tables.features.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.tables.features.list/select": select
+"/mapsengine:v1/mapsengine.tables.features.list/version": version
+"/mapsengine:v1/mapsengine.tables.features.list/where": where
+"/mapsengine:v1/mapsengine.tables.files.insert": insert_table_file
+"/mapsengine:v1/mapsengine.tables.files.insert/filename": filename
+"/mapsengine:v1/mapsengine.tables.files.insert/id": id
+"/mapsengine:v1/mapsengine.tables.parents.list": list_table_parents
+"/mapsengine:v1/mapsengine.tables.parents.list/id": id
+"/mapsengine:v1/mapsengine.tables.parents.list/maxResults": max_results
+"/mapsengine:v1/mapsengine.tables.parents.list/pageToken": page_token
+"/mapsengine:v1/mapsengine.tables.permissions.batchDelete": batch_delete_table_permission
+"/mapsengine:v1/mapsengine.tables.permissions.batchDelete/id": id
+"/mapsengine:v1/mapsengine.tables.permissions.batchUpdate": batch_update_table_permission
+"/mapsengine:v1/mapsengine.tables.permissions.batchUpdate/id": id
+"/mapsengine:v1/mapsengine.tables.permissions.list": list_table_permissions
+"/mapsengine:v1/mapsengine.tables.permissions.list/id": id
+"/mapsengine:v1/AcquisitionTime": acquisition_time
+"/mapsengine:v1/AcquisitionTime/end": end
+"/mapsengine:v1/AcquisitionTime/precision": precision
+"/mapsengine:v1/AcquisitionTime/start": start
+"/mapsengine:v1/Asset": asset
+"/mapsengine:v1/Asset/bbox": bbox
+"/mapsengine:v1/Asset/bbox/bbox": bbox
+"/mapsengine:v1/Asset/creationTime": creation_time
+"/mapsengine:v1/Asset/creatorEmail": creator_email
+"/mapsengine:v1/Asset/description": description
+"/mapsengine:v1/Asset/etag": etag
+"/mapsengine:v1/Asset/id": id
+"/mapsengine:v1/Asset/lastModifiedTime": last_modified_time
+"/mapsengine:v1/Asset/lastModifierEmail": last_modifier_email
+"/mapsengine:v1/Asset/name": name
+"/mapsengine:v1/Asset/projectId": project_id
+"/mapsengine:v1/Asset/resource": resource
+"/mapsengine:v1/Asset/tags": tags
+"/mapsengine:v1/Asset/tags/tag": tag
+"/mapsengine:v1/Asset/type": type
+"/mapsengine:v1/Asset/writersCanEditPermissions": writers_can_edit_permissions
+"/mapsengine:v1/AssetsListResponse/assets": assets
+"/mapsengine:v1/AssetsListResponse/assets/asset": asset
+"/mapsengine:v1/AssetsListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/Border": border
+"/mapsengine:v1/Border/color": color
+"/mapsengine:v1/Border/opacity": opacity
+"/mapsengine:v1/Border/width": width
+"/mapsengine:v1/Color": color
+"/mapsengine:v1/Color/color": color
+"/mapsengine:v1/Color/opacity": opacity
+"/mapsengine:v1/Datasource": datasource
+"/mapsengine:v1/Datasource/id": id
+"/mapsengine:v1/Datasources": datasources
+"/mapsengine:v1/Datasources/datasource": datasource
+"/mapsengine:v1/DisplayRule": display_rule
+"/mapsengine:v1/DisplayRule/filters": filters
+"/mapsengine:v1/DisplayRule/filters/filter": filter
+"/mapsengine:v1/DisplayRule/lineOptions": line_options
+"/mapsengine:v1/DisplayRule/name": name
+"/mapsengine:v1/DisplayRule/pointOptions": point_options
+"/mapsengine:v1/DisplayRule/polygonOptions": polygon_options
+"/mapsengine:v1/DisplayRule/zoomLevels": zoom_levels
+"/mapsengine:v1/Feature": feature
+"/mapsengine:v1/Feature/geometry": geometry
+"/mapsengine:v1/Feature/properties": properties
+"/mapsengine:v1/Feature/type": type
+"/mapsengine:v1/FeatureInfo": feature_info
+"/mapsengine:v1/FeatureInfo/content": content
+"/mapsengine:v1/FeaturesBatchDeleteRequest/gx_ids": gx_ids
+"/mapsengine:v1/FeaturesBatchDeleteRequest/gx_ids/gx_id": gx_id
+"/mapsengine:v1/FeaturesBatchDeleteRequest/primaryKeys": primary_keys
+"/mapsengine:v1/FeaturesBatchDeleteRequest/primaryKeys/primary_key": primary_key
+"/mapsengine:v1/FeaturesBatchInsertRequest/features": features
+"/mapsengine:v1/FeaturesBatchInsertRequest/features/feature": feature
+"/mapsengine:v1/FeaturesBatchInsertRequest/normalizeGeometries": normalize_geometries
+"/mapsengine:v1/FeaturesBatchPatchRequest/features": features
+"/mapsengine:v1/FeaturesBatchPatchRequest/features/feature": feature
+"/mapsengine:v1/FeaturesBatchPatchRequest/normalizeGeometries": normalize_geometries
+"/mapsengine:v1/FeaturesListResponse/allowedQueriesPerSecond": allowed_queries_per_second
+"/mapsengine:v1/FeaturesListResponse/features": features
+"/mapsengine:v1/FeaturesListResponse/features/feature": feature
+"/mapsengine:v1/FeaturesListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/FeaturesListResponse/schema": schema
+"/mapsengine:v1/FeaturesListResponse/type": type
+"/mapsengine:v1/File": file
+"/mapsengine:v1/File/filename": filename
+"/mapsengine:v1/File/size": size
+"/mapsengine:v1/File/uploadStatus": upload_status
+"/mapsengine:v1/Filter": filter
+"/mapsengine:v1/Filter/column": column
+"/mapsengine:v1/Filter/operator": operator
+"/mapsengine:v1/Filter/value": value
+"/mapsengine:v1/GeoJsonGeometry": geo_json_geometry
+"/mapsengine:v1/GeoJsonGeometryCollection": geo_json_geometry_collection
+"/mapsengine:v1/GeoJsonGeometryCollection/geometries": geometries
+"/mapsengine:v1/GeoJsonGeometryCollection/geometries/geometry": geometry
+"/mapsengine:v1/GeoJsonGeometryCollection/type": type
+"/mapsengine:v1/GeoJsonLineString": geo_json_line_string
+"/mapsengine:v1/GeoJsonLineString/coordinates": coordinates
+"/mapsengine:v1/GeoJsonLineString/coordinates/coordinate": coordinate
+"/mapsengine:v1/GeoJsonLineString/type": type
+"/mapsengine:v1/GeoJsonMultiLineString": geo_json_multi_line_string
+"/mapsengine:v1/GeoJsonMultiLineString/coordinates": coordinates
+"/mapsengine:v1/GeoJsonMultiLineString/coordinates/coordinate": coordinate
+"/mapsengine:v1/GeoJsonMultiLineString/coordinates/coordinate/coordinate": coordinate
+"/mapsengine:v1/GeoJsonMultiLineString/type": type
+"/mapsengine:v1/GeoJsonMultiPoint": geo_json_multi_point
+"/mapsengine:v1/GeoJsonMultiPoint/coordinates": coordinates
+"/mapsengine:v1/GeoJsonMultiPoint/coordinates/coordinate": coordinate
+"/mapsengine:v1/GeoJsonMultiPoint/type": type
+"/mapsengine:v1/GeoJsonMultiPolygon": geo_json_multi_polygon
+"/mapsengine:v1/GeoJsonMultiPolygon/coordinates": coordinates
+"/mapsengine:v1/GeoJsonMultiPolygon/coordinates/coordinate": coordinate
+"/mapsengine:v1/GeoJsonMultiPolygon/coordinates/coordinate/coordinate": coordinate
+"/mapsengine:v1/GeoJsonMultiPolygon/coordinates/coordinate/coordinate/coordinate": coordinate
+"/mapsengine:v1/GeoJsonMultiPolygon/type": type
+"/mapsengine:v1/GeoJsonPoint": geo_json_point
+"/mapsengine:v1/GeoJsonPoint/coordinates": coordinates
+"/mapsengine:v1/GeoJsonPoint/type": type
+"/mapsengine:v1/GeoJsonPolygon": geo_json_polygon
+"/mapsengine:v1/GeoJsonPolygon/coordinates": coordinates
+"/mapsengine:v1/GeoJsonPolygon/coordinates/coordinate": coordinate
+"/mapsengine:v1/GeoJsonPolygon/coordinates/coordinate/coordinate": coordinate
+"/mapsengine:v1/GeoJsonPolygon/type": type
+"/mapsengine:v1/GeoJsonPosition": geo_json_position
+"/mapsengine:v1/GeoJsonPosition/geo_json_position": geo_json_position
+"/mapsengine:v1/GeoJsonProperties": geo_json_properties
+"/mapsengine:v1/GeoJsonProperties/geo_json_property": geo_json_property
+"/mapsengine:v1/Icon": icon
+"/mapsengine:v1/Icon/description": description
+"/mapsengine:v1/Icon/id": id
+"/mapsengine:v1/Icon/name": name
+"/mapsengine:v1/IconStyle": icon_style
+"/mapsengine:v1/IconStyle/id": id
+"/mapsengine:v1/IconStyle/name": name
+"/mapsengine:v1/IconStyle/scaledShape": scaled_shape
+"/mapsengine:v1/IconStyle/scalingFunction": scaling_function
+"/mapsengine:v1/IconsListResponse/icons": icons
+"/mapsengine:v1/IconsListResponse/icons/icon": icon
+"/mapsengine:v1/IconsListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/LabelStyle": label_style
+"/mapsengine:v1/LabelStyle/color": color
+"/mapsengine:v1/LabelStyle/column": column
+"/mapsengine:v1/LabelStyle/fontStyle": font_style
+"/mapsengine:v1/LabelStyle/fontWeight": font_weight
+"/mapsengine:v1/LabelStyle/opacity": opacity
+"/mapsengine:v1/LabelStyle/outline": outline
+"/mapsengine:v1/LabelStyle/size": size
+"/mapsengine:v1/LatLngBox": lat_lng_box
+"/mapsengine:v1/LatLngBox/lat_lng_box": lat_lng_box
+"/mapsengine:v1/Layer": layer
+"/mapsengine:v1/Layer/bbox": bbox
+"/mapsengine:v1/Layer/bbox/bbox": bbox
+"/mapsengine:v1/Layer/creationTime": creation_time
+"/mapsengine:v1/Layer/creatorEmail": creator_email
+"/mapsengine:v1/Layer/datasourceType": datasource_type
+"/mapsengine:v1/Layer/datasources": datasources
+"/mapsengine:v1/Layer/description": description
+"/mapsengine:v1/Layer/draftAccessList": draft_access_list
+"/mapsengine:v1/Layer/etag": etag
+"/mapsengine:v1/Layer/id": id
+"/mapsengine:v1/Layer/lastModifiedTime": last_modified_time
+"/mapsengine:v1/Layer/lastModifierEmail": last_modifier_email
+"/mapsengine:v1/Layer/layerType": layer_type
+"/mapsengine:v1/Layer/name": name
+"/mapsengine:v1/Layer/processingStatus": processing_status
+"/mapsengine:v1/Layer/projectId": project_id
+"/mapsengine:v1/Layer/publishedAccessList": published_access_list
+"/mapsengine:v1/Layer/publishingStatus": publishing_status
+"/mapsengine:v1/Layer/style": style
+"/mapsengine:v1/Layer/tags": tags
+"/mapsengine:v1/Layer/writersCanEditPermissions": writers_can_edit_permissions
+"/mapsengine:v1/LayersListResponse/layers": layers
+"/mapsengine:v1/LayersListResponse/layers/layer": layer
+"/mapsengine:v1/LayersListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/LineStyle": line_style
+"/mapsengine:v1/LineStyle/border": border
+"/mapsengine:v1/LineStyle/dash": dash
+"/mapsengine:v1/LineStyle/dash/dash": dash
+"/mapsengine:v1/LineStyle/label": label
+"/mapsengine:v1/LineStyle/stroke": stroke
+"/mapsengine:v1/LineStyle/stroke/color": color
+"/mapsengine:v1/LineStyle/stroke/opacity": opacity
+"/mapsengine:v1/LineStyle/stroke/width": width
+"/mapsengine:v1/Map": map
+"/mapsengine:v1/Map/bbox": bbox
+"/mapsengine:v1/Map/bbox/bbox": bbox
+"/mapsengine:v1/Map/contents": contents
+"/mapsengine:v1/Map/creationTime": creation_time
+"/mapsengine:v1/Map/creatorEmail": creator_email
+"/mapsengine:v1/Map/defaultViewport": default_viewport
+"/mapsengine:v1/Map/description": description
+"/mapsengine:v1/Map/draftAccessList": draft_access_list
+"/mapsengine:v1/Map/etag": etag
+"/mapsengine:v1/Map/id": id
+"/mapsengine:v1/Map/lastModifiedTime": last_modified_time
+"/mapsengine:v1/Map/lastModifierEmail": last_modifier_email
+"/mapsengine:v1/Map/name": name
+"/mapsengine:v1/Map/processingStatus": processing_status
+"/mapsengine:v1/Map/projectId": project_id
+"/mapsengine:v1/Map/publishedAccessList": published_access_list
+"/mapsengine:v1/Map/publishingStatus": publishing_status
+"/mapsengine:v1/Map/tags": tags
+"/mapsengine:v1/Map/versions": versions
+"/mapsengine:v1/Map/versions/version": version
+"/mapsengine:v1/Map/writersCanEditPermissions": writers_can_edit_permissions
+"/mapsengine:v1/MapContents": map_contents
+"/mapsengine:v1/MapContents/map_content": map_content
+"/mapsengine:v1/MapFolder": map_folder
+"/mapsengine:v1/MapFolder/contents": contents
+"/mapsengine:v1/MapFolder/contents/content": content
+"/mapsengine:v1/MapFolder/defaultViewport": default_viewport
+"/mapsengine:v1/MapFolder/defaultViewport/default_viewport": default_viewport
+"/mapsengine:v1/MapFolder/expandable": expandable
+"/mapsengine:v1/MapFolder/key": key
+"/mapsengine:v1/MapFolder/name": name
+"/mapsengine:v1/MapFolder/type": type
+"/mapsengine:v1/MapFolder/visibility": visibility
+"/mapsengine:v1/MapItem": map_item
+"/mapsengine:v1/MapKmlLink": map_kml_link
+"/mapsengine:v1/MapKmlLink/defaultViewport": default_viewport
+"/mapsengine:v1/MapKmlLink/defaultViewport/default_viewport": default_viewport
+"/mapsengine:v1/MapKmlLink/kmlUrl": kml_url
+"/mapsengine:v1/MapKmlLink/name": name
+"/mapsengine:v1/MapKmlLink/type": type
+"/mapsengine:v1/MapKmlLink/visibility": visibility
+"/mapsengine:v1/MapLayer": map_layer
+"/mapsengine:v1/MapLayer/defaultViewport": default_viewport
+"/mapsengine:v1/MapLayer/defaultViewport/default_viewport": default_viewport
+"/mapsengine:v1/MapLayer/id": id
+"/mapsengine:v1/MapLayer/key": key
+"/mapsengine:v1/MapLayer/name": name
+"/mapsengine:v1/MapLayer/type": type
+"/mapsengine:v1/MapLayer/visibility": visibility
+"/mapsengine:v1/MapsListResponse/maps": maps
+"/mapsengine:v1/MapsListResponse/maps/map": map
+"/mapsengine:v1/MapsListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/Parent": parent
+"/mapsengine:v1/Parent/id": id
+"/mapsengine:v1/ParentsListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/ParentsListResponse/parents": parents
+"/mapsengine:v1/ParentsListResponse/parents/parent": parent
+"/mapsengine:v1/Permission": permission
+"/mapsengine:v1/Permission/discoverable": discoverable
+"/mapsengine:v1/Permission/id": id
+"/mapsengine:v1/Permission/role": role
+"/mapsengine:v1/Permission/type": type
+"/mapsengine:v1/PermissionsBatchDeleteRequest/ids": ids
+"/mapsengine:v1/PermissionsBatchDeleteRequest/ids/id": id
+"/mapsengine:v1/PermissionsBatchUpdateRequest/permissions": permissions
+"/mapsengine:v1/PermissionsBatchUpdateRequest/permissions/permission": permission
+"/mapsengine:v1/PermissionsListResponse/permissions": permissions
+"/mapsengine:v1/PermissionsListResponse/permissions/permission": permission
+"/mapsengine:v1/PointStyle": point_style
+"/mapsengine:v1/PointStyle/icon": icon
+"/mapsengine:v1/PointStyle/label": label
+"/mapsengine:v1/PolygonStyle": polygon_style
+"/mapsengine:v1/PolygonStyle/fill": fill
+"/mapsengine:v1/PolygonStyle/label": label
+"/mapsengine:v1/PolygonStyle/stroke": stroke
+"/mapsengine:v1/ProcessResponse": process_response
+"/mapsengine:v1/Project": project
+"/mapsengine:v1/Project/id": id
+"/mapsengine:v1/Project/name": name
+"/mapsengine:v1/ProjectsListResponse/projects": projects
+"/mapsengine:v1/ProjectsListResponse/projects/project": project
+"/mapsengine:v1/PublishResponse": publish_response
+"/mapsengine:v1/PublishedLayer": published_layer
+"/mapsengine:v1/PublishedLayer/description": description
+"/mapsengine:v1/PublishedLayer/id": id
+"/mapsengine:v1/PublishedLayer/layerType": layer_type
+"/mapsengine:v1/PublishedLayer/name": name
+"/mapsengine:v1/PublishedLayer/projectId": project_id
+"/mapsengine:v1/PublishedLayersListResponse/layers": layers
+"/mapsengine:v1/PublishedLayersListResponse/layers/layer": layer
+"/mapsengine:v1/PublishedLayersListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/PublishedMap": published_map
+"/mapsengine:v1/PublishedMap/contents": contents
+"/mapsengine:v1/PublishedMap/defaultViewport": default_viewport
+"/mapsengine:v1/PublishedMap/description": description
+"/mapsengine:v1/PublishedMap/id": id
+"/mapsengine:v1/PublishedMap/name": name
+"/mapsengine:v1/PublishedMap/projectId": project_id
+"/mapsengine:v1/PublishedMapsListResponse/maps": maps
+"/mapsengine:v1/PublishedMapsListResponse/maps/map": map
+"/mapsengine:v1/PublishedMapsListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/Raster": raster
+"/mapsengine:v1/Raster/acquisitionTime": acquisition_time
+"/mapsengine:v1/Raster/attribution": attribution
+"/mapsengine:v1/Raster/bbox": bbox
+"/mapsengine:v1/Raster/bbox/bbox": bbox
+"/mapsengine:v1/Raster/creationTime": creation_time
+"/mapsengine:v1/Raster/creatorEmail": creator_email
+"/mapsengine:v1/Raster/description": description
+"/mapsengine:v1/Raster/draftAccessList": draft_access_list
+"/mapsengine:v1/Raster/etag": etag
+"/mapsengine:v1/Raster/files": files
+"/mapsengine:v1/Raster/files/file": file
+"/mapsengine:v1/Raster/id": id
+"/mapsengine:v1/Raster/lastModifiedTime": last_modified_time
+"/mapsengine:v1/Raster/lastModifierEmail": last_modifier_email
+"/mapsengine:v1/Raster/maskType": mask_type
+"/mapsengine:v1/Raster/name": name
+"/mapsengine:v1/Raster/processingStatus": processing_status
+"/mapsengine:v1/Raster/projectId": project_id
+"/mapsengine:v1/Raster/rasterType": raster_type
+"/mapsengine:v1/Raster/tags": tags
+"/mapsengine:v1/Raster/writersCanEditPermissions": writers_can_edit_permissions
+"/mapsengine:v1/RasterCollection": raster_collection
+"/mapsengine:v1/RasterCollection/attribution": attribution
+"/mapsengine:v1/RasterCollection/bbox": bbox
+"/mapsengine:v1/RasterCollection/bbox/bbox": bbox
+"/mapsengine:v1/RasterCollection/creationTime": creation_time
+"/mapsengine:v1/RasterCollection/creatorEmail": creator_email
+"/mapsengine:v1/RasterCollection/description": description
+"/mapsengine:v1/RasterCollection/draftAccessList": draft_access_list
+"/mapsengine:v1/RasterCollection/etag": etag
+"/mapsengine:v1/RasterCollection/id": id
+"/mapsengine:v1/RasterCollection/lastModifiedTime": last_modified_time
+"/mapsengine:v1/RasterCollection/lastModifierEmail": last_modifier_email
+"/mapsengine:v1/RasterCollection/mosaic": mosaic
+"/mapsengine:v1/RasterCollection/name": name
+"/mapsengine:v1/RasterCollection/processingStatus": processing_status
+"/mapsengine:v1/RasterCollection/projectId": project_id
+"/mapsengine:v1/RasterCollection/rasterType": raster_type
+"/mapsengine:v1/RasterCollection/tags": tags
+"/mapsengine:v1/RasterCollection/writersCanEditPermissions": writers_can_edit_permissions
+"/mapsengine:v1/RasterCollectionsListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/RasterCollectionsListResponse/rasterCollections": raster_collections
+"/mapsengine:v1/RasterCollectionsListResponse/rasterCollections/raster_collection": raster_collection
+"/mapsengine:v1/RasterCollectionsRaster": raster_collections_raster
+"/mapsengine:v1/RasterCollectionsRaster/bbox": bbox
+"/mapsengine:v1/RasterCollectionsRaster/bbox/bbox": bbox
+"/mapsengine:v1/RasterCollectionsRaster/creationTime": creation_time
+"/mapsengine:v1/RasterCollectionsRaster/description": description
+"/mapsengine:v1/RasterCollectionsRaster/id": id
+"/mapsengine:v1/RasterCollectionsRaster/lastModifiedTime": last_modified_time
+"/mapsengine:v1/RasterCollectionsRaster/name": name
+"/mapsengine:v1/RasterCollectionsRaster/projectId": project_id
+"/mapsengine:v1/RasterCollectionsRaster/rasterType": raster_type
+"/mapsengine:v1/RasterCollectionsRaster/tags": tags
+"/mapsengine:v1/RasterCollectionsRaster/tags/tag": tag
+"/mapsengine:v1/RasterCollectionsRasterBatchDeleteRequest/ids": ids
+"/mapsengine:v1/RasterCollectionsRasterBatchDeleteRequest/ids/id": id
+"/mapsengine:v1/RasterCollectionsRastersBatchInsertRequest/ids": ids
+"/mapsengine:v1/RasterCollectionsRastersBatchInsertRequest/ids/id": id
+"/mapsengine:v1/RasterCollectionsRastersListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/RasterCollectionsRastersListResponse/rasters": rasters
+"/mapsengine:v1/RasterCollectionsRastersListResponse/rasters/raster": raster
+"/mapsengine:v1/RastersListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/RastersListResponse/rasters": rasters
+"/mapsengine:v1/RastersListResponse/rasters/raster": raster
+"/mapsengine:v1/ScaledShape": scaled_shape
+"/mapsengine:v1/ScaledShape/border": border
+"/mapsengine:v1/ScaledShape/fill": fill
+"/mapsengine:v1/ScaledShape/shape": shape
+"/mapsengine:v1/ScalingFunction": scaling_function
+"/mapsengine:v1/ScalingFunction/column": column
+"/mapsengine:v1/ScalingFunction/scalingType": scaling_type
+"/mapsengine:v1/ScalingFunction/sizeRange": size_range
+"/mapsengine:v1/ScalingFunction/valueRange": value_range
+"/mapsengine:v1/Schema": schema
+"/mapsengine:v1/Schema/columns": columns
+"/mapsengine:v1/Schema/columns/column": column
+"/mapsengine:v1/Schema/primaryGeometry": primary_geometry
+"/mapsengine:v1/Schema/primaryKey": primary_key
+"/mapsengine:v1/SizeRange": size_range
+"/mapsengine:v1/SizeRange/max": max
+"/mapsengine:v1/SizeRange/min": min
+"/mapsengine:v1/Table": table
+"/mapsengine:v1/Table/bbox": bbox
+"/mapsengine:v1/Table/bbox/bbox": bbox
+"/mapsengine:v1/Table/creationTime": creation_time
+"/mapsengine:v1/Table/creatorEmail": creator_email
+"/mapsengine:v1/Table/description": description
+"/mapsengine:v1/Table/draftAccessList": draft_access_list
+"/mapsengine:v1/Table/etag": etag
+"/mapsengine:v1/Table/files": files
+"/mapsengine:v1/Table/files/file": file
+"/mapsengine:v1/Table/id": id
+"/mapsengine:v1/Table/lastModifiedTime": last_modified_time
+"/mapsengine:v1/Table/lastModifierEmail": last_modifier_email
+"/mapsengine:v1/Table/name": name
+"/mapsengine:v1/Table/processingStatus": processing_status
+"/mapsengine:v1/Table/projectId": project_id
+"/mapsengine:v1/Table/publishedAccessList": published_access_list
+"/mapsengine:v1/Table/schema": schema
+"/mapsengine:v1/Table/sourceEncoding": source_encoding
+"/mapsengine:v1/Table/tags": tags
+"/mapsengine:v1/Table/writersCanEditPermissions": writers_can_edit_permissions
+"/mapsengine:v1/TableColumn": table_column
+"/mapsengine:v1/TableColumn/name": name
+"/mapsengine:v1/TableColumn/type": type
+"/mapsengine:v1/TablesListResponse/nextPageToken": next_page_token
+"/mapsengine:v1/TablesListResponse/tables": tables
+"/mapsengine:v1/TablesListResponse/tables/table": table
+"/mapsengine:v1/Tags": tags
+"/mapsengine:v1/Tags/tag": tag
+"/mapsengine:v1/ValueRange": value_range
+"/mapsengine:v1/ValueRange/max": max
+"/mapsengine:v1/ValueRange/min": min
+"/mapsengine:v1/VectorStyle": vector_style
+"/mapsengine:v1/VectorStyle/displayRules": display_rules
+"/mapsengine:v1/VectorStyle/displayRules/display_rule": display_rule
+"/mapsengine:v1/VectorStyle/featureInfo": feature_info
+"/mapsengine:v1/VectorStyle/type": type
+"/mapsengine:v1/ZoomLevels": zoom_levels
+"/mapsengine:v1/ZoomLevels/max": max
+"/mapsengine:v1/ZoomLevels/min": min
+"/mirror:v1/fields": fields
+"/mirror:v1/key": key
+"/mirror:v1/quotaUser": quota_user
+"/mirror:v1/userIp": user_ip
+"/mirror:v1/mirror.accounts.insert": insert_account
+"/mirror:v1/mirror.accounts.insert/accountName": account_name
+"/mirror:v1/mirror.accounts.insert/accountType": account_type
+"/mirror:v1/mirror.accounts.insert/userToken": user_token
+"/mirror:v1/mirror.contacts.delete": delete_contact
+"/mirror:v1/mirror.contacts.delete/id": id
+"/mirror:v1/mirror.contacts.get": get_contact
+"/mirror:v1/mirror.contacts.get/id": id
+"/mirror:v1/mirror.contacts.insert": insert_contact
+"/mirror:v1/mirror.contacts.list": list_contacts
+"/mirror:v1/mirror.contacts.patch": patch_contact
+"/mirror:v1/mirror.contacts.patch/id": id
+"/mirror:v1/mirror.contacts.update": update_contact
+"/mirror:v1/mirror.contacts.update/id": id
+"/mirror:v1/mirror.locations.get": get_location
+"/mirror:v1/mirror.locations.get/id": id
+"/mirror:v1/mirror.locations.list": list_locations
+"/mirror:v1/mirror.settings.get": get_setting
+"/mirror:v1/mirror.settings.get/id": id
+"/mirror:v1/mirror.subscriptions.delete": delete_subscription
+"/mirror:v1/mirror.subscriptions.delete/id": id
+"/mirror:v1/mirror.subscriptions.insert": insert_subscription
+"/mirror:v1/mirror.subscriptions.list": list_subscriptions
+"/mirror:v1/mirror.subscriptions.update": update_subscription
+"/mirror:v1/mirror.subscriptions.update/id": id
+"/mirror:v1/mirror.timeline.delete": delete_timeline
+"/mirror:v1/mirror.timeline.delete/id": id
+"/mirror:v1/mirror.timeline.get": get_timeline
+"/mirror:v1/mirror.timeline.get/id": id
+"/mirror:v1/mirror.timeline.insert": insert_timeline
+"/mirror:v1/mirror.timeline.list": list_timelines
+"/mirror:v1/mirror.timeline.list/bundleId": bundle_id
+"/mirror:v1/mirror.timeline.list/includeDeleted": include_deleted
+"/mirror:v1/mirror.timeline.list/maxResults": max_results
+"/mirror:v1/mirror.timeline.list/orderBy": order_by
+"/mirror:v1/mirror.timeline.list/pageToken": page_token
+"/mirror:v1/mirror.timeline.list/pinnedOnly": pinned_only
+"/mirror:v1/mirror.timeline.list/sourceItemId": source_item_id
+"/mirror:v1/mirror.timeline.patch": patch_timeline
+"/mirror:v1/mirror.timeline.patch/id": id
+"/mirror:v1/mirror.timeline.update": update_timeline
+"/mirror:v1/mirror.timeline.update/id": id
+"/mirror:v1/mirror.timeline.attachments.delete": delete_timeline_attachment
+"/mirror:v1/mirror.timeline.attachments.delete/attachmentId": attachment_id
+"/mirror:v1/mirror.timeline.attachments.delete/itemId": item_id
+"/mirror:v1/mirror.timeline.attachments.get": get_timeline_attachment
+"/mirror:v1/mirror.timeline.attachments.get/attachmentId": attachment_id
+"/mirror:v1/mirror.timeline.attachments.get/itemId": item_id
+"/mirror:v1/mirror.timeline.attachments.insert": insert_timeline_attachment
+"/mirror:v1/mirror.timeline.attachments.insert/itemId": item_id
+"/mirror:v1/mirror.timeline.attachments.list": list_timeline_attachments
+"/mirror:v1/mirror.timeline.attachments.list/itemId": item_id
+"/mirror:v1/Account": account
+"/mirror:v1/Account/authTokens": auth_tokens
+"/mirror:v1/Account/authTokens/auth_token": auth_token
+"/mirror:v1/Account/features": features
+"/mirror:v1/Account/features/feature": feature
+"/mirror:v1/Account/password": password
+"/mirror:v1/Account/userData": user_data
+"/mirror:v1/Account/userData/user_datum": user_datum
+"/mirror:v1/Attachment": attachment
+"/mirror:v1/Attachment/contentType": content_type
+"/mirror:v1/Attachment/contentUrl": content_url
+"/mirror:v1/Attachment/id": id
+"/mirror:v1/Attachment/isProcessingContent": is_processing_content
+"/mirror:v1/AttachmentsListResponse/items": items
+"/mirror:v1/AttachmentsListResponse/items/item": item
+"/mirror:v1/AttachmentsListResponse/kind": kind
+"/mirror:v1/AuthToken": auth_token
+"/mirror:v1/AuthToken/authToken": auth_token
+"/mirror:v1/AuthToken/type": type
+"/mirror:v1/Command": command
+"/mirror:v1/Command/type": type
+"/mirror:v1/Contact": contact
+"/mirror:v1/Contact/acceptCommands": accept_commands
+"/mirror:v1/Contact/acceptCommands/accept_command": accept_command
+"/mirror:v1/Contact/acceptTypes": accept_types
+"/mirror:v1/Contact/acceptTypes/accept_type": accept_type
+"/mirror:v1/Contact/displayName": display_name
+"/mirror:v1/Contact/id": id
+"/mirror:v1/Contact/imageUrls": image_urls
+"/mirror:v1/Contact/imageUrls/image_url": image_url
+"/mirror:v1/Contact/kind": kind
+"/mirror:v1/Contact/phoneNumber": phone_number
+"/mirror:v1/Contact/priority": priority
+"/mirror:v1/Contact/sharingFeatures": sharing_features
+"/mirror:v1/Contact/sharingFeatures/sharing_feature": sharing_feature
+"/mirror:v1/Contact/source": source
+"/mirror:v1/Contact/speakableName": speakable_name
+"/mirror:v1/Contact/type": type
+"/mirror:v1/ContactsListResponse/items": items
+"/mirror:v1/ContactsListResponse/items/item": item
+"/mirror:v1/ContactsListResponse/kind": kind
+"/mirror:v1/Location": location
+"/mirror:v1/Location/accuracy": accuracy
+"/mirror:v1/Location/address": address
+"/mirror:v1/Location/displayName": display_name
+"/mirror:v1/Location/id": id
+"/mirror:v1/Location/kind": kind
+"/mirror:v1/Location/latitude": latitude
+"/mirror:v1/Location/longitude": longitude
+"/mirror:v1/Location/timestamp": timestamp
+"/mirror:v1/LocationsListResponse/items": items
+"/mirror:v1/LocationsListResponse/items/item": item
+"/mirror:v1/LocationsListResponse/kind": kind
+"/mirror:v1/MenuItem": menu_item
+"/mirror:v1/MenuItem/action": action
+"/mirror:v1/MenuItem/contextual_command": contextual_command
+"/mirror:v1/MenuItem/id": id
+"/mirror:v1/MenuItem/payload": payload
+"/mirror:v1/MenuItem/removeWhenSelected": remove_when_selected
+"/mirror:v1/MenuItem/values": values
+"/mirror:v1/MenuItem/values/value": value
+"/mirror:v1/MenuValue": menu_value
+"/mirror:v1/MenuValue/displayName": display_name
+"/mirror:v1/MenuValue/iconUrl": icon_url
+"/mirror:v1/MenuValue/state": state
+"/mirror:v1/Notification": notification
+"/mirror:v1/Notification/collection": collection
+"/mirror:v1/Notification/itemId": item_id
+"/mirror:v1/Notification/operation": operation
+"/mirror:v1/Notification/userActions": user_actions
+"/mirror:v1/Notification/userActions/user_action": user_action
+"/mirror:v1/Notification/userToken": user_token
+"/mirror:v1/Notification/verifyToken": verify_token
+"/mirror:v1/NotificationConfig": notification_config
+"/mirror:v1/NotificationConfig/deliveryTime": delivery_time
+"/mirror:v1/NotificationConfig/level": level
+"/mirror:v1/Setting": setting
+"/mirror:v1/Setting/id": id
+"/mirror:v1/Setting/kind": kind
+"/mirror:v1/Setting/value": value
+"/mirror:v1/Subscription": subscription
+"/mirror:v1/Subscription/callbackUrl": callback_url
+"/mirror:v1/Subscription/collection": collection
+"/mirror:v1/Subscription/id": id
+"/mirror:v1/Subscription/kind": kind
+"/mirror:v1/Subscription/notification": notification
+"/mirror:v1/Subscription/operation": operation
+"/mirror:v1/Subscription/operation/operation": operation
+"/mirror:v1/Subscription/updated": updated
+"/mirror:v1/Subscription/userToken": user_token
+"/mirror:v1/Subscription/verifyToken": verify_token
+"/mirror:v1/SubscriptionsListResponse/items": items
+"/mirror:v1/SubscriptionsListResponse/items/item": item
+"/mirror:v1/SubscriptionsListResponse/kind": kind
+"/mirror:v1/TimelineItem": timeline_item
+"/mirror:v1/TimelineItem/attachments": attachments
+"/mirror:v1/TimelineItem/attachments/attachment": attachment
+"/mirror:v1/TimelineItem/bundleId": bundle_id
+"/mirror:v1/TimelineItem/canonicalUrl": canonical_url
+"/mirror:v1/TimelineItem/created": created
+"/mirror:v1/TimelineItem/creator": creator
+"/mirror:v1/TimelineItem/displayTime": display_time
+"/mirror:v1/TimelineItem/etag": etag
+"/mirror:v1/TimelineItem/html": html
+"/mirror:v1/TimelineItem/id": id
+"/mirror:v1/TimelineItem/inReplyTo": in_reply_to
+"/mirror:v1/TimelineItem/isBundleCover": is_bundle_cover
+"/mirror:v1/TimelineItem/isDeleted": is_deleted
+"/mirror:v1/TimelineItem/isPinned": is_pinned
+"/mirror:v1/TimelineItem/kind": kind
+"/mirror:v1/TimelineItem/location": location
+"/mirror:v1/TimelineItem/menuItems": menu_items
+"/mirror:v1/TimelineItem/menuItems/menu_item": menu_item
+"/mirror:v1/TimelineItem/notification": notification
+"/mirror:v1/TimelineItem/pinScore": pin_score
+"/mirror:v1/TimelineItem/recipients": recipients
+"/mirror:v1/TimelineItem/recipients/recipient": recipient
+"/mirror:v1/TimelineItem/selfLink": self_link
+"/mirror:v1/TimelineItem/sourceItemId": source_item_id
+"/mirror:v1/TimelineItem/speakableText": speakable_text
+"/mirror:v1/TimelineItem/speakableType": speakable_type
+"/mirror:v1/TimelineItem/text": text
+"/mirror:v1/TimelineItem/title": title
+"/mirror:v1/TimelineItem/updated": updated
+"/mirror:v1/TimelineListResponse/items": items
+"/mirror:v1/TimelineListResponse/items/item": item
+"/mirror:v1/TimelineListResponse/kind": kind
+"/mirror:v1/TimelineListResponse/nextPageToken": next_page_token
+"/mirror:v1/UserAction": user_action
+"/mirror:v1/UserAction/payload": payload
+"/mirror:v1/UserAction/type": type
+"/mirror:v1/UserData": user_data
+"/mirror:v1/UserData/key": key
+"/mirror:v1/UserData/value": value
+"/oauth2:v2/fields": fields
+"/oauth2:v2/key": key
+"/oauth2:v2/quotaUser": quota_user
+"/oauth2:v2/userIp": user_ip
+"/oauth2:v2/oauth2.getCertForOpenIdConnect": get_cert_for_open_id_connect
+"/oauth2:v2/oauth2.tokeninfo": tokeninfo
+"/oauth2:v2/oauth2.tokeninfo/access_token": access_token
+"/oauth2:v2/oauth2.tokeninfo/id_token": id_token
+"/oauth2:v2/oauth2.tokeninfo/token_handle": token_handle
+"/oauth2:v2/oauth2.userinfo.get": get_userinfo
+"/oauth2:v2/Jwk": jwk
+"/oauth2:v2/Jwk/keys": keys
+"/oauth2:v2/Jwk/keys/key": key
+"/oauth2:v2/Jwk/keys/key/alg": alg
+"/oauth2:v2/Jwk/keys/key/e": e
+"/oauth2:v2/Jwk/keys/key/kid": kid
+"/oauth2:v2/Jwk/keys/key/kty": kty
+"/oauth2:v2/Jwk/keys/key/n": n
+"/oauth2:v2/Jwk/keys/key/use": use
+"/oauth2:v2/Tokeninfo": tokeninfo
+"/oauth2:v2/Tokeninfo/access_type": access_type
+"/oauth2:v2/Tokeninfo/audience": audience
+"/oauth2:v2/Tokeninfo/email": email
+"/oauth2:v2/Tokeninfo/expires_in": expires_in
+"/oauth2:v2/Tokeninfo/issued_to": issued_to
+"/oauth2:v2/Tokeninfo/scope": scope
+"/oauth2:v2/Tokeninfo/token_handle": token_handle
+"/oauth2:v2/Tokeninfo/user_id": user_id
+"/oauth2:v2/Tokeninfo/verified_email": verified_email
+"/oauth2:v2/Userinfoplus": userinfoplus
+"/oauth2:v2/Userinfoplus/email": email
+"/oauth2:v2/Userinfoplus/family_name": family_name
+"/oauth2:v2/Userinfoplus/gender": gender
+"/oauth2:v2/Userinfoplus/given_name": given_name
+"/oauth2:v2/Userinfoplus/hd": hd
+"/oauth2:v2/Userinfoplus/id": id
+"/oauth2:v2/Userinfoplus/link": link
+"/oauth2:v2/Userinfoplus/locale": locale
+"/oauth2:v2/Userinfoplus/name": name
+"/oauth2:v2/Userinfoplus/picture": picture
+"/oauth2:v2/Userinfoplus/verified_email": verified_email
+"/pagespeedonline:v2/fields": fields
+"/pagespeedonline:v2/key": key
+"/pagespeedonline:v2/quotaUser": quota_user
+"/pagespeedonline:v2/userIp": user_ip
+"/pagespeedonline:v2/pagespeedonline.pagespeedapi.runpagespeed/filter_third_party_resources": filter_third_party_resources
+"/pagespeedonline:v2/pagespeedonline.pagespeedapi.runpagespeed/locale": locale
+"/pagespeedonline:v2/pagespeedonline.pagespeedapi.runpagespeed/rule": rule
+"/pagespeedonline:v2/pagespeedonline.pagespeedapi.runpagespeed/screenshot": screenshot
+"/pagespeedonline:v2/pagespeedonline.pagespeedapi.runpagespeed/strategy": strategy
+"/pagespeedonline:v2/pagespeedonline.pagespeedapi.runpagespeed/url": url
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args": args
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg": arg
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/key": key
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/rects": rects
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/rects/rect": rect
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/rects/rect/height": height
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/rects/rect/left": left
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/rects/rect/top": top
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/rects/rect/width": width
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/secondary_rects": secondary_rects
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/secondary_rects/secondary_rect": secondary_rect
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/secondary_rects/secondary_rect/height": height
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/secondary_rects/secondary_rect/left": left
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/secondary_rects/secondary_rect/top": top
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/secondary_rects/secondary_rect/width": width
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/type": type
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/args/arg/value": value
+"/pagespeedonline:v2/PagespeedApiFormatStringV2/format": format
+"/pagespeedonline:v2/PagespeedApiImageV2/data": data
+"/pagespeedonline:v2/PagespeedApiImageV2/height": height
+"/pagespeedonline:v2/PagespeedApiImageV2/key": key
+"/pagespeedonline:v2/PagespeedApiImageV2/mime_type": mime_type
+"/pagespeedonline:v2/PagespeedApiImageV2/page_rect": page_rect
+"/pagespeedonline:v2/PagespeedApiImageV2/page_rect/height": height
+"/pagespeedonline:v2/PagespeedApiImageV2/page_rect/left": left
+"/pagespeedonline:v2/PagespeedApiImageV2/page_rect/top": top
+"/pagespeedonline:v2/PagespeedApiImageV2/page_rect/width": width
+"/pagespeedonline:v2/PagespeedApiImageV2/width": width
+"/pagespeedonline:v2/Result": result
+"/pagespeedonline:v2/Result/formattedResults": formatted_results
+"/pagespeedonline:v2/Result/formattedResults/locale": locale
+"/pagespeedonline:v2/Result/formattedResults/ruleResults": rule_results
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result": rule_result
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/groups": groups
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/groups/group": group
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/localizedRuleName": localized_rule_name
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/ruleImpact": rule_impact
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/summary": summary
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/urlBlocks": url_blocks
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/urlBlocks/url_block": url_block
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/urlBlocks/url_block/header": header
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/urlBlocks/url_block/urls": urls
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/urlBlocks/url_block/urls/url": url
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/urlBlocks/url_block/urls/url/details": details
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/urlBlocks/url_block/urls/url/details/detail": detail
+"/pagespeedonline:v2/Result/formattedResults/ruleResults/rule_result/urlBlocks/url_block/urls/url/result": result
+"/pagespeedonline:v2/Result/id": id
+"/pagespeedonline:v2/Result/invalidRules": invalid_rules
+"/pagespeedonline:v2/Result/invalidRules/invalid_rule": invalid_rule
+"/pagespeedonline:v2/Result/kind": kind
+"/pagespeedonline:v2/Result/pageStats": page_stats
+"/pagespeedonline:v2/Result/pageStats/cssResponseBytes": css_response_bytes
+"/pagespeedonline:v2/Result/pageStats/flashResponseBytes": flash_response_bytes
+"/pagespeedonline:v2/Result/pageStats/htmlResponseBytes": html_response_bytes
+"/pagespeedonline:v2/Result/pageStats/imageResponseBytes": image_response_bytes
+"/pagespeedonline:v2/Result/pageStats/javascriptResponseBytes": javascript_response_bytes
+"/pagespeedonline:v2/Result/pageStats/numberCssResources": number_css_resources
+"/pagespeedonline:v2/Result/pageStats/numberHosts": number_hosts
+"/pagespeedonline:v2/Result/pageStats/numberJsResources": number_js_resources
+"/pagespeedonline:v2/Result/pageStats/numberResources": number_resources
+"/pagespeedonline:v2/Result/pageStats/numberStaticResources": number_static_resources
+"/pagespeedonline:v2/Result/pageStats/otherResponseBytes": other_response_bytes
+"/pagespeedonline:v2/Result/pageStats/textResponseBytes": text_response_bytes
+"/pagespeedonline:v2/Result/pageStats/totalRequestBytes": total_request_bytes
+"/pagespeedonline:v2/Result/responseCode": response_code
+"/pagespeedonline:v2/Result/ruleGroups": rule_groups
+"/pagespeedonline:v2/Result/ruleGroups/rule_group": rule_group
+"/pagespeedonline:v2/Result/ruleGroups/rule_group/score": score
+"/pagespeedonline:v2/Result/screenshot": screenshot
+"/pagespeedonline:v2/Result/title": title
+"/pagespeedonline:v2/Result/version": version
+"/pagespeedonline:v2/Result/version/major": major
+"/pagespeedonline:v2/Result/version/minor": minor
+"/plus:v1/fields": fields
+"/plus:v1/key": key
+"/plus:v1/quotaUser": quota_user
+"/plus:v1/userIp": user_ip
+"/plus:v1/plus.activities.get": get_activity
+"/plus:v1/plus.activities.get/activityId": activity_id
+"/plus:v1/plus.activities.list": list_activities
+"/plus:v1/plus.activities.list/collection": collection
+"/plus:v1/plus.activities.list/maxResults": max_results
+"/plus:v1/plus.activities.list/pageToken": page_token
+"/plus:v1/plus.activities.list/userId": user_id
+"/plus:v1/plus.activities.search": search_activities
+"/plus:v1/plus.activities.search/language": language
+"/plus:v1/plus.activities.search/maxResults": max_results
+"/plus:v1/plus.activities.search/orderBy": order_by
+"/plus:v1/plus.activities.search/pageToken": page_token
+"/plus:v1/plus.activities.search/query": query
+"/plus:v1/plus.comments.get": get_comment
+"/plus:v1/plus.comments.get/commentId": comment_id
+"/plus:v1/plus.comments.list": list_comments
+"/plus:v1/plus.comments.list/activityId": activity_id
+"/plus:v1/plus.comments.list/maxResults": max_results
+"/plus:v1/plus.comments.list/pageToken": page_token
+"/plus:v1/plus.comments.list/sortOrder": sort_order
+"/plus:v1/plus.moments.insert": insert_moment
+"/plus:v1/plus.moments.insert/collection": collection
+"/plus:v1/plus.moments.insert/debug": debug
+"/plus:v1/plus.moments.insert/userId": user_id
+"/plus:v1/plus.moments.list": list_moments
+"/plus:v1/plus.moments.list/collection": collection
+"/plus:v1/plus.moments.list/maxResults": max_results
+"/plus:v1/plus.moments.list/pageToken": page_token
+"/plus:v1/plus.moments.list/targetUrl": target_url
+"/plus:v1/plus.moments.list/type": type
+"/plus:v1/plus.moments.list/userId": user_id
+"/plus:v1/plus.moments.remove": remove_moment
+"/plus:v1/plus.moments.remove/id": id
+"/plus:v1/plus.people.get": get_person
+"/plus:v1/plus.people.get/userId": user_id
+"/plus:v1/plus.people.list": list_people
+"/plus:v1/plus.people.list/collection": collection
+"/plus:v1/plus.people.list/maxResults": max_results
+"/plus:v1/plus.people.list/orderBy": order_by
+"/plus:v1/plus.people.list/pageToken": page_token
+"/plus:v1/plus.people.list/userId": user_id
+"/plus:v1/plus.people.listByActivity/activityId": activity_id
+"/plus:v1/plus.people.listByActivity/collection": collection
+"/plus:v1/plus.people.listByActivity/maxResults": max_results
+"/plus:v1/plus.people.listByActivity/pageToken": page_token
+"/plus:v1/plus.people.search": search_people
+"/plus:v1/plus.people.search/language": language
+"/plus:v1/plus.people.search/maxResults": max_results
+"/plus:v1/plus.people.search/pageToken": page_token
+"/plus:v1/plus.people.search/query": query
+"/plus:v1/Acl": acl
+"/plus:v1/Acl/description": description
+"/plus:v1/Acl/items": items
+"/plus:v1/Acl/items/item": item
+"/plus:v1/Acl/kind": kind
+"/plus:v1/Activity": activity
+"/plus:v1/Activity/access": access
+"/plus:v1/Activity/actor": actor
+"/plus:v1/Activity/actor/displayName": display_name
+"/plus:v1/Activity/actor/id": id
+"/plus:v1/Activity/actor/image": image
+"/plus:v1/Activity/actor/image/url": url
+"/plus:v1/Activity/actor/name": name
+"/plus:v1/Activity/actor/name/familyName": family_name
+"/plus:v1/Activity/actor/name/givenName": given_name
+"/plus:v1/Activity/actor/url": url
+"/plus:v1/Activity/address": address
+"/plus:v1/Activity/annotation": annotation
+"/plus:v1/Activity/crosspostSource": crosspost_source
+"/plus:v1/Activity/etag": etag
+"/plus:v1/Activity/geocode": geocode
+"/plus:v1/Activity/id": id
+"/plus:v1/Activity/kind": kind
+"/plus:v1/Activity/location": location
+"/plus:v1/Activity/object": object
+"/plus:v1/Activity/object/actor": actor
+"/plus:v1/Activity/object/actor/displayName": display_name
+"/plus:v1/Activity/object/actor/id": id
+"/plus:v1/Activity/object/actor/image": image
+"/plus:v1/Activity/object/actor/image/url": url
+"/plus:v1/Activity/object/actor/url": url
+"/plus:v1/Activity/object/attachments": attachments
+"/plus:v1/Activity/object/attachments/attachment": attachment
+"/plus:v1/Activity/object/attachments/attachment/content": content
+"/plus:v1/Activity/object/attachments/attachment/displayName": display_name
+"/plus:v1/Activity/object/attachments/attachment/embed": embed
+"/plus:v1/Activity/object/attachments/attachment/embed/type": type
+"/plus:v1/Activity/object/attachments/attachment/embed/url": url
+"/plus:v1/Activity/object/attachments/attachment/fullImage": full_image
+"/plus:v1/Activity/object/attachments/attachment/fullImage/height": height
+"/plus:v1/Activity/object/attachments/attachment/fullImage/type": type
+"/plus:v1/Activity/object/attachments/attachment/fullImage/url": url
+"/plus:v1/Activity/object/attachments/attachment/fullImage/width": width
+"/plus:v1/Activity/object/attachments/attachment/id": id
+"/plus:v1/Activity/object/attachments/attachment/image": image
+"/plus:v1/Activity/object/attachments/attachment/image/height": height
+"/plus:v1/Activity/object/attachments/attachment/image/type": type
+"/plus:v1/Activity/object/attachments/attachment/image/url": url
+"/plus:v1/Activity/object/attachments/attachment/image/width": width
+"/plus:v1/Activity/object/attachments/attachment/objectType": object_type
+"/plus:v1/Activity/object/attachments/attachment/thumbnails": thumbnails
+"/plus:v1/Activity/object/attachments/attachment/thumbnails/thumbnail": thumbnail
+"/plus:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/description": description
+"/plus:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/image": image
+"/plus:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/image/height": height
+"/plus:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/image/type": type
+"/plus:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/image/url": url
+"/plus:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/image/width": width
+"/plus:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/url": url
+"/plus:v1/Activity/object/attachments/attachment/url": url
+"/plus:v1/Activity/object/content": content
+"/plus:v1/Activity/object/id": id
+"/plus:v1/Activity/object/objectType": object_type
+"/plus:v1/Activity/object/originalContent": original_content
+"/plus:v1/Activity/object/plusoners": plusoners
+"/plus:v1/Activity/object/plusoners/selfLink": self_link
+"/plus:v1/Activity/object/plusoners/totalItems": total_items
+"/plus:v1/Activity/object/replies": replies
+"/plus:v1/Activity/object/replies/selfLink": self_link
+"/plus:v1/Activity/object/replies/totalItems": total_items
+"/plus:v1/Activity/object/resharers": resharers
+"/plus:v1/Activity/object/resharers/selfLink": self_link
+"/plus:v1/Activity/object/resharers/totalItems": total_items
+"/plus:v1/Activity/object/url": url
+"/plus:v1/Activity/placeId": place_id
+"/plus:v1/Activity/placeName": place_name
+"/plus:v1/Activity/provider": provider
+"/plus:v1/Activity/provider/title": title
+"/plus:v1/Activity/published": published
+"/plus:v1/Activity/radius": radius
+"/plus:v1/Activity/title": title
+"/plus:v1/Activity/updated": updated
+"/plus:v1/Activity/url": url
+"/plus:v1/Activity/verb": verb
+"/plus:v1/ActivityFeed": activity_feed
+"/plus:v1/ActivityFeed/etag": etag
+"/plus:v1/ActivityFeed/id": id
+"/plus:v1/ActivityFeed/items": items
+"/plus:v1/ActivityFeed/items/item": item
+"/plus:v1/ActivityFeed/kind": kind
+"/plus:v1/ActivityFeed/nextLink": next_link
+"/plus:v1/ActivityFeed/nextPageToken": next_page_token
+"/plus:v1/ActivityFeed/selfLink": self_link
+"/plus:v1/ActivityFeed/title": title
+"/plus:v1/ActivityFeed/updated": updated
+"/plus:v1/Comment": comment
+"/plus:v1/Comment/actor": actor
+"/plus:v1/Comment/actor/displayName": display_name
+"/plus:v1/Comment/actor/id": id
+"/plus:v1/Comment/actor/image": image
+"/plus:v1/Comment/actor/image/url": url
+"/plus:v1/Comment/actor/url": url
+"/plus:v1/Comment/etag": etag
+"/plus:v1/Comment/id": id
+"/plus:v1/Comment/inReplyTo": in_reply_to
+"/plus:v1/Comment/inReplyTo/in_reply_to": in_reply_to
+"/plus:v1/Comment/inReplyTo/in_reply_to/id": id
+"/plus:v1/Comment/inReplyTo/in_reply_to/url": url
+"/plus:v1/Comment/kind": kind
+"/plus:v1/Comment/object": object
+"/plus:v1/Comment/object/content": content
+"/plus:v1/Comment/object/objectType": object_type
+"/plus:v1/Comment/object/originalContent": original_content
+"/plus:v1/Comment/plusoners": plusoners
+"/plus:v1/Comment/plusoners/totalItems": total_items
+"/plus:v1/Comment/published": published
+"/plus:v1/Comment/selfLink": self_link
+"/plus:v1/Comment/updated": updated
+"/plus:v1/Comment/verb": verb
+"/plus:v1/CommentFeed": comment_feed
+"/plus:v1/CommentFeed/etag": etag
+"/plus:v1/CommentFeed/id": id
+"/plus:v1/CommentFeed/items": items
+"/plus:v1/CommentFeed/items/item": item
+"/plus:v1/CommentFeed/kind": kind
+"/plus:v1/CommentFeed/nextLink": next_link
+"/plus:v1/CommentFeed/nextPageToken": next_page_token
+"/plus:v1/CommentFeed/title": title
+"/plus:v1/CommentFeed/updated": updated
+"/plus:v1/ItemScope": item_scope
+"/plus:v1/ItemScope/about": about
+"/plus:v1/ItemScope/additionalName": additional_name
+"/plus:v1/ItemScope/additionalName/additional_name": additional_name
+"/plus:v1/ItemScope/address": address
+"/plus:v1/ItemScope/addressCountry": address_country
+"/plus:v1/ItemScope/addressLocality": address_locality
+"/plus:v1/ItemScope/addressRegion": address_region
+"/plus:v1/ItemScope/associated_media": associated_media
+"/plus:v1/ItemScope/associated_media/associated_medium": associated_medium
+"/plus:v1/ItemScope/attendeeCount": attendee_count
+"/plus:v1/ItemScope/attendees": attendees
+"/plus:v1/ItemScope/attendees/attendee": attendee
+"/plus:v1/ItemScope/audio": audio
+"/plus:v1/ItemScope/author": author
+"/plus:v1/ItemScope/author/author": author
+"/plus:v1/ItemScope/bestRating": best_rating
+"/plus:v1/ItemScope/birthDate": birth_date
+"/plus:v1/ItemScope/byArtist": by_artist
+"/plus:v1/ItemScope/caption": caption
+"/plus:v1/ItemScope/contentSize": content_size
+"/plus:v1/ItemScope/contentUrl": content_url
+"/plus:v1/ItemScope/contributor": contributor
+"/plus:v1/ItemScope/contributor/contributor": contributor
+"/plus:v1/ItemScope/dateCreated": date_created
+"/plus:v1/ItemScope/dateModified": date_modified
+"/plus:v1/ItemScope/datePublished": date_published
+"/plus:v1/ItemScope/description": description
+"/plus:v1/ItemScope/duration": duration
+"/plus:v1/ItemScope/embedUrl": embed_url
+"/plus:v1/ItemScope/endDate": end_date
+"/plus:v1/ItemScope/familyName": family_name
+"/plus:v1/ItemScope/gender": gender
+"/plus:v1/ItemScope/geo": geo
+"/plus:v1/ItemScope/givenName": given_name
+"/plus:v1/ItemScope/height": height
+"/plus:v1/ItemScope/id": id
+"/plus:v1/ItemScope/image": image
+"/plus:v1/ItemScope/inAlbum": in_album
+"/plus:v1/ItemScope/kind": kind
+"/plus:v1/ItemScope/latitude": latitude
+"/plus:v1/ItemScope/location": location
+"/plus:v1/ItemScope/longitude": longitude
+"/plus:v1/ItemScope/name": name
+"/plus:v1/ItemScope/partOfTVSeries": part_of_tv_series
+"/plus:v1/ItemScope/performers": performers
+"/plus:v1/ItemScope/performers/performer": performer
+"/plus:v1/ItemScope/playerType": player_type
+"/plus:v1/ItemScope/postOfficeBoxNumber": post_office_box_number
+"/plus:v1/ItemScope/postalCode": postal_code
+"/plus:v1/ItemScope/ratingValue": rating_value
+"/plus:v1/ItemScope/reviewRating": review_rating
+"/plus:v1/ItemScope/startDate": start_date
+"/plus:v1/ItemScope/streetAddress": street_address
+"/plus:v1/ItemScope/text": text
+"/plus:v1/ItemScope/thumbnail": thumbnail
+"/plus:v1/ItemScope/thumbnailUrl": thumbnail_url
+"/plus:v1/ItemScope/tickerSymbol": ticker_symbol
+"/plus:v1/ItemScope/type": type
+"/plus:v1/ItemScope/url": url
+"/plus:v1/ItemScope/width": width
+"/plus:v1/ItemScope/worstRating": worst_rating
+"/plus:v1/Moment": moment
+"/plus:v1/Moment/id": id
+"/plus:v1/Moment/kind": kind
+"/plus:v1/Moment/object": object
+"/plus:v1/Moment/result": result
+"/plus:v1/Moment/startDate": start_date
+"/plus:v1/Moment/target": target
+"/plus:v1/Moment/type": type
+"/plus:v1/MomentsFeed": moments_feed
+"/plus:v1/MomentsFeed/etag": etag
+"/plus:v1/MomentsFeed/items": items
+"/plus:v1/MomentsFeed/items/item": item
+"/plus:v1/MomentsFeed/kind": kind
+"/plus:v1/MomentsFeed/nextLink": next_link
+"/plus:v1/MomentsFeed/nextPageToken": next_page_token
+"/plus:v1/MomentsFeed/selfLink": self_link
+"/plus:v1/MomentsFeed/title": title
+"/plus:v1/MomentsFeed/updated": updated
+"/plus:v1/PeopleFeed": people_feed
+"/plus:v1/PeopleFeed/etag": etag
+"/plus:v1/PeopleFeed/items": items
+"/plus:v1/PeopleFeed/items/item": item
+"/plus:v1/PeopleFeed/kind": kind
+"/plus:v1/PeopleFeed/nextPageToken": next_page_token
+"/plus:v1/PeopleFeed/selfLink": self_link
+"/plus:v1/PeopleFeed/title": title
+"/plus:v1/PeopleFeed/totalItems": total_items
+"/plus:v1/Person": person
+"/plus:v1/Person/aboutMe": about_me
+"/plus:v1/Person/ageRange": age_range
+"/plus:v1/Person/ageRange/max": max
+"/plus:v1/Person/ageRange/min": min
+"/plus:v1/Person/birthday": birthday
+"/plus:v1/Person/braggingRights": bragging_rights
+"/plus:v1/Person/circledByCount": circled_by_count
+"/plus:v1/Person/cover": cover
+"/plus:v1/Person/cover/coverInfo": cover_info
+"/plus:v1/Person/cover/coverInfo/leftImageOffset": left_image_offset
+"/plus:v1/Person/cover/coverInfo/topImageOffset": top_image_offset
+"/plus:v1/Person/cover/coverPhoto": cover_photo
+"/plus:v1/Person/cover/coverPhoto/height": height
+"/plus:v1/Person/cover/coverPhoto/url": url
+"/plus:v1/Person/cover/coverPhoto/width": width
+"/plus:v1/Person/cover/layout": layout
+"/plus:v1/Person/currentLocation": current_location
+"/plus:v1/Person/displayName": display_name
+"/plus:v1/Person/domain": domain
+"/plus:v1/Person/emails": emails
+"/plus:v1/Person/emails/email": email
+"/plus:v1/Person/emails/email/type": type
+"/plus:v1/Person/emails/email/value": value
+"/plus:v1/Person/etag": etag
+"/plus:v1/Person/gender": gender
+"/plus:v1/Person/id": id
+"/plus:v1/Person/image": image
+"/plus:v1/Person/image/isDefault": is_default
+"/plus:v1/Person/image/url": url
+"/plus:v1/Person/isPlusUser": is_plus_user
+"/plus:v1/Person/kind": kind
+"/plus:v1/Person/language": language
+"/plus:v1/Person/name": name
+"/plus:v1/Person/name/familyName": family_name
+"/plus:v1/Person/name/formatted": formatted
+"/plus:v1/Person/name/givenName": given_name
+"/plus:v1/Person/name/honorificPrefix": honorific_prefix
+"/plus:v1/Person/name/honorificSuffix": honorific_suffix
+"/plus:v1/Person/name/middleName": middle_name
+"/plus:v1/Person/nickname": nickname
+"/plus:v1/Person/objectType": object_type
+"/plus:v1/Person/occupation": occupation
+"/plus:v1/Person/organizations": organizations
+"/plus:v1/Person/organizations/organization": organization
+"/plus:v1/Person/organizations/organization/department": department
+"/plus:v1/Person/organizations/organization/description": description
+"/plus:v1/Person/organizations/organization/endDate": end_date
+"/plus:v1/Person/organizations/organization/location": location
+"/plus:v1/Person/organizations/organization/name": name
+"/plus:v1/Person/organizations/organization/primary": primary
+"/plus:v1/Person/organizations/organization/startDate": start_date
+"/plus:v1/Person/organizations/organization/title": title
+"/plus:v1/Person/organizations/organization/type": type
+"/plus:v1/Person/placesLived": places_lived
+"/plus:v1/Person/placesLived/places_lived": places_lived
+"/plus:v1/Person/placesLived/places_lived/primary": primary
+"/plus:v1/Person/placesLived/places_lived/value": value
+"/plus:v1/Person/plusOneCount": plus_one_count
+"/plus:v1/Person/relationshipStatus": relationship_status
+"/plus:v1/Person/skills": skills
+"/plus:v1/Person/tagline": tagline
+"/plus:v1/Person/url": url
+"/plus:v1/Person/urls": urls
+"/plus:v1/Person/urls/url": url
+"/plus:v1/Person/urls/url/label": label
+"/plus:v1/Person/urls/url/type": type
+"/plus:v1/Person/urls/url/value": value
+"/plus:v1/Person/verified": verified
+"/plus:v1/Place": place
+"/plus:v1/Place/address": address
+"/plus:v1/Place/address/formatted": formatted
+"/plus:v1/Place/displayName": display_name
+"/plus:v1/Place/id": id
+"/plus:v1/Place/kind": kind
+"/plus:v1/Place/position": position
+"/plus:v1/Place/position/latitude": latitude
+"/plus:v1/Place/position/longitude": longitude
+"/plus:v1/PlusAclentryResource": plus_aclentry_resource
+"/plus:v1/PlusAclentryResource/displayName": display_name
+"/plus:v1/PlusAclentryResource/id": id
+"/plus:v1/PlusAclentryResource/type": type
+"/plusDomains:v1/fields": fields
+"/plusDomains:v1/key": key
+"/plusDomains:v1/quotaUser": quota_user
+"/plusDomains:v1/userIp": user_ip
+"/plusDomains:v1/plusDomains.activities.get": get_activity
+"/plusDomains:v1/plusDomains.activities.get/activityId": activity_id
+"/plusDomains:v1/plusDomains.activities.insert": insert_activity
+"/plusDomains:v1/plusDomains.activities.insert/preview": preview
+"/plusDomains:v1/plusDomains.activities.insert/userId": user_id
+"/plusDomains:v1/plusDomains.activities.list": list_activities
+"/plusDomains:v1/plusDomains.activities.list/collection": collection
+"/plusDomains:v1/plusDomains.activities.list/maxResults": max_results
+"/plusDomains:v1/plusDomains.activities.list/pageToken": page_token
+"/plusDomains:v1/plusDomains.activities.list/userId": user_id
+"/plusDomains:v1/plusDomains.audiences.list": list_audiences
+"/plusDomains:v1/plusDomains.audiences.list/maxResults": max_results
+"/plusDomains:v1/plusDomains.audiences.list/pageToken": page_token
+"/plusDomains:v1/plusDomains.audiences.list/userId": user_id
+"/plusDomains:v1/plusDomains.circles.addPeople/circleId": circle_id
+"/plusDomains:v1/plusDomains.circles.addPeople/email": email
+"/plusDomains:v1/plusDomains.circles.addPeople/userId": user_id
+"/plusDomains:v1/plusDomains.circles.get": get_circle
+"/plusDomains:v1/plusDomains.circles.get/circleId": circle_id
+"/plusDomains:v1/plusDomains.circles.insert": insert_circle
+"/plusDomains:v1/plusDomains.circles.insert/userId": user_id
+"/plusDomains:v1/plusDomains.circles.list": list_circles
+"/plusDomains:v1/plusDomains.circles.list/maxResults": max_results
+"/plusDomains:v1/plusDomains.circles.list/pageToken": page_token
+"/plusDomains:v1/plusDomains.circles.list/userId": user_id
+"/plusDomains:v1/plusDomains.circles.patch": patch_circle
+"/plusDomains:v1/plusDomains.circles.patch/circleId": circle_id
+"/plusDomains:v1/plusDomains.circles.remove": remove_circle
+"/plusDomains:v1/plusDomains.circles.remove/circleId": circle_id
+"/plusDomains:v1/plusDomains.circles.removePeople/circleId": circle_id
+"/plusDomains:v1/plusDomains.circles.removePeople/email": email
+"/plusDomains:v1/plusDomains.circles.removePeople/userId": user_id
+"/plusDomains:v1/plusDomains.circles.update": update_circle
+"/plusDomains:v1/plusDomains.circles.update/circleId": circle_id
+"/plusDomains:v1/plusDomains.comments.get": get_comment
+"/plusDomains:v1/plusDomains.comments.get/commentId": comment_id
+"/plusDomains:v1/plusDomains.comments.insert": insert_comment
+"/plusDomains:v1/plusDomains.comments.insert/activityId": activity_id
+"/plusDomains:v1/plusDomains.comments.list": list_comments
+"/plusDomains:v1/plusDomains.comments.list/activityId": activity_id
+"/plusDomains:v1/plusDomains.comments.list/maxResults": max_results
+"/plusDomains:v1/plusDomains.comments.list/pageToken": page_token
+"/plusDomains:v1/plusDomains.comments.list/sortOrder": sort_order
+"/plusDomains:v1/plusDomains.media.insert": insert_medium
+"/plusDomains:v1/plusDomains.media.insert/collection": collection
+"/plusDomains:v1/plusDomains.media.insert/userId": user_id
+"/plusDomains:v1/plusDomains.people.get": get_person
+"/plusDomains:v1/plusDomains.people.get/userId": user_id
+"/plusDomains:v1/plusDomains.people.list": list_people
+"/plusDomains:v1/plusDomains.people.list/collection": collection
+"/plusDomains:v1/plusDomains.people.list/maxResults": max_results
+"/plusDomains:v1/plusDomains.people.list/orderBy": order_by
+"/plusDomains:v1/plusDomains.people.list/pageToken": page_token
+"/plusDomains:v1/plusDomains.people.list/userId": user_id
+"/plusDomains:v1/plusDomains.people.listByActivity/activityId": activity_id
+"/plusDomains:v1/plusDomains.people.listByActivity/collection": collection
+"/plusDomains:v1/plusDomains.people.listByActivity/maxResults": max_results
+"/plusDomains:v1/plusDomains.people.listByActivity/pageToken": page_token
+"/plusDomains:v1/plusDomains.people.listByCircle/circleId": circle_id
+"/plusDomains:v1/plusDomains.people.listByCircle/maxResults": max_results
+"/plusDomains:v1/plusDomains.people.listByCircle/pageToken": page_token
+"/plusDomains:v1/Acl": acl
+"/plusDomains:v1/Acl/description": description
+"/plusDomains:v1/Acl/domainRestricted": domain_restricted
+"/plusDomains:v1/Acl/items": items
+"/plusDomains:v1/Acl/items/item": item
+"/plusDomains:v1/Acl/kind": kind
+"/plusDomains:v1/Activity": activity
+"/plusDomains:v1/Activity/access": access
+"/plusDomains:v1/Activity/actor": actor
+"/plusDomains:v1/Activity/actor/displayName": display_name
+"/plusDomains:v1/Activity/actor/id": id
+"/plusDomains:v1/Activity/actor/image": image
+"/plusDomains:v1/Activity/actor/image/url": url
+"/plusDomains:v1/Activity/actor/name": name
+"/plusDomains:v1/Activity/actor/name/familyName": family_name
+"/plusDomains:v1/Activity/actor/name/givenName": given_name
+"/plusDomains:v1/Activity/actor/url": url
+"/plusDomains:v1/Activity/address": address
+"/plusDomains:v1/Activity/annotation": annotation
+"/plusDomains:v1/Activity/crosspostSource": crosspost_source
+"/plusDomains:v1/Activity/etag": etag
+"/plusDomains:v1/Activity/geocode": geocode
+"/plusDomains:v1/Activity/id": id
+"/plusDomains:v1/Activity/kind": kind
+"/plusDomains:v1/Activity/location": location
+"/plusDomains:v1/Activity/object": object
+"/plusDomains:v1/Activity/object/actor": actor
+"/plusDomains:v1/Activity/object/actor/displayName": display_name
+"/plusDomains:v1/Activity/object/actor/id": id
+"/plusDomains:v1/Activity/object/actor/image": image
+"/plusDomains:v1/Activity/object/actor/image/url": url
+"/plusDomains:v1/Activity/object/actor/url": url
+"/plusDomains:v1/Activity/object/attachments": attachments
+"/plusDomains:v1/Activity/object/attachments/attachment": attachment
+"/plusDomains:v1/Activity/object/attachments/attachment/content": content
+"/plusDomains:v1/Activity/object/attachments/attachment/displayName": display_name
+"/plusDomains:v1/Activity/object/attachments/attachment/embed": embed
+"/plusDomains:v1/Activity/object/attachments/attachment/embed/type": type
+"/plusDomains:v1/Activity/object/attachments/attachment/embed/url": url
+"/plusDomains:v1/Activity/object/attachments/attachment/fullImage": full_image
+"/plusDomains:v1/Activity/object/attachments/attachment/fullImage/height": height
+"/plusDomains:v1/Activity/object/attachments/attachment/fullImage/type": type
+"/plusDomains:v1/Activity/object/attachments/attachment/fullImage/url": url
+"/plusDomains:v1/Activity/object/attachments/attachment/fullImage/width": width
+"/plusDomains:v1/Activity/object/attachments/attachment/id": id
+"/plusDomains:v1/Activity/object/attachments/attachment/image": image
+"/plusDomains:v1/Activity/object/attachments/attachment/image/height": height
+"/plusDomains:v1/Activity/object/attachments/attachment/image/type": type
+"/plusDomains:v1/Activity/object/attachments/attachment/image/url": url
+"/plusDomains:v1/Activity/object/attachments/attachment/image/width": width
+"/plusDomains:v1/Activity/object/attachments/attachment/objectType": object_type
+"/plusDomains:v1/Activity/object/attachments/attachment/previewThumbnails": preview_thumbnails
+"/plusDomains:v1/Activity/object/attachments/attachment/previewThumbnails/preview_thumbnail": preview_thumbnail
+"/plusDomains:v1/Activity/object/attachments/attachment/previewThumbnails/preview_thumbnail/url": url
+"/plusDomains:v1/Activity/object/attachments/attachment/thumbnails": thumbnails
+"/plusDomains:v1/Activity/object/attachments/attachment/thumbnails/thumbnail": thumbnail
+"/plusDomains:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/description": description
+"/plusDomains:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/image": image
+"/plusDomains:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/image/height": height
+"/plusDomains:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/image/type": type
+"/plusDomains:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/image/url": url
+"/plusDomains:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/image/width": width
+"/plusDomains:v1/Activity/object/attachments/attachment/thumbnails/thumbnail/url": url
+"/plusDomains:v1/Activity/object/attachments/attachment/url": url
+"/plusDomains:v1/Activity/object/content": content
+"/plusDomains:v1/Activity/object/id": id
+"/plusDomains:v1/Activity/object/objectType": object_type
+"/plusDomains:v1/Activity/object/originalContent": original_content
+"/plusDomains:v1/Activity/object/plusoners": plusoners
+"/plusDomains:v1/Activity/object/plusoners/selfLink": self_link
+"/plusDomains:v1/Activity/object/plusoners/totalItems": total_items
+"/plusDomains:v1/Activity/object/replies": replies
+"/plusDomains:v1/Activity/object/replies/selfLink": self_link
+"/plusDomains:v1/Activity/object/replies/totalItems": total_items
+"/plusDomains:v1/Activity/object/resharers": resharers
+"/plusDomains:v1/Activity/object/resharers/selfLink": self_link
+"/plusDomains:v1/Activity/object/resharers/totalItems": total_items
+"/plusDomains:v1/Activity/object/statusForViewer": status_for_viewer
+"/plusDomains:v1/Activity/object/statusForViewer/canComment": can_comment
+"/plusDomains:v1/Activity/object/statusForViewer/canPlusone": can_plusone
+"/plusDomains:v1/Activity/object/statusForViewer/canUpdate": can_update
+"/plusDomains:v1/Activity/object/statusForViewer/isPlusOned": is_plus_oned
+"/plusDomains:v1/Activity/object/statusForViewer/resharingDisabled": resharing_disabled
+"/plusDomains:v1/Activity/object/url": url
+"/plusDomains:v1/Activity/placeId": place_id
+"/plusDomains:v1/Activity/placeName": place_name
+"/plusDomains:v1/Activity/provider": provider
+"/plusDomains:v1/Activity/provider/title": title
+"/plusDomains:v1/Activity/published": published
+"/plusDomains:v1/Activity/radius": radius
+"/plusDomains:v1/Activity/title": title
+"/plusDomains:v1/Activity/updated": updated
+"/plusDomains:v1/Activity/url": url
+"/plusDomains:v1/Activity/verb": verb
+"/plusDomains:v1/ActivityFeed": activity_feed
+"/plusDomains:v1/ActivityFeed/etag": etag
+"/plusDomains:v1/ActivityFeed/id": id
+"/plusDomains:v1/ActivityFeed/items": items
+"/plusDomains:v1/ActivityFeed/items/item": item
+"/plusDomains:v1/ActivityFeed/kind": kind
+"/plusDomains:v1/ActivityFeed/nextLink": next_link
+"/plusDomains:v1/ActivityFeed/nextPageToken": next_page_token
+"/plusDomains:v1/ActivityFeed/selfLink": self_link
+"/plusDomains:v1/ActivityFeed/title": title
+"/plusDomains:v1/ActivityFeed/updated": updated
+"/plusDomains:v1/Audience": audience
+"/plusDomains:v1/Audience/etag": etag
+"/plusDomains:v1/Audience/item": item
+"/plusDomains:v1/Audience/kind": kind
+"/plusDomains:v1/Audience/memberCount": member_count
+"/plusDomains:v1/Audience/visibility": visibility
+"/plusDomains:v1/AudiencesFeed": audiences_feed
+"/plusDomains:v1/AudiencesFeed/etag": etag
+"/plusDomains:v1/AudiencesFeed/items": items
+"/plusDomains:v1/AudiencesFeed/items/item": item
+"/plusDomains:v1/AudiencesFeed/kind": kind
+"/plusDomains:v1/AudiencesFeed/nextPageToken": next_page_token
+"/plusDomains:v1/AudiencesFeed/totalItems": total_items
+"/plusDomains:v1/Circle": circle
+"/plusDomains:v1/Circle/description": description
+"/plusDomains:v1/Circle/displayName": display_name
+"/plusDomains:v1/Circle/etag": etag
+"/plusDomains:v1/Circle/id": id
+"/plusDomains:v1/Circle/kind": kind
+"/plusDomains:v1/Circle/people": people
+"/plusDomains:v1/Circle/people/totalItems": total_items
+"/plusDomains:v1/Circle/selfLink": self_link
+"/plusDomains:v1/CircleFeed": circle_feed
+"/plusDomains:v1/CircleFeed/etag": etag
+"/plusDomains:v1/CircleFeed/items": items
+"/plusDomains:v1/CircleFeed/items/item": item
+"/plusDomains:v1/CircleFeed/kind": kind
+"/plusDomains:v1/CircleFeed/nextLink": next_link
+"/plusDomains:v1/CircleFeed/nextPageToken": next_page_token
+"/plusDomains:v1/CircleFeed/selfLink": self_link
+"/plusDomains:v1/CircleFeed/title": title
+"/plusDomains:v1/CircleFeed/totalItems": total_items
+"/plusDomains:v1/Comment": comment
+"/plusDomains:v1/Comment/actor": actor
+"/plusDomains:v1/Comment/actor/displayName": display_name
+"/plusDomains:v1/Comment/actor/id": id
+"/plusDomains:v1/Comment/actor/image": image
+"/plusDomains:v1/Comment/actor/image/url": url
+"/plusDomains:v1/Comment/actor/url": url
+"/plusDomains:v1/Comment/etag": etag
+"/plusDomains:v1/Comment/id": id
+"/plusDomains:v1/Comment/inReplyTo": in_reply_to
+"/plusDomains:v1/Comment/inReplyTo/in_reply_to": in_reply_to
+"/plusDomains:v1/Comment/inReplyTo/in_reply_to/id": id
+"/plusDomains:v1/Comment/inReplyTo/in_reply_to/url": url
+"/plusDomains:v1/Comment/kind": kind
+"/plusDomains:v1/Comment/object": object
+"/plusDomains:v1/Comment/object/content": content
+"/plusDomains:v1/Comment/object/objectType": object_type
+"/plusDomains:v1/Comment/object/originalContent": original_content
+"/plusDomains:v1/Comment/plusoners": plusoners
+"/plusDomains:v1/Comment/plusoners/totalItems": total_items
+"/plusDomains:v1/Comment/published": published
+"/plusDomains:v1/Comment/selfLink": self_link
+"/plusDomains:v1/Comment/updated": updated
+"/plusDomains:v1/Comment/verb": verb
+"/plusDomains:v1/CommentFeed": comment_feed
+"/plusDomains:v1/CommentFeed/etag": etag
+"/plusDomains:v1/CommentFeed/id": id
+"/plusDomains:v1/CommentFeed/items": items
+"/plusDomains:v1/CommentFeed/items/item": item
+"/plusDomains:v1/CommentFeed/kind": kind
+"/plusDomains:v1/CommentFeed/nextLink": next_link
+"/plusDomains:v1/CommentFeed/nextPageToken": next_page_token
+"/plusDomains:v1/CommentFeed/title": title
+"/plusDomains:v1/CommentFeed/updated": updated
+"/plusDomains:v1/Media": media
+"/plusDomains:v1/Media/author": author
+"/plusDomains:v1/Media/author/displayName": display_name
+"/plusDomains:v1/Media/author/id": id
+"/plusDomains:v1/Media/author/image": image
+"/plusDomains:v1/Media/author/image/url": url
+"/plusDomains:v1/Media/author/url": url
+"/plusDomains:v1/Media/displayName": display_name
+"/plusDomains:v1/Media/etag": etag
+"/plusDomains:v1/Media/exif": exif
+"/plusDomains:v1/Media/exif/time": time
+"/plusDomains:v1/Media/height": height
+"/plusDomains:v1/Media/id": id
+"/plusDomains:v1/Media/kind": kind
+"/plusDomains:v1/Media/mediaCreatedTime": media_created_time
+"/plusDomains:v1/Media/mediaUrl": media_url
+"/plusDomains:v1/Media/published": published
+"/plusDomains:v1/Media/sizeBytes": size_bytes
+"/plusDomains:v1/Media/streams": streams
+"/plusDomains:v1/Media/streams/stream": stream
+"/plusDomains:v1/Media/summary": summary
+"/plusDomains:v1/Media/updated": updated
+"/plusDomains:v1/Media/url": url
+"/plusDomains:v1/Media/videoDuration": video_duration
+"/plusDomains:v1/Media/videoStatus": video_status
+"/plusDomains:v1/Media/width": width
+"/plusDomains:v1/PeopleFeed": people_feed
+"/plusDomains:v1/PeopleFeed/etag": etag
+"/plusDomains:v1/PeopleFeed/items": items
+"/plusDomains:v1/PeopleFeed/items/item": item
+"/plusDomains:v1/PeopleFeed/kind": kind
+"/plusDomains:v1/PeopleFeed/nextPageToken": next_page_token
+"/plusDomains:v1/PeopleFeed/selfLink": self_link
+"/plusDomains:v1/PeopleFeed/title": title
+"/plusDomains:v1/PeopleFeed/totalItems": total_items
+"/plusDomains:v1/Person": person
+"/plusDomains:v1/Person/aboutMe": about_me
+"/plusDomains:v1/Person/birthday": birthday
+"/plusDomains:v1/Person/braggingRights": bragging_rights
+"/plusDomains:v1/Person/circledByCount": circled_by_count
+"/plusDomains:v1/Person/cover": cover
+"/plusDomains:v1/Person/cover/coverInfo": cover_info
+"/plusDomains:v1/Person/cover/coverInfo/leftImageOffset": left_image_offset
+"/plusDomains:v1/Person/cover/coverInfo/topImageOffset": top_image_offset
+"/plusDomains:v1/Person/cover/coverPhoto": cover_photo
+"/plusDomains:v1/Person/cover/coverPhoto/height": height
+"/plusDomains:v1/Person/cover/coverPhoto/url": url
+"/plusDomains:v1/Person/cover/coverPhoto/width": width
+"/plusDomains:v1/Person/cover/layout": layout
+"/plusDomains:v1/Person/currentLocation": current_location
+"/plusDomains:v1/Person/displayName": display_name
+"/plusDomains:v1/Person/domain": domain
+"/plusDomains:v1/Person/emails": emails
+"/plusDomains:v1/Person/emails/email": email
+"/plusDomains:v1/Person/emails/email/type": type
+"/plusDomains:v1/Person/emails/email/value": value
+"/plusDomains:v1/Person/etag": etag
+"/plusDomains:v1/Person/gender": gender
+"/plusDomains:v1/Person/id": id
+"/plusDomains:v1/Person/image": image
+"/plusDomains:v1/Person/image/isDefault": is_default
+"/plusDomains:v1/Person/image/url": url
+"/plusDomains:v1/Person/isPlusUser": is_plus_user
+"/plusDomains:v1/Person/kind": kind
+"/plusDomains:v1/Person/name": name
+"/plusDomains:v1/Person/name/familyName": family_name
+"/plusDomains:v1/Person/name/formatted": formatted
+"/plusDomains:v1/Person/name/givenName": given_name
+"/plusDomains:v1/Person/name/honorificPrefix": honorific_prefix
+"/plusDomains:v1/Person/name/honorificSuffix": honorific_suffix
+"/plusDomains:v1/Person/name/middleName": middle_name
+"/plusDomains:v1/Person/nickname": nickname
+"/plusDomains:v1/Person/objectType": object_type
+"/plusDomains:v1/Person/occupation": occupation
+"/plusDomains:v1/Person/organizations": organizations
+"/plusDomains:v1/Person/organizations/organization": organization
+"/plusDomains:v1/Person/organizations/organization/department": department
+"/plusDomains:v1/Person/organizations/organization/description": description
+"/plusDomains:v1/Person/organizations/organization/endDate": end_date
+"/plusDomains:v1/Person/organizations/organization/location": location
+"/plusDomains:v1/Person/organizations/organization/name": name
+"/plusDomains:v1/Person/organizations/organization/primary": primary
+"/plusDomains:v1/Person/organizations/organization/startDate": start_date
+"/plusDomains:v1/Person/organizations/organization/title": title
+"/plusDomains:v1/Person/organizations/organization/type": type
+"/plusDomains:v1/Person/placesLived": places_lived
+"/plusDomains:v1/Person/placesLived/places_lived": places_lived
+"/plusDomains:v1/Person/placesLived/places_lived/primary": primary
+"/plusDomains:v1/Person/placesLived/places_lived/value": value
+"/plusDomains:v1/Person/plusOneCount": plus_one_count
+"/plusDomains:v1/Person/relationshipStatus": relationship_status
+"/plusDomains:v1/Person/skills": skills
+"/plusDomains:v1/Person/tagline": tagline
+"/plusDomains:v1/Person/url": url
+"/plusDomains:v1/Person/urls": urls
+"/plusDomains:v1/Person/urls/url": url
+"/plusDomains:v1/Person/urls/url/label": label
+"/plusDomains:v1/Person/urls/url/type": type
+"/plusDomains:v1/Person/urls/url/value": value
+"/plusDomains:v1/Person/verified": verified
+"/plusDomains:v1/Place": place
+"/plusDomains:v1/Place/address": address
+"/plusDomains:v1/Place/address/formatted": formatted
+"/plusDomains:v1/Place/displayName": display_name
+"/plusDomains:v1/Place/id": id
+"/plusDomains:v1/Place/kind": kind
+"/plusDomains:v1/Place/position": position
+"/plusDomains:v1/Place/position/latitude": latitude
+"/plusDomains:v1/Place/position/longitude": longitude
+"/plusDomains:v1/PlusDomainsAclentryResource": plus_domains_aclentry_resource
+"/plusDomains:v1/PlusDomainsAclentryResource/displayName": display_name
+"/plusDomains:v1/PlusDomainsAclentryResource/id": id
+"/plusDomains:v1/PlusDomainsAclentryResource/type": type
+"/plusDomains:v1/Videostream": videostream
+"/plusDomains:v1/Videostream/height": height
+"/plusDomains:v1/Videostream/type": type
+"/plusDomains:v1/Videostream/url": url
+"/plusDomains:v1/Videostream/width": width
+"/prediction:v1.6/fields": fields
+"/prediction:v1.6/key": key
+"/prediction:v1.6/quotaUser": quota_user
+"/prediction:v1.6/userIp": user_ip
+"/prediction:v1.6/prediction.hostedmodels.predict/hostedModelName": hosted_model_name
+"/prediction:v1.6/prediction.hostedmodels.predict/project": project
+"/prediction:v1.6/prediction.trainedmodels.analyze/id": id
+"/prediction:v1.6/prediction.trainedmodels.analyze/project": project
+"/prediction:v1.6/prediction.trainedmodels.delete/id": id
+"/prediction:v1.6/prediction.trainedmodels.delete/project": project
+"/prediction:v1.6/prediction.trainedmodels.get/id": id
+"/prediction:v1.6/prediction.trainedmodels.get/project": project
+"/prediction:v1.6/prediction.trainedmodels.insert/project": project
+"/prediction:v1.6/prediction.trainedmodels.list/maxResults": max_results
+"/prediction:v1.6/prediction.trainedmodels.list/pageToken": page_token
+"/prediction:v1.6/prediction.trainedmodels.list/project": project
+"/prediction:v1.6/prediction.trainedmodels.predict/id": id
+"/prediction:v1.6/prediction.trainedmodels.predict/project": project
+"/prediction:v1.6/prediction.trainedmodels.update/id": id
+"/prediction:v1.6/prediction.trainedmodels.update/project": project
+"/prediction:v1.6/Analyze": analyze
+"/prediction:v1.6/Analyze/dataDescription": data_description
+"/prediction:v1.6/Analyze/dataDescription/features": features
+"/prediction:v1.6/Analyze/dataDescription/features/feature": feature
+"/prediction:v1.6/Analyze/dataDescription/features/feature/categorical": categorical
+"/prediction:v1.6/Analyze/dataDescription/features/feature/categorical/count": count
+"/prediction:v1.6/Analyze/dataDescription/features/feature/categorical/values": values
+"/prediction:v1.6/Analyze/dataDescription/features/feature/categorical/values/value": value
+"/prediction:v1.6/Analyze/dataDescription/features/feature/categorical/values/value/count": count
+"/prediction:v1.6/Analyze/dataDescription/features/feature/categorical/values/value/value": value
+"/prediction:v1.6/Analyze/dataDescription/features/feature/index": index
+"/prediction:v1.6/Analyze/dataDescription/features/feature/numeric": numeric
+"/prediction:v1.6/Analyze/dataDescription/features/feature/numeric/count": count
+"/prediction:v1.6/Analyze/dataDescription/features/feature/numeric/mean": mean
+"/prediction:v1.6/Analyze/dataDescription/features/feature/numeric/variance": variance
+"/prediction:v1.6/Analyze/dataDescription/features/feature/text": text
+"/prediction:v1.6/Analyze/dataDescription/features/feature/text/count": count
+"/prediction:v1.6/Analyze/dataDescription/outputFeature": output_feature
+"/prediction:v1.6/Analyze/dataDescription/outputFeature/numeric": numeric
+"/prediction:v1.6/Analyze/dataDescription/outputFeature/numeric/count": count
+"/prediction:v1.6/Analyze/dataDescription/outputFeature/numeric/mean": mean
+"/prediction:v1.6/Analyze/dataDescription/outputFeature/numeric/variance": variance
+"/prediction:v1.6/Analyze/dataDescription/outputFeature/text": text
+"/prediction:v1.6/Analyze/dataDescription/outputFeature/text/text": text
+"/prediction:v1.6/Analyze/dataDescription/outputFeature/text/text/count": count
+"/prediction:v1.6/Analyze/dataDescription/outputFeature/text/text/value": value
+"/prediction:v1.6/Analyze/errors": errors
+"/prediction:v1.6/Analyze/errors/error": error
+"/prediction:v1.6/Analyze/errors/error/error": error
+"/prediction:v1.6/Analyze/id": id
+"/prediction:v1.6/Analyze/kind": kind
+"/prediction:v1.6/Analyze/modelDescription": model_description
+"/prediction:v1.6/Analyze/modelDescription/confusionMatrix": confusion_matrix
+"/prediction:v1.6/Analyze/modelDescription/confusionMatrix/confusion_matrix": confusion_matrix
+"/prediction:v1.6/Analyze/modelDescription/confusionMatrix/confusion_matrix/confusion_matrix": confusion_matrix
+"/prediction:v1.6/Analyze/modelDescription/confusionMatrixRowTotals": confusion_matrix_row_totals
+"/prediction:v1.6/Analyze/modelDescription/confusionMatrixRowTotals/confusion_matrix_row_total": confusion_matrix_row_total
+"/prediction:v1.6/Analyze/modelDescription/modelinfo": modelinfo
+"/prediction:v1.6/Analyze/selfLink": self_link
+"/prediction:v1.6/Input": input
+"/prediction:v1.6/Input/input": input
+"/prediction:v1.6/Input/input/csvInstance": csv_instance
+"/prediction:v1.6/Input/input/csvInstance/csv_instance": csv_instance
+"/prediction:v1.6/Insert": insert
+"/prediction:v1.6/Insert/id": id
+"/prediction:v1.6/Insert/modelType": model_type
+"/prediction:v1.6/Insert/sourceModel": source_model
+"/prediction:v1.6/Insert/storageDataLocation": storage_data_location
+"/prediction:v1.6/Insert/storagePMMLLocation": storage_pmml_location
+"/prediction:v1.6/Insert/storagePMMLModelLocation": storage_pmml_model_location
+"/prediction:v1.6/Insert/trainingInstances": training_instances
+"/prediction:v1.6/Insert/trainingInstances/training_instance": training_instance
+"/prediction:v1.6/Insert/trainingInstances/training_instance/csvInstance": csv_instance
+"/prediction:v1.6/Insert/trainingInstances/training_instance/csvInstance/csv_instance": csv_instance
+"/prediction:v1.6/Insert/trainingInstances/training_instance/output": output
+"/prediction:v1.6/Insert/utility": utility
+"/prediction:v1.6/Insert/utility/utility": utility
+"/prediction:v1.6/Insert/utility/utility/utility": utility
+"/prediction:v1.6/Insert2": insert2
+"/prediction:v1.6/Insert2/created": created
+"/prediction:v1.6/Insert2/id": id
+"/prediction:v1.6/Insert2/kind": kind
+"/prediction:v1.6/Insert2/modelInfo": model_info
+"/prediction:v1.6/Insert2/modelInfo/classWeightedAccuracy": class_weighted_accuracy
+"/prediction:v1.6/Insert2/modelInfo/classificationAccuracy": classification_accuracy
+"/prediction:v1.6/Insert2/modelInfo/meanSquaredError": mean_squared_error
+"/prediction:v1.6/Insert2/modelInfo/modelType": model_type
+"/prediction:v1.6/Insert2/modelInfo/numberInstances": number_instances
+"/prediction:v1.6/Insert2/modelInfo/numberLabels": number_labels
+"/prediction:v1.6/Insert2/modelType": model_type
+"/prediction:v1.6/Insert2/selfLink": self_link
+"/prediction:v1.6/Insert2/storageDataLocation": storage_data_location
+"/prediction:v1.6/Insert2/storagePMMLLocation": storage_pmml_location
+"/prediction:v1.6/Insert2/storagePMMLModelLocation": storage_pmml_model_location
+"/prediction:v1.6/Insert2/trainingComplete": training_complete
+"/prediction:v1.6/Insert2/trainingStatus": training_status
+"/prediction:v1.6/List": list
+"/prediction:v1.6/List/items": items
+"/prediction:v1.6/List/items/item": item
+"/prediction:v1.6/List/kind": kind
+"/prediction:v1.6/List/nextPageToken": next_page_token
+"/prediction:v1.6/List/selfLink": self_link
+"/prediction:v1.6/Output": output
+"/prediction:v1.6/Output/id": id
+"/prediction:v1.6/Output/kind": kind
+"/prediction:v1.6/Output/outputLabel": output_label
+"/prediction:v1.6/Output/outputMulti": output_multi
+"/prediction:v1.6/Output/outputMulti/output_multi": output_multi
+"/prediction:v1.6/Output/outputMulti/output_multi/label": label
+"/prediction:v1.6/Output/outputMulti/output_multi/score": score
+"/prediction:v1.6/Output/outputValue": output_value
+"/prediction:v1.6/Output/selfLink": self_link
+"/prediction:v1.6/Update": update
+"/prediction:v1.6/Update/csvInstance": csv_instance
+"/prediction:v1.6/Update/csvInstance/csv_instance": csv_instance
+"/prediction:v1.6/Update/output": output
+"/qpxExpress:v1/fields": fields
+"/qpxExpress:v1/key": key
+"/qpxExpress:v1/quotaUser": quota_user
+"/qpxExpress:v1/userIp": user_ip
+"/qpxExpress:v1/qpxExpress.trips.search": search_trips
+"/qpxExpress:v1/AircraftData": aircraft_data
+"/qpxExpress:v1/AircraftData/code": code
+"/qpxExpress:v1/AircraftData/kind": kind
+"/qpxExpress:v1/AircraftData/name": name
+"/qpxExpress:v1/AirportData": airport_data
+"/qpxExpress:v1/AirportData/city": city
+"/qpxExpress:v1/AirportData/code": code
+"/qpxExpress:v1/AirportData/kind": kind
+"/qpxExpress:v1/AirportData/name": name
+"/qpxExpress:v1/BagDescriptor": bag_descriptor
+"/qpxExpress:v1/BagDescriptor/commercialName": commercial_name
+"/qpxExpress:v1/BagDescriptor/count": count
+"/qpxExpress:v1/BagDescriptor/description": description
+"/qpxExpress:v1/BagDescriptor/description/description": description
+"/qpxExpress:v1/BagDescriptor/kind": kind
+"/qpxExpress:v1/BagDescriptor/subcode": subcode
+"/qpxExpress:v1/CarrierData": carrier_data
+"/qpxExpress:v1/CarrierData/code": code
+"/qpxExpress:v1/CarrierData/kind": kind
+"/qpxExpress:v1/CarrierData/name": name
+"/qpxExpress:v1/CityData": city_data
+"/qpxExpress:v1/CityData/code": code
+"/qpxExpress:v1/CityData/country": country
+"/qpxExpress:v1/CityData/kind": kind
+"/qpxExpress:v1/CityData/name": name
+"/qpxExpress:v1/Data": data
+"/qpxExpress:v1/Data/aircraft": aircraft
+"/qpxExpress:v1/Data/aircraft/aircraft": aircraft
+"/qpxExpress:v1/Data/airport": airport
+"/qpxExpress:v1/Data/airport/airport": airport
+"/qpxExpress:v1/Data/carrier": carrier
+"/qpxExpress:v1/Data/carrier/carrier": carrier
+"/qpxExpress:v1/Data/city": city
+"/qpxExpress:v1/Data/city/city": city
+"/qpxExpress:v1/Data/kind": kind
+"/qpxExpress:v1/Data/tax": tax
+"/qpxExpress:v1/Data/tax/tax": tax
+"/qpxExpress:v1/FareInfo": fare_info
+"/qpxExpress:v1/FareInfo/basisCode": basis_code
+"/qpxExpress:v1/FareInfo/carrier": carrier
+"/qpxExpress:v1/FareInfo/destination": destination
+"/qpxExpress:v1/FareInfo/id": id
+"/qpxExpress:v1/FareInfo/kind": kind
+"/qpxExpress:v1/FareInfo/origin": origin
+"/qpxExpress:v1/FareInfo/private": private
+"/qpxExpress:v1/FlightInfo": flight_info
+"/qpxExpress:v1/FlightInfo/carrier": carrier
+"/qpxExpress:v1/FlightInfo/number": number
+"/qpxExpress:v1/FreeBaggageAllowance": free_baggage_allowance
+"/qpxExpress:v1/FreeBaggageAllowance/bagDescriptor": bag_descriptor
+"/qpxExpress:v1/FreeBaggageAllowance/bagDescriptor/bag_descriptor": bag_descriptor
+"/qpxExpress:v1/FreeBaggageAllowance/kilos": kilos
+"/qpxExpress:v1/FreeBaggageAllowance/kilosPerPiece": kilos_per_piece
+"/qpxExpress:v1/FreeBaggageAllowance/kind": kind
+"/qpxExpress:v1/FreeBaggageAllowance/pieces": pieces
+"/qpxExpress:v1/FreeBaggageAllowance/pounds": pounds
+"/qpxExpress:v1/LegInfo": leg_info
+"/qpxExpress:v1/LegInfo/aircraft": aircraft
+"/qpxExpress:v1/LegInfo/arrivalTime": arrival_time
+"/qpxExpress:v1/LegInfo/changePlane": change_plane
+"/qpxExpress:v1/LegInfo/connectionDuration": connection_duration
+"/qpxExpress:v1/LegInfo/departureTime": departure_time
+"/qpxExpress:v1/LegInfo/destination": destination
+"/qpxExpress:v1/LegInfo/destinationTerminal": destination_terminal
+"/qpxExpress:v1/LegInfo/duration": duration
+"/qpxExpress:v1/LegInfo/id": id
+"/qpxExpress:v1/LegInfo/kind": kind
+"/qpxExpress:v1/LegInfo/meal": meal
+"/qpxExpress:v1/LegInfo/mileage": mileage
+"/qpxExpress:v1/LegInfo/onTimePerformance": on_time_performance
+"/qpxExpress:v1/LegInfo/operatingDisclosure": operating_disclosure
+"/qpxExpress:v1/LegInfo/origin": origin
+"/qpxExpress:v1/LegInfo/originTerminal": origin_terminal
+"/qpxExpress:v1/LegInfo/secure": secure
+"/qpxExpress:v1/PassengerCounts": passenger_counts
+"/qpxExpress:v1/PassengerCounts/adultCount": adult_count
+"/qpxExpress:v1/PassengerCounts/childCount": child_count
+"/qpxExpress:v1/PassengerCounts/infantInLapCount": infant_in_lap_count
+"/qpxExpress:v1/PassengerCounts/infantInSeatCount": infant_in_seat_count
+"/qpxExpress:v1/PassengerCounts/kind": kind
+"/qpxExpress:v1/PassengerCounts/seniorCount": senior_count
+"/qpxExpress:v1/PricingInfo": pricing_info
+"/qpxExpress:v1/PricingInfo/baseFareTotal": base_fare_total
+"/qpxExpress:v1/PricingInfo/fare": fare
+"/qpxExpress:v1/PricingInfo/fare/fare": fare
+"/qpxExpress:v1/PricingInfo/fareCalculation": fare_calculation
+"/qpxExpress:v1/PricingInfo/kind": kind
+"/qpxExpress:v1/PricingInfo/latestTicketingTime": latest_ticketing_time
+"/qpxExpress:v1/PricingInfo/passengers": passengers
+"/qpxExpress:v1/PricingInfo/ptc": ptc
+"/qpxExpress:v1/PricingInfo/refundable": refundable
+"/qpxExpress:v1/PricingInfo/saleFareTotal": sale_fare_total
+"/qpxExpress:v1/PricingInfo/saleTaxTotal": sale_tax_total
+"/qpxExpress:v1/PricingInfo/saleTotal": sale_total
+"/qpxExpress:v1/PricingInfo/segmentPricing": segment_pricing
+"/qpxExpress:v1/PricingInfo/segmentPricing/segment_pricing": segment_pricing
+"/qpxExpress:v1/PricingInfo/tax": tax
+"/qpxExpress:v1/PricingInfo/tax/tax": tax
+"/qpxExpress:v1/SegmentInfo": segment_info
+"/qpxExpress:v1/SegmentInfo/bookingCode": booking_code
+"/qpxExpress:v1/SegmentInfo/bookingCodeCount": booking_code_count
+"/qpxExpress:v1/SegmentInfo/cabin": cabin
+"/qpxExpress:v1/SegmentInfo/connectionDuration": connection_duration
+"/qpxExpress:v1/SegmentInfo/duration": duration
+"/qpxExpress:v1/SegmentInfo/flight": flight
+"/qpxExpress:v1/SegmentInfo/id": id
+"/qpxExpress:v1/SegmentInfo/kind": kind
+"/qpxExpress:v1/SegmentInfo/leg": leg
+"/qpxExpress:v1/SegmentInfo/leg/leg": leg
+"/qpxExpress:v1/SegmentInfo/marriedSegmentGroup": married_segment_group
+"/qpxExpress:v1/SegmentInfo/subjectToGovernmentApproval": subject_to_government_approval
+"/qpxExpress:v1/SegmentPricing": segment_pricing
+"/qpxExpress:v1/SegmentPricing/fareId": fare_id
+"/qpxExpress:v1/SegmentPricing/freeBaggageOption": free_baggage_option
+"/qpxExpress:v1/SegmentPricing/freeBaggageOption/free_baggage_option": free_baggage_option
+"/qpxExpress:v1/SegmentPricing/kind": kind
+"/qpxExpress:v1/SegmentPricing/segmentId": segment_id
+"/qpxExpress:v1/SliceInfo": slice_info
+"/qpxExpress:v1/SliceInfo/duration": duration
+"/qpxExpress:v1/SliceInfo/kind": kind
+"/qpxExpress:v1/SliceInfo/segment": segment
+"/qpxExpress:v1/SliceInfo/segment/segment": segment
+"/qpxExpress:v1/SliceInput": slice_input
+"/qpxExpress:v1/SliceInput/alliance": alliance
+"/qpxExpress:v1/SliceInput/date": date
+"/qpxExpress:v1/SliceInput/destination": destination
+"/qpxExpress:v1/SliceInput/kind": kind
+"/qpxExpress:v1/SliceInput/maxConnectionDuration": max_connection_duration
+"/qpxExpress:v1/SliceInput/maxStops": max_stops
+"/qpxExpress:v1/SliceInput/origin": origin
+"/qpxExpress:v1/SliceInput/permittedCarrier": permitted_carrier
+"/qpxExpress:v1/SliceInput/permittedCarrier/permitted_carrier": permitted_carrier
+"/qpxExpress:v1/SliceInput/permittedDepartureTime": permitted_departure_time
+"/qpxExpress:v1/SliceInput/preferredCabin": preferred_cabin
+"/qpxExpress:v1/SliceInput/prohibitedCarrier": prohibited_carrier
+"/qpxExpress:v1/SliceInput/prohibitedCarrier/prohibited_carrier": prohibited_carrier
+"/qpxExpress:v1/TaxData": tax_data
+"/qpxExpress:v1/TaxData/id": id
+"/qpxExpress:v1/TaxData/kind": kind
+"/qpxExpress:v1/TaxData/name": name
+"/qpxExpress:v1/TaxInfo": tax_info
+"/qpxExpress:v1/TaxInfo/chargeType": charge_type
+"/qpxExpress:v1/TaxInfo/code": code
+"/qpxExpress:v1/TaxInfo/country": country
+"/qpxExpress:v1/TaxInfo/id": id
+"/qpxExpress:v1/TaxInfo/kind": kind
+"/qpxExpress:v1/TaxInfo/salePrice": sale_price
+"/qpxExpress:v1/TimeOfDayRange": time_of_day_range
+"/qpxExpress:v1/TimeOfDayRange/earliestTime": earliest_time
+"/qpxExpress:v1/TimeOfDayRange/kind": kind
+"/qpxExpress:v1/TimeOfDayRange/latestTime": latest_time
+"/qpxExpress:v1/TripOption": trip_option
+"/qpxExpress:v1/TripOption/id": id
+"/qpxExpress:v1/TripOption/kind": kind
+"/qpxExpress:v1/TripOption/pricing": pricing
+"/qpxExpress:v1/TripOption/pricing/pricing": pricing
+"/qpxExpress:v1/TripOption/saleTotal": sale_total
+"/qpxExpress:v1/TripOption/slice": slice
+"/qpxExpress:v1/TripOption/slice/slice": slice
+"/qpxExpress:v1/TripOptionsRequest": trip_options_request
+"/qpxExpress:v1/TripOptionsRequest/maxPrice": max_price
+"/qpxExpress:v1/TripOptionsRequest/passengers": passengers
+"/qpxExpress:v1/TripOptionsRequest/refundable": refundable
+"/qpxExpress:v1/TripOptionsRequest/saleCountry": sale_country
+"/qpxExpress:v1/TripOptionsRequest/slice": slice
+"/qpxExpress:v1/TripOptionsRequest/slice/slice": slice
+"/qpxExpress:v1/TripOptionsRequest/solutions": solutions
+"/qpxExpress:v1/TripOptionsResponse": trip_options_response
+"/qpxExpress:v1/TripOptionsResponse/data": data
+"/qpxExpress:v1/TripOptionsResponse/kind": kind
+"/qpxExpress:v1/TripOptionsResponse/requestId": request_id
+"/qpxExpress:v1/TripOptionsResponse/tripOption": trip_option
+"/qpxExpress:v1/TripOptionsResponse/tripOption/trip_option": trip_option
+"/qpxExpress:v1/TripsSearchRequest/request": request
+"/qpxExpress:v1/TripsSearchResponse/kind": kind
+"/qpxExpress:v1/TripsSearchResponse/trips": trips
+"/replicapool:v1beta2/fields": fields
+"/replicapool:v1beta2/key": key
+"/replicapool:v1beta2/quotaUser": quota_user
+"/replicapool:v1beta2/userIp": user_ip
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.abandonInstances/instanceGroupManager": instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.abandonInstances/project": project
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.abandonInstances/zone": zone
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.delete": delete_instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.delete/instanceGroupManager": instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.delete/project": project
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.delete/zone": zone
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.deleteInstances/instanceGroupManager": instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.deleteInstances/project": project
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.deleteInstances/zone": zone
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.get": get_instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.get/instanceGroupManager": instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.get/project": project
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.get/zone": zone
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.insert": insert_instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.insert/project": project
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.insert/size": size
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.insert/zone": zone
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.list": list_instance_group_managers
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.list/filter": filter
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.list/maxResults": max_results
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.list/pageToken": page_token
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.list/project": project
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.list/zone": zone
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.recreateInstances/instanceGroupManager": instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.recreateInstances/project": project
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.recreateInstances/zone": zone
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.resize/instanceGroupManager": instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.resize/project": project
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.resize/size": size
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.resize/zone": zone
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.setInstanceTemplate/instanceGroupManager": instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.setInstanceTemplate/project": project
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.setInstanceTemplate/zone": zone
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.setTargetPools/instanceGroupManager": instance_group_manager
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.setTargetPools/project": project
+"/replicapool:v1beta2/replicapool.instanceGroupManagers.setTargetPools/zone": zone
+"/replicapool:v1beta2/replicapool.zoneOperations.get": get_zone_operation
+"/replicapool:v1beta2/replicapool.zoneOperations.get/operation": operation
+"/replicapool:v1beta2/replicapool.zoneOperations.get/project": project
+"/replicapool:v1beta2/replicapool.zoneOperations.get/zone": zone
+"/replicapool:v1beta2/replicapool.zoneOperations.list": list_zone_operations
+"/replicapool:v1beta2/replicapool.zoneOperations.list/filter": filter
+"/replicapool:v1beta2/replicapool.zoneOperations.list/maxResults": max_results
+"/replicapool:v1beta2/replicapool.zoneOperations.list/pageToken": page_token
+"/replicapool:v1beta2/replicapool.zoneOperations.list/project": project
+"/replicapool:v1beta2/replicapool.zoneOperations.list/zone": zone
+"/replicapool:v1beta2/InstanceGroupManager": instance_group_manager
+"/replicapool:v1beta2/InstanceGroupManager/autoHealingPolicies": auto_healing_policies
+"/replicapool:v1beta2/InstanceGroupManager/autoHealingPolicies/auto_healing_policy": auto_healing_policy
+"/replicapool:v1beta2/InstanceGroupManager/baseInstanceName": base_instance_name
+"/replicapool:v1beta2/InstanceGroupManager/creationTimestamp": creation_timestamp
+"/replicapool:v1beta2/InstanceGroupManager/currentSize": current_size
+"/replicapool:v1beta2/InstanceGroupManager/description": description
+"/replicapool:v1beta2/InstanceGroupManager/fingerprint": fingerprint
+"/replicapool:v1beta2/InstanceGroupManager/group": group
+"/replicapool:v1beta2/InstanceGroupManager/id": id
+"/replicapool:v1beta2/InstanceGroupManager/instanceTemplate": instance_template
+"/replicapool:v1beta2/InstanceGroupManager/kind": kind
+"/replicapool:v1beta2/InstanceGroupManager/name": name
+"/replicapool:v1beta2/InstanceGroupManager/selfLink": self_link
+"/replicapool:v1beta2/InstanceGroupManager/targetPools": target_pools
+"/replicapool:v1beta2/InstanceGroupManager/targetPools/target_pool": target_pool
+"/replicapool:v1beta2/InstanceGroupManager/targetSize": target_size
+"/replicapool:v1beta2/InstanceGroupManagerList": instance_group_manager_list
+"/replicapool:v1beta2/InstanceGroupManagerList/id": id
+"/replicapool:v1beta2/InstanceGroupManagerList/items": items
+"/replicapool:v1beta2/InstanceGroupManagerList/items/item": item
+"/replicapool:v1beta2/InstanceGroupManagerList/kind": kind
+"/replicapool:v1beta2/InstanceGroupManagerList/nextPageToken": next_page_token
+"/replicapool:v1beta2/InstanceGroupManagerList/selfLink": self_link
+"/replicapool:v1beta2/InstanceGroupManagersAbandonInstancesRequest/instances": instances
+"/replicapool:v1beta2/InstanceGroupManagersAbandonInstancesRequest/instances/instance": instance
+"/replicapool:v1beta2/InstanceGroupManagersDeleteInstancesRequest/instances": instances
+"/replicapool:v1beta2/InstanceGroupManagersDeleteInstancesRequest/instances/instance": instance
+"/replicapool:v1beta2/InstanceGroupManagersRecreateInstancesRequest/instances": instances
+"/replicapool:v1beta2/InstanceGroupManagersRecreateInstancesRequest/instances/instance": instance
+"/replicapool:v1beta2/InstanceGroupManagersSetInstanceTemplateRequest/instanceTemplate": instance_template
+"/replicapool:v1beta2/InstanceGroupManagersSetTargetPoolsRequest/fingerprint": fingerprint
+"/replicapool:v1beta2/InstanceGroupManagersSetTargetPoolsRequest/targetPools": target_pools
+"/replicapool:v1beta2/InstanceGroupManagersSetTargetPoolsRequest/targetPools/target_pool": target_pool
+"/replicapool:v1beta2/Operation": operation
+"/replicapool:v1beta2/Operation/clientOperationId": client_operation_id
+"/replicapool:v1beta2/Operation/creationTimestamp": creation_timestamp
+"/replicapool:v1beta2/Operation/endTime": end_time
+"/replicapool:v1beta2/Operation/error": error
+"/replicapool:v1beta2/Operation/error/errors": errors
+"/replicapool:v1beta2/Operation/error/errors/error": error
+"/replicapool:v1beta2/Operation/error/errors/error/code": code
+"/replicapool:v1beta2/Operation/error/errors/error/location": location
+"/replicapool:v1beta2/Operation/error/errors/error/message": message
+"/replicapool:v1beta2/Operation/httpErrorMessage": http_error_message
+"/replicapool:v1beta2/Operation/httpErrorStatusCode": http_error_status_code
+"/replicapool:v1beta2/Operation/id": id
+"/replicapool:v1beta2/Operation/insertTime": insert_time
+"/replicapool:v1beta2/Operation/kind": kind
+"/replicapool:v1beta2/Operation/name": name
+"/replicapool:v1beta2/Operation/operationType": operation_type
+"/replicapool:v1beta2/Operation/progress": progress
+"/replicapool:v1beta2/Operation/region": region
+"/replicapool:v1beta2/Operation/selfLink": self_link
+"/replicapool:v1beta2/Operation/startTime": start_time
+"/replicapool:v1beta2/Operation/status": status
+"/replicapool:v1beta2/Operation/statusMessage": status_message
+"/replicapool:v1beta2/Operation/targetId": target_id
+"/replicapool:v1beta2/Operation/targetLink": target_link
+"/replicapool:v1beta2/Operation/user": user
+"/replicapool:v1beta2/Operation/warnings": warnings
+"/replicapool:v1beta2/Operation/warnings/warning": warning
+"/replicapool:v1beta2/Operation/warnings/warning/code": code
+"/replicapool:v1beta2/Operation/warnings/warning/data": data
+"/replicapool:v1beta2/Operation/warnings/warning/data/datum": datum
+"/replicapool:v1beta2/Operation/warnings/warning/data/datum/key": key
+"/replicapool:v1beta2/Operation/warnings/warning/data/datum/value": value
+"/replicapool:v1beta2/Operation/warnings/warning/message": message
+"/replicapool:v1beta2/Operation/zone": zone
+"/replicapool:v1beta2/OperationList": operation_list
+"/replicapool:v1beta2/OperationList/id": id
+"/replicapool:v1beta2/OperationList/items": items
+"/replicapool:v1beta2/OperationList/items/item": item
+"/replicapool:v1beta2/OperationList/kind": kind
+"/replicapool:v1beta2/OperationList/nextPageToken": next_page_token
+"/replicapool:v1beta2/OperationList/selfLink": self_link
+"/replicapool:v1beta2/ReplicaPoolAutoHealingPolicy": replica_pool_auto_healing_policy
+"/replicapool:v1beta2/ReplicaPoolAutoHealingPolicy/healthCheck": health_check
+"/replicapoolupdater:v1beta1/fields": fields
+"/replicapoolupdater:v1beta1/key": key
+"/replicapoolupdater:v1beta1/quotaUser": quota_user
+"/replicapoolupdater:v1beta1/userIp": user_ip
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.cancel": cancel_rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.cancel/project": project
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.cancel/rollingUpdate": rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.cancel/zone": zone
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.get": get_rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.get/project": project
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.get/rollingUpdate": rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.get/zone": zone
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.insert": insert_rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.insert/project": project
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.insert/zone": zone
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.list": list_rolling_updates
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.list/filter": filter
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.list/instanceGroupManager": instance_group_manager
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.list/maxResults": max_results
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.list/pageToken": page_token
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.list/project": project
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.list/zone": zone
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.listInstanceUpdates/filter": filter
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.listInstanceUpdates/maxResults": max_results
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.listInstanceUpdates/pageToken": page_token
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.listInstanceUpdates/project": project
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.listInstanceUpdates/rollingUpdate": rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.listInstanceUpdates/zone": zone
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.pause": pause_rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.pause/project": project
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.pause/rollingUpdate": rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.pause/zone": zone
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.resume": resume_rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.resume/project": project
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.resume/rollingUpdate": rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.resume/zone": zone
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.rollback": rollback_rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.rollback/project": project
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.rollback/rollingUpdate": rolling_update
+"/replicapoolupdater:v1beta1/replicapoolupdater.rollingUpdates.rollback/zone": zone
+"/replicapoolupdater:v1beta1/replicapoolupdater.zoneOperations.get": get_zone_operation
+"/replicapoolupdater:v1beta1/replicapoolupdater.zoneOperations.get/operation": operation
+"/replicapoolupdater:v1beta1/replicapoolupdater.zoneOperations.get/project": project
+"/replicapoolupdater:v1beta1/replicapoolupdater.zoneOperations.get/zone": zone
+"/replicapoolupdater:v1beta1/InstanceUpdate": instance_update
+"/replicapoolupdater:v1beta1/InstanceUpdate/error": error
+"/replicapoolupdater:v1beta1/InstanceUpdate/error/errors": errors
+"/replicapoolupdater:v1beta1/InstanceUpdate/error/errors/error": error
+"/replicapoolupdater:v1beta1/InstanceUpdate/error/errors/error/code": code
+"/replicapoolupdater:v1beta1/InstanceUpdate/error/errors/error/location": location
+"/replicapoolupdater:v1beta1/InstanceUpdate/error/errors/error/message": message
+"/replicapoolupdater:v1beta1/InstanceUpdate/instance": instance
+"/replicapoolupdater:v1beta1/InstanceUpdate/status": status
+"/replicapoolupdater:v1beta1/InstanceUpdateList": instance_update_list
+"/replicapoolupdater:v1beta1/InstanceUpdateList/items": items
+"/replicapoolupdater:v1beta1/InstanceUpdateList/items/item": item
+"/replicapoolupdater:v1beta1/InstanceUpdateList/kind": kind
+"/replicapoolupdater:v1beta1/InstanceUpdateList/nextPageToken": next_page_token
+"/replicapoolupdater:v1beta1/InstanceUpdateList/selfLink": self_link
+"/replicapoolupdater:v1beta1/Operation": operation
+"/replicapoolupdater:v1beta1/Operation/clientOperationId": client_operation_id
+"/replicapoolupdater:v1beta1/Operation/creationTimestamp": creation_timestamp
+"/replicapoolupdater:v1beta1/Operation/endTime": end_time
+"/replicapoolupdater:v1beta1/Operation/error": error
+"/replicapoolupdater:v1beta1/Operation/error/errors": errors
+"/replicapoolupdater:v1beta1/Operation/error/errors/error": error
+"/replicapoolupdater:v1beta1/Operation/error/errors/error/code": code
+"/replicapoolupdater:v1beta1/Operation/error/errors/error/location": location
+"/replicapoolupdater:v1beta1/Operation/error/errors/error/message": message
+"/replicapoolupdater:v1beta1/Operation/httpErrorMessage": http_error_message
+"/replicapoolupdater:v1beta1/Operation/httpErrorStatusCode": http_error_status_code
+"/replicapoolupdater:v1beta1/Operation/id": id
+"/replicapoolupdater:v1beta1/Operation/insertTime": insert_time
+"/replicapoolupdater:v1beta1/Operation/kind": kind
+"/replicapoolupdater:v1beta1/Operation/name": name
+"/replicapoolupdater:v1beta1/Operation/operationType": operation_type
+"/replicapoolupdater:v1beta1/Operation/progress": progress
+"/replicapoolupdater:v1beta1/Operation/region": region
+"/replicapoolupdater:v1beta1/Operation/selfLink": self_link
+"/replicapoolupdater:v1beta1/Operation/startTime": start_time
+"/replicapoolupdater:v1beta1/Operation/status": status
+"/replicapoolupdater:v1beta1/Operation/statusMessage": status_message
+"/replicapoolupdater:v1beta1/Operation/targetId": target_id
+"/replicapoolupdater:v1beta1/Operation/targetLink": target_link
+"/replicapoolupdater:v1beta1/Operation/user": user
+"/replicapoolupdater:v1beta1/Operation/warnings": warnings
+"/replicapoolupdater:v1beta1/Operation/warnings/warning": warning
+"/replicapoolupdater:v1beta1/Operation/warnings/warning/code": code
+"/replicapoolupdater:v1beta1/Operation/warnings/warning/data": data
+"/replicapoolupdater:v1beta1/Operation/warnings/warning/data/datum": datum
+"/replicapoolupdater:v1beta1/Operation/warnings/warning/data/datum/key": key
+"/replicapoolupdater:v1beta1/Operation/warnings/warning/data/datum/value": value
+"/replicapoolupdater:v1beta1/Operation/warnings/warning/message": message
+"/replicapoolupdater:v1beta1/Operation/zone": zone
+"/replicapoolupdater:v1beta1/RollingUpdate": rolling_update
+"/replicapoolupdater:v1beta1/RollingUpdate/actionType": action_type
+"/replicapoolupdater:v1beta1/RollingUpdate/creationTimestamp": creation_timestamp
+"/replicapoolupdater:v1beta1/RollingUpdate/description": description
+"/replicapoolupdater:v1beta1/RollingUpdate/error": error
+"/replicapoolupdater:v1beta1/RollingUpdate/error/errors": errors
+"/replicapoolupdater:v1beta1/RollingUpdate/error/errors/error": error
+"/replicapoolupdater:v1beta1/RollingUpdate/error/errors/error/code": code
+"/replicapoolupdater:v1beta1/RollingUpdate/error/errors/error/location": location
+"/replicapoolupdater:v1beta1/RollingUpdate/error/errors/error/message": message
+"/replicapoolupdater:v1beta1/RollingUpdate/id": id
+"/replicapoolupdater:v1beta1/RollingUpdate/instanceGroup": instance_group
+"/replicapoolupdater:v1beta1/RollingUpdate/instanceGroupManager": instance_group_manager
+"/replicapoolupdater:v1beta1/RollingUpdate/instanceTemplate": instance_template
+"/replicapoolupdater:v1beta1/RollingUpdate/kind": kind
+"/replicapoolupdater:v1beta1/RollingUpdate/policy": policy
+"/replicapoolupdater:v1beta1/RollingUpdate/policy/autoPauseAfterInstances": auto_pause_after_instances
+"/replicapoolupdater:v1beta1/RollingUpdate/policy/instanceStartupTimeoutSec": instance_startup_timeout_sec
+"/replicapoolupdater:v1beta1/RollingUpdate/policy/maxNumConcurrentInstances": max_num_concurrent_instances
+"/replicapoolupdater:v1beta1/RollingUpdate/policy/maxNumFailedInstances": max_num_failed_instances
+"/replicapoolupdater:v1beta1/RollingUpdate/policy/minInstanceUpdateTimeSec": min_instance_update_time_sec
+"/replicapoolupdater:v1beta1/RollingUpdate/progress": progress
+"/replicapoolupdater:v1beta1/RollingUpdate/selfLink": self_link
+"/replicapoolupdater:v1beta1/RollingUpdate/status": status
+"/replicapoolupdater:v1beta1/RollingUpdate/statusMessage": status_message
+"/replicapoolupdater:v1beta1/RollingUpdate/user": user
+"/replicapoolupdater:v1beta1/RollingUpdateList": rolling_update_list
+"/replicapoolupdater:v1beta1/RollingUpdateList/items": items
+"/replicapoolupdater:v1beta1/RollingUpdateList/items/item": item
+"/replicapoolupdater:v1beta1/RollingUpdateList/kind": kind
+"/replicapoolupdater:v1beta1/RollingUpdateList/nextPageToken": next_page_token
+"/replicapoolupdater:v1beta1/RollingUpdateList/selfLink": self_link
+"/reseller:v1/fields": fields
+"/reseller:v1/key": key
+"/reseller:v1/quotaUser": quota_user
+"/reseller:v1/userIp": user_ip
+"/reseller:v1/reseller.customers.get": get_customer
+"/reseller:v1/reseller.customers.get/customerId": customer_id
+"/reseller:v1/reseller.customers.insert": insert_customer
+"/reseller:v1/reseller.customers.insert/customerAuthToken": customer_auth_token
+"/reseller:v1/reseller.customers.patch": patch_customer
+"/reseller:v1/reseller.customers.patch/customerId": customer_id
+"/reseller:v1/reseller.customers.update": update_customer
+"/reseller:v1/reseller.customers.update/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.activate": activate_subscription
+"/reseller:v1/reseller.subscriptions.activate/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.activate/subscriptionId": subscription_id
+"/reseller:v1/reseller.subscriptions.changePlan": change_plan
+"/reseller:v1/reseller.subscriptions.changePlan/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.changePlan/subscriptionId": subscription_id
+"/reseller:v1/reseller.subscriptions.changeRenewalSettings/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.changeRenewalSettings/subscriptionId": subscription_id
+"/reseller:v1/reseller.subscriptions.changeSeats/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.changeSeats/subscriptionId": subscription_id
+"/reseller:v1/reseller.subscriptions.delete": delete_subscription
+"/reseller:v1/reseller.subscriptions.delete/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.delete/deletionType": deletion_type
+"/reseller:v1/reseller.subscriptions.delete/subscriptionId": subscription_id
+"/reseller:v1/reseller.subscriptions.get": get_subscription
+"/reseller:v1/reseller.subscriptions.get/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.get/subscriptionId": subscription_id
+"/reseller:v1/reseller.subscriptions.insert": insert_subscription
+"/reseller:v1/reseller.subscriptions.insert/customerAuthToken": customer_auth_token
+"/reseller:v1/reseller.subscriptions.insert/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.list": list_subscriptions
+"/reseller:v1/reseller.subscriptions.list/customerAuthToken": customer_auth_token
+"/reseller:v1/reseller.subscriptions.list/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.list/customerNamePrefix": customer_name_prefix
+"/reseller:v1/reseller.subscriptions.list/maxResults": max_results
+"/reseller:v1/reseller.subscriptions.list/pageToken": page_token
+"/reseller:v1/reseller.subscriptions.startPaidService": start_paid_service_subscription
+"/reseller:v1/reseller.subscriptions.startPaidService/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.startPaidService/subscriptionId": subscription_id
+"/reseller:v1/reseller.subscriptions.suspend": suspend_subscription
+"/reseller:v1/reseller.subscriptions.suspend/customerId": customer_id
+"/reseller:v1/reseller.subscriptions.suspend/subscriptionId": subscription_id
+"/reseller:v1/Address": address
+"/reseller:v1/Address/addressLine1": address_line1
+"/reseller:v1/Address/addressLine2": address_line2
+"/reseller:v1/Address/addressLine3": address_line3
+"/reseller:v1/Address/contactName": contact_name
+"/reseller:v1/Address/countryCode": country_code
+"/reseller:v1/Address/kind": kind
+"/reseller:v1/Address/locality": locality
+"/reseller:v1/Address/organizationName": organization_name
+"/reseller:v1/Address/postalCode": postal_code
+"/reseller:v1/Address/region": region
+"/reseller:v1/ChangePlanRequest/kind": kind
+"/reseller:v1/ChangePlanRequest/planName": plan_name
+"/reseller:v1/ChangePlanRequest/purchaseOrderId": purchase_order_id
+"/reseller:v1/ChangePlanRequest/seats": seats
+"/reseller:v1/Customer": customer
+"/reseller:v1/Customer/alternateEmail": alternate_email
+"/reseller:v1/Customer/customerDomain": customer_domain
+"/reseller:v1/Customer/customerId": customer_id
+"/reseller:v1/Customer/kind": kind
+"/reseller:v1/Customer/phoneNumber": phone_number
+"/reseller:v1/Customer/postalAddress": postal_address
+"/reseller:v1/Customer/resourceUiUrl": resource_ui_url
+"/reseller:v1/RenewalSettings": renewal_settings
+"/reseller:v1/RenewalSettings/kind": kind
+"/reseller:v1/RenewalSettings/renewalType": renewal_type
+"/reseller:v1/Seats": seats
+"/reseller:v1/Seats/kind": kind
+"/reseller:v1/Seats/licensedNumberOfSeats": licensed_number_of_seats
+"/reseller:v1/Seats/maximumNumberOfSeats": maximum_number_of_seats
+"/reseller:v1/Seats/numberOfSeats": number_of_seats
+"/reseller:v1/Subscription": subscription
+"/reseller:v1/Subscription/billingMethod": billing_method
+"/reseller:v1/Subscription/creationTime": creation_time
+"/reseller:v1/Subscription/customerId": customer_id
+"/reseller:v1/Subscription/kind": kind
+"/reseller:v1/Subscription/plan": plan
+"/reseller:v1/Subscription/plan/commitmentInterval": commitment_interval
+"/reseller:v1/Subscription/plan/commitmentInterval/endTime": end_time
+"/reseller:v1/Subscription/plan/commitmentInterval/startTime": start_time
+"/reseller:v1/Subscription/plan/isCommitmentPlan": is_commitment_plan
+"/reseller:v1/Subscription/plan/planName": plan_name
+"/reseller:v1/Subscription/purchaseOrderId": purchase_order_id
+"/reseller:v1/Subscription/renewalSettings": renewal_settings
+"/reseller:v1/Subscription/resourceUiUrl": resource_ui_url
+"/reseller:v1/Subscription/seats": seats
+"/reseller:v1/Subscription/skuId": sku_id
+"/reseller:v1/Subscription/status": status
+"/reseller:v1/Subscription/subscriptionId": subscription_id
+"/reseller:v1/Subscription/suspensionReasons": suspension_reasons
+"/reseller:v1/Subscription/suspensionReasons/suspension_reason": suspension_reason
+"/reseller:v1/Subscription/transferInfo": transfer_info
+"/reseller:v1/Subscription/transferInfo/minimumTransferableSeats": minimum_transferable_seats
+"/reseller:v1/Subscription/transferInfo/transferabilityExpirationTime": transferability_expiration_time
+"/reseller:v1/Subscription/trialSettings": trial_settings
+"/reseller:v1/Subscription/trialSettings/isInTrial": is_in_trial
+"/reseller:v1/Subscription/trialSettings/trialEndTime": trial_end_time
+"/reseller:v1/Subscriptions": subscriptions
+"/reseller:v1/Subscriptions/kind": kind
+"/reseller:v1/Subscriptions/nextPageToken": next_page_token
+"/reseller:v1/Subscriptions/subscriptions": subscriptions
+"/reseller:v1/Subscriptions/subscriptions/subscription": subscription
+"/resourceviews:v1beta2/fields": fields
+"/resourceviews:v1beta2/key": key
+"/resourceviews:v1beta2/quotaUser": quota_user
+"/resourceviews:v1beta2/userIp": user_ip
+"/resourceviews:v1beta2/resourceviews.zoneOperations.get": get_zone_operation
+"/resourceviews:v1beta2/resourceviews.zoneOperations.get/operation": operation
+"/resourceviews:v1beta2/resourceviews.zoneOperations.get/project": project
+"/resourceviews:v1beta2/resourceviews.zoneOperations.get/zone": zone
+"/resourceviews:v1beta2/resourceviews.zoneOperations.list": list_zone_operations
+"/resourceviews:v1beta2/resourceviews.zoneOperations.list/filter": filter
+"/resourceviews:v1beta2/resourceviews.zoneOperations.list/maxResults": max_results
+"/resourceviews:v1beta2/resourceviews.zoneOperations.list/pageToken": page_token
+"/resourceviews:v1beta2/resourceviews.zoneOperations.list/project": project
+"/resourceviews:v1beta2/resourceviews.zoneOperations.list/zone": zone
+"/resourceviews:v1beta2/resourceviews.zoneViews.addResources": add_resources_zone_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.addResources/project": project
+"/resourceviews:v1beta2/resourceviews.zoneViews.addResources/resourceView": resource_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.addResources/zone": zone
+"/resourceviews:v1beta2/resourceviews.zoneViews.delete": delete_zone_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.delete/project": project
+"/resourceviews:v1beta2/resourceviews.zoneViews.delete/resourceView": resource_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.delete/zone": zone
+"/resourceviews:v1beta2/resourceviews.zoneViews.get": get_zone_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.get/project": project
+"/resourceviews:v1beta2/resourceviews.zoneViews.get/resourceView": resource_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.get/zone": zone
+"/resourceviews:v1beta2/resourceviews.zoneViews.getService": get_service_zone_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.getService/project": project
+"/resourceviews:v1beta2/resourceviews.zoneViews.getService/resourceName": resource_name
+"/resourceviews:v1beta2/resourceviews.zoneViews.getService/resourceView": resource_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.getService/zone": zone
+"/resourceviews:v1beta2/resourceviews.zoneViews.insert": insert_zone_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.insert/project": project
+"/resourceviews:v1beta2/resourceviews.zoneViews.insert/zone": zone
+"/resourceviews:v1beta2/resourceviews.zoneViews.list": list_zone_views
+"/resourceviews:v1beta2/resourceviews.zoneViews.list/maxResults": max_results
+"/resourceviews:v1beta2/resourceviews.zoneViews.list/pageToken": page_token
+"/resourceviews:v1beta2/resourceviews.zoneViews.list/project": project
+"/resourceviews:v1beta2/resourceviews.zoneViews.list/zone": zone
+"/resourceviews:v1beta2/resourceviews.zoneViews.listResources": list_resources_zone_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.listResources/format": format
+"/resourceviews:v1beta2/resourceviews.zoneViews.listResources/listState": list_state
+"/resourceviews:v1beta2/resourceviews.zoneViews.listResources/maxResults": max_results
+"/resourceviews:v1beta2/resourceviews.zoneViews.listResources/pageToken": page_token
+"/resourceviews:v1beta2/resourceviews.zoneViews.listResources/project": project
+"/resourceviews:v1beta2/resourceviews.zoneViews.listResources/resourceView": resource_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.listResources/serviceName": service_name
+"/resourceviews:v1beta2/resourceviews.zoneViews.listResources/zone": zone
+"/resourceviews:v1beta2/resourceviews.zoneViews.removeResources": remove_resources_zone_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.removeResources/project": project
+"/resourceviews:v1beta2/resourceviews.zoneViews.removeResources/resourceView": resource_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.removeResources/zone": zone
+"/resourceviews:v1beta2/resourceviews.zoneViews.setService": set_service_zone_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.setService/project": project
+"/resourceviews:v1beta2/resourceviews.zoneViews.setService/resourceView": resource_view
+"/resourceviews:v1beta2/resourceviews.zoneViews.setService/zone": zone
+"/resourceviews:v1beta2/Label": label
+"/resourceviews:v1beta2/Label/key": key
+"/resourceviews:v1beta2/Label/value": value
+"/resourceviews:v1beta2/ListResourceResponseItem": list_resource_response_item
+"/resourceviews:v1beta2/ListResourceResponseItem/endpoints": endpoints
+"/resourceviews:v1beta2/ListResourceResponseItem/endpoints/endpoint": endpoint
+"/resourceviews:v1beta2/ListResourceResponseItem/endpoints/endpoint/endpoint": endpoint
+"/resourceviews:v1beta2/ListResourceResponseItem/resource": resource
+"/resourceviews:v1beta2/Operation": operation
+"/resourceviews:v1beta2/Operation/clientOperationId": client_operation_id
+"/resourceviews:v1beta2/Operation/creationTimestamp": creation_timestamp
+"/resourceviews:v1beta2/Operation/endTime": end_time
+"/resourceviews:v1beta2/Operation/error": error
+"/resourceviews:v1beta2/Operation/error/errors": errors
+"/resourceviews:v1beta2/Operation/error/errors/error": error
+"/resourceviews:v1beta2/Operation/error/errors/error/code": code
+"/resourceviews:v1beta2/Operation/error/errors/error/location": location
+"/resourceviews:v1beta2/Operation/error/errors/error/message": message
+"/resourceviews:v1beta2/Operation/httpErrorMessage": http_error_message
+"/resourceviews:v1beta2/Operation/httpErrorStatusCode": http_error_status_code
+"/resourceviews:v1beta2/Operation/id": id
+"/resourceviews:v1beta2/Operation/insertTime": insert_time
+"/resourceviews:v1beta2/Operation/kind": kind
+"/resourceviews:v1beta2/Operation/name": name
+"/resourceviews:v1beta2/Operation/operationType": operation_type
+"/resourceviews:v1beta2/Operation/progress": progress
+"/resourceviews:v1beta2/Operation/region": region
+"/resourceviews:v1beta2/Operation/selfLink": self_link
+"/resourceviews:v1beta2/Operation/startTime": start_time
+"/resourceviews:v1beta2/Operation/status": status
+"/resourceviews:v1beta2/Operation/statusMessage": status_message
+"/resourceviews:v1beta2/Operation/targetId": target_id
+"/resourceviews:v1beta2/Operation/targetLink": target_link
+"/resourceviews:v1beta2/Operation/user": user
+"/resourceviews:v1beta2/Operation/warnings": warnings
+"/resourceviews:v1beta2/Operation/warnings/warning": warning
+"/resourceviews:v1beta2/Operation/warnings/warning/code": code
+"/resourceviews:v1beta2/Operation/warnings/warning/data": data
+"/resourceviews:v1beta2/Operation/warnings/warning/data/datum": datum
+"/resourceviews:v1beta2/Operation/warnings/warning/data/datum/key": key
+"/resourceviews:v1beta2/Operation/warnings/warning/data/datum/value": value
+"/resourceviews:v1beta2/Operation/warnings/warning/message": message
+"/resourceviews:v1beta2/Operation/zone": zone
+"/resourceviews:v1beta2/OperationList": operation_list
+"/resourceviews:v1beta2/OperationList/id": id
+"/resourceviews:v1beta2/OperationList/items": items
+"/resourceviews:v1beta2/OperationList/items/item": item
+"/resourceviews:v1beta2/OperationList/kind": kind
+"/resourceviews:v1beta2/OperationList/nextPageToken": next_page_token
+"/resourceviews:v1beta2/OperationList/selfLink": self_link
+"/resourceviews:v1beta2/ResourceView": resource_view
+"/resourceviews:v1beta2/ResourceView/creationTimestamp": creation_timestamp
+"/resourceviews:v1beta2/ResourceView/description": description
+"/resourceviews:v1beta2/ResourceView/endpoints": endpoints
+"/resourceviews:v1beta2/ResourceView/endpoints/endpoint": endpoint
+"/resourceviews:v1beta2/ResourceView/fingerprint": fingerprint
+"/resourceviews:v1beta2/ResourceView/id": id
+"/resourceviews:v1beta2/ResourceView/kind": kind
+"/resourceviews:v1beta2/ResourceView/labels": labels
+"/resourceviews:v1beta2/ResourceView/labels/label": label
+"/resourceviews:v1beta2/ResourceView/name": name
+"/resourceviews:v1beta2/ResourceView/network": network
+"/resourceviews:v1beta2/ResourceView/resources": resources
+"/resourceviews:v1beta2/ResourceView/resources/resource": resource
+"/resourceviews:v1beta2/ResourceView/selfLink": self_link
+"/resourceviews:v1beta2/ResourceView/size": size
+"/resourceviews:v1beta2/ServiceEndpoint": service_endpoint
+"/resourceviews:v1beta2/ServiceEndpoint/name": name
+"/resourceviews:v1beta2/ServiceEndpoint/port": port
+"/resourceviews:v1beta2/ZoneViewsAddResourcesRequest/resources": resources
+"/resourceviews:v1beta2/ZoneViewsAddResourcesRequest/resources/resource": resource
+"/resourceviews:v1beta2/ZoneViewsGetServiceResponse/endpoints": endpoints
+"/resourceviews:v1beta2/ZoneViewsGetServiceResponse/endpoints/endpoint": endpoint
+"/resourceviews:v1beta2/ZoneViewsGetServiceResponse/fingerprint": fingerprint
+"/resourceviews:v1beta2/ZoneViewsList": zone_views_list
+"/resourceviews:v1beta2/ZoneViewsList/items": items
+"/resourceviews:v1beta2/ZoneViewsList/items/item": item
+"/resourceviews:v1beta2/ZoneViewsList/kind": kind
+"/resourceviews:v1beta2/ZoneViewsList/nextPageToken": next_page_token
+"/resourceviews:v1beta2/ZoneViewsList/selfLink": self_link
+"/resourceviews:v1beta2/ZoneViewsListResourcesResponse/items": items
+"/resourceviews:v1beta2/ZoneViewsListResourcesResponse/items/item": item
+"/resourceviews:v1beta2/ZoneViewsListResourcesResponse/network": network
+"/resourceviews:v1beta2/ZoneViewsListResourcesResponse/nextPageToken": next_page_token
+"/resourceviews:v1beta2/ZoneViewsRemoveResourcesRequest/resources": resources
+"/resourceviews:v1beta2/ZoneViewsRemoveResourcesRequest/resources/resource": resource
+"/resourceviews:v1beta2/ZoneViewsSetServiceRequest/endpoints": endpoints
+"/resourceviews:v1beta2/ZoneViewsSetServiceRequest/endpoints/endpoint": endpoint
+"/resourceviews:v1beta2/ZoneViewsSetServiceRequest/fingerprint": fingerprint
+"/resourceviews:v1beta2/ZoneViewsSetServiceRequest/resourceName": resource_name
+"/siteVerification:v1/fields": fields
+"/siteVerification:v1/key": key
+"/siteVerification:v1/quotaUser": quota_user
+"/siteVerification:v1/userIp": user_ip
+"/siteVerification:v1/siteVerification.webResource.delete": delete_web_resource
+"/siteVerification:v1/siteVerification.webResource.delete/id": id
+"/siteVerification:v1/siteVerification.webResource.get": get_web_resource
+"/siteVerification:v1/siteVerification.webResource.get/id": id
+"/siteVerification:v1/siteVerification.webResource.getToken": get_token_web_resource
+"/siteVerification:v1/siteVerification.webResource.insert": insert_web_resource
+"/siteVerification:v1/siteVerification.webResource.insert/verificationMethod": verification_method
+"/siteVerification:v1/siteVerification.webResource.list": list_web_resources
+"/siteVerification:v1/siteVerification.webResource.patch": patch_web_resource
+"/siteVerification:v1/siteVerification.webResource.patch/id": id
+"/siteVerification:v1/siteVerification.webResource.update": update_web_resource
+"/siteVerification:v1/siteVerification.webResource.update/id": id
+"/siteVerification:v1/SiteVerificationWebResourceGettokenRequest/site": site
+"/siteVerification:v1/SiteVerificationWebResourceGettokenRequest/site/identifier": identifier
+"/siteVerification:v1/SiteVerificationWebResourceGettokenRequest/site/type": type
+"/siteVerification:v1/SiteVerificationWebResourceGettokenRequest/verificationMethod": verification_method
+"/siteVerification:v1/SiteVerificationWebResourceGettokenResponse/token": token
+"/siteVerification:v1/SiteVerificationWebResourceListResponse/items": items
+"/siteVerification:v1/SiteVerificationWebResourceListResponse/items/item": item
+"/siteVerification:v1/SiteVerificationWebResourceResource": site_verification_web_resource_resource
+"/siteVerification:v1/SiteVerificationWebResourceResource/id": id
+"/siteVerification:v1/SiteVerificationWebResourceResource/owners": owners
+"/siteVerification:v1/SiteVerificationWebResourceResource/owners/owner": owner
+"/siteVerification:v1/SiteVerificationWebResourceResource/site": site
+"/siteVerification:v1/SiteVerificationWebResourceResource/site/identifier": identifier
+"/siteVerification:v1/SiteVerificationWebResourceResource/site/type": type
+"/sqladmin:v1beta4/fields": fields
+"/sqladmin:v1beta4/key": key
+"/sqladmin:v1beta4/quotaUser": quota_user
+"/sqladmin:v1beta4/userIp": user_ip
+"/sqladmin:v1beta4/sql.backupRuns.get": get_backup_run
+"/sqladmin:v1beta4/sql.backupRuns.get/id": id
+"/sqladmin:v1beta4/sql.backupRuns.get/instance": instance
+"/sqladmin:v1beta4/sql.backupRuns.get/project": project
+"/sqladmin:v1beta4/sql.backupRuns.list": list_backup_runs
+"/sqladmin:v1beta4/sql.backupRuns.list/instance": instance
+"/sqladmin:v1beta4/sql.backupRuns.list/maxResults": max_results
+"/sqladmin:v1beta4/sql.backupRuns.list/pageToken": page_token
+"/sqladmin:v1beta4/sql.backupRuns.list/project": project
+"/sqladmin:v1beta4/sql.databases.delete": delete_database
+"/sqladmin:v1beta4/sql.databases.delete/database": database
+"/sqladmin:v1beta4/sql.databases.delete/instance": instance
+"/sqladmin:v1beta4/sql.databases.delete/project": project
+"/sqladmin:v1beta4/sql.databases.get": get_database
+"/sqladmin:v1beta4/sql.databases.get/database": database
+"/sqladmin:v1beta4/sql.databases.get/instance": instance
+"/sqladmin:v1beta4/sql.databases.get/project": project
+"/sqladmin:v1beta4/sql.databases.insert": insert_database
+"/sqladmin:v1beta4/sql.databases.insert/instance": instance
+"/sqladmin:v1beta4/sql.databases.insert/project": project
+"/sqladmin:v1beta4/sql.databases.list": list_databases
+"/sqladmin:v1beta4/sql.databases.list/instance": instance
+"/sqladmin:v1beta4/sql.databases.list/project": project
+"/sqladmin:v1beta4/sql.databases.patch": patch_database
+"/sqladmin:v1beta4/sql.databases.patch/database": database
+"/sqladmin:v1beta4/sql.databases.patch/instance": instance
+"/sqladmin:v1beta4/sql.databases.patch/project": project
+"/sqladmin:v1beta4/sql.databases.update": update_database
+"/sqladmin:v1beta4/sql.databases.update/database": database
+"/sqladmin:v1beta4/sql.databases.update/instance": instance
+"/sqladmin:v1beta4/sql.databases.update/project": project
+"/sqladmin:v1beta4/sql.flags.list": list_flags
+"/sqladmin:v1beta4/sql.instances.clone": clone_instance
+"/sqladmin:v1beta4/sql.instances.clone/instance": instance
+"/sqladmin:v1beta4/sql.instances.clone/project": project
+"/sqladmin:v1beta4/sql.instances.delete": delete_instance
+"/sqladmin:v1beta4/sql.instances.delete/instance": instance
+"/sqladmin:v1beta4/sql.instances.delete/project": project
+"/sqladmin:v1beta4/sql.instances.export": export_instance
+"/sqladmin:v1beta4/sql.instances.export/instance": instance
+"/sqladmin:v1beta4/sql.instances.export/project": project
+"/sqladmin:v1beta4/sql.instances.get": get_instance
+"/sqladmin:v1beta4/sql.instances.get/instance": instance
+"/sqladmin:v1beta4/sql.instances.get/project": project
+"/sqladmin:v1beta4/sql.instances.import": import_instance
+"/sqladmin:v1beta4/sql.instances.import/instance": instance
+"/sqladmin:v1beta4/sql.instances.import/project": project
+"/sqladmin:v1beta4/sql.instances.insert": insert_instance
+"/sqladmin:v1beta4/sql.instances.insert/project": project
+"/sqladmin:v1beta4/sql.instances.list": list_instances
+"/sqladmin:v1beta4/sql.instances.list/maxResults": max_results
+"/sqladmin:v1beta4/sql.instances.list/pageToken": page_token
+"/sqladmin:v1beta4/sql.instances.list/project": project
+"/sqladmin:v1beta4/sql.instances.patch": patch_instance
+"/sqladmin:v1beta4/sql.instances.patch/instance": instance
+"/sqladmin:v1beta4/sql.instances.patch/project": project
+"/sqladmin:v1beta4/sql.instances.promoteReplica": promote_replica_instance
+"/sqladmin:v1beta4/sql.instances.promoteReplica/instance": instance
+"/sqladmin:v1beta4/sql.instances.promoteReplica/project": project
+"/sqladmin:v1beta4/sql.instances.resetSslConfig": reset_ssl_config_instance
+"/sqladmin:v1beta4/sql.instances.resetSslConfig/instance": instance
+"/sqladmin:v1beta4/sql.instances.resetSslConfig/project": project
+"/sqladmin:v1beta4/sql.instances.restart": restart_instance
+"/sqladmin:v1beta4/sql.instances.restart/instance": instance
+"/sqladmin:v1beta4/sql.instances.restart/project": project
+"/sqladmin:v1beta4/sql.instances.restoreBackup": restore_backup_instance
+"/sqladmin:v1beta4/sql.instances.restoreBackup/instance": instance
+"/sqladmin:v1beta4/sql.instances.restoreBackup/project": project
+"/sqladmin:v1beta4/sql.instances.startReplica": start_replica_instance
+"/sqladmin:v1beta4/sql.instances.startReplica/instance": instance
+"/sqladmin:v1beta4/sql.instances.startReplica/project": project
+"/sqladmin:v1beta4/sql.instances.stopReplica": stop_replica_instance
+"/sqladmin:v1beta4/sql.instances.stopReplica/instance": instance
+"/sqladmin:v1beta4/sql.instances.stopReplica/project": project
+"/sqladmin:v1beta4/sql.instances.update": update_instance
+"/sqladmin:v1beta4/sql.instances.update/instance": instance
+"/sqladmin:v1beta4/sql.instances.update/project": project
+"/sqladmin:v1beta4/sql.operations.get": get_operation
+"/sqladmin:v1beta4/sql.operations.get/operation": operation
+"/sqladmin:v1beta4/sql.operations.get/project": project
+"/sqladmin:v1beta4/sql.operations.list": list_operations
+"/sqladmin:v1beta4/sql.operations.list/instance": instance
+"/sqladmin:v1beta4/sql.operations.list/maxResults": max_results
+"/sqladmin:v1beta4/sql.operations.list/pageToken": page_token
+"/sqladmin:v1beta4/sql.operations.list/project": project
+"/sqladmin:v1beta4/sql.sslCerts.delete": delete_ssl_cert
+"/sqladmin:v1beta4/sql.sslCerts.delete/instance": instance
+"/sqladmin:v1beta4/sql.sslCerts.delete/project": project
+"/sqladmin:v1beta4/sql.sslCerts.delete/sha1Fingerprint": sha1_fingerprint
+"/sqladmin:v1beta4/sql.sslCerts.get": get_ssl_cert
+"/sqladmin:v1beta4/sql.sslCerts.get/instance": instance
+"/sqladmin:v1beta4/sql.sslCerts.get/project": project
+"/sqladmin:v1beta4/sql.sslCerts.get/sha1Fingerprint": sha1_fingerprint
+"/sqladmin:v1beta4/sql.sslCerts.insert": insert_ssl_cert
+"/sqladmin:v1beta4/sql.sslCerts.insert/instance": instance
+"/sqladmin:v1beta4/sql.sslCerts.insert/project": project
+"/sqladmin:v1beta4/sql.sslCerts.list": list_ssl_certs
+"/sqladmin:v1beta4/sql.sslCerts.list/instance": instance
+"/sqladmin:v1beta4/sql.sslCerts.list/project": project
+"/sqladmin:v1beta4/sql.tiers.list": list_tiers
+"/sqladmin:v1beta4/sql.tiers.list/project": project
+"/sqladmin:v1beta4/sql.users.delete": delete_user
+"/sqladmin:v1beta4/sql.users.delete/host": host
+"/sqladmin:v1beta4/sql.users.delete/instance": instance
+"/sqladmin:v1beta4/sql.users.delete/name": name
+"/sqladmin:v1beta4/sql.users.delete/project": project
+"/sqladmin:v1beta4/sql.users.insert": insert_user
+"/sqladmin:v1beta4/sql.users.insert/instance": instance
+"/sqladmin:v1beta4/sql.users.insert/project": project
+"/sqladmin:v1beta4/sql.users.list": list_users
+"/sqladmin:v1beta4/sql.users.list/instance": instance
+"/sqladmin:v1beta4/sql.users.list/project": project
+"/sqladmin:v1beta4/sql.users.update": update_user
+"/sqladmin:v1beta4/sql.users.update/host": host
+"/sqladmin:v1beta4/sql.users.update/instance": instance
+"/sqladmin:v1beta4/sql.users.update/name": name
+"/sqladmin:v1beta4/sql.users.update/project": project
+"/sqladmin:v1beta4/AclEntry": acl_entry
+"/sqladmin:v1beta4/AclEntry/expirationTime": expiration_time
+"/sqladmin:v1beta4/AclEntry/kind": kind
+"/sqladmin:v1beta4/AclEntry/name": name
+"/sqladmin:v1beta4/AclEntry/value": value
+"/sqladmin:v1beta4/BackupConfiguration": backup_configuration
+"/sqladmin:v1beta4/BackupConfiguration/binaryLogEnabled": binary_log_enabled
+"/sqladmin:v1beta4/BackupConfiguration/enabled": enabled
+"/sqladmin:v1beta4/BackupConfiguration/kind": kind
+"/sqladmin:v1beta4/BackupConfiguration/startTime": start_time
+"/sqladmin:v1beta4/BackupRun": backup_run
+"/sqladmin:v1beta4/BackupRun/endTime": end_time
+"/sqladmin:v1beta4/BackupRun/enqueuedTime": enqueued_time
+"/sqladmin:v1beta4/BackupRun/error": error
+"/sqladmin:v1beta4/BackupRun/id": id
+"/sqladmin:v1beta4/BackupRun/instance": instance
+"/sqladmin:v1beta4/BackupRun/kind": kind
+"/sqladmin:v1beta4/BackupRun/selfLink": self_link
+"/sqladmin:v1beta4/BackupRun/startTime": start_time
+"/sqladmin:v1beta4/BackupRun/status": status
+"/sqladmin:v1beta4/BackupRun/windowStartTime": window_start_time
+"/sqladmin:v1beta4/BackupRunsListResponse/items": items
+"/sqladmin:v1beta4/BackupRunsListResponse/items/item": item
+"/sqladmin:v1beta4/BackupRunsListResponse/kind": kind
+"/sqladmin:v1beta4/BackupRunsListResponse/nextPageToken": next_page_token
+"/sqladmin:v1beta4/BinLogCoordinates": bin_log_coordinates
+"/sqladmin:v1beta4/BinLogCoordinates/binLogFileName": bin_log_file_name
+"/sqladmin:v1beta4/BinLogCoordinates/binLogPosition": bin_log_position
+"/sqladmin:v1beta4/BinLogCoordinates/kind": kind
+"/sqladmin:v1beta4/CloneContext": clone_context
+"/sqladmin:v1beta4/CloneContext/binLogCoordinates": bin_log_coordinates
+"/sqladmin:v1beta4/CloneContext/destinationInstanceName": destination_instance_name
+"/sqladmin:v1beta4/CloneContext/kind": kind
+"/sqladmin:v1beta4/Database": database
+"/sqladmin:v1beta4/Database/charset": charset
+"/sqladmin:v1beta4/Database/collation": collation
+"/sqladmin:v1beta4/Database/etag": etag
+"/sqladmin:v1beta4/Database/instance": instance
+"/sqladmin:v1beta4/Database/kind": kind
+"/sqladmin:v1beta4/Database/name": name
+"/sqladmin:v1beta4/Database/project": project
+"/sqladmin:v1beta4/Database/selfLink": self_link
+"/sqladmin:v1beta4/DatabaseFlags": database_flags
+"/sqladmin:v1beta4/DatabaseFlags/name": name
+"/sqladmin:v1beta4/DatabaseFlags/value": value
+"/sqladmin:v1beta4/DatabaseInstance": database_instance
+"/sqladmin:v1beta4/DatabaseInstance/currentDiskSize": current_disk_size
+"/sqladmin:v1beta4/DatabaseInstance/databaseVersion": database_version
+"/sqladmin:v1beta4/DatabaseInstance/etag": etag
+"/sqladmin:v1beta4/DatabaseInstance/instanceType": instance_type
+"/sqladmin:v1beta4/DatabaseInstance/ipAddresses": ip_addresses
+"/sqladmin:v1beta4/DatabaseInstance/ipAddresses/ip_address": ip_address
+"/sqladmin:v1beta4/DatabaseInstance/ipv6Address": ipv6_address
+"/sqladmin:v1beta4/DatabaseInstance/kind": kind
+"/sqladmin:v1beta4/DatabaseInstance/masterInstanceName": master_instance_name
+"/sqladmin:v1beta4/DatabaseInstance/maxDiskSize": max_disk_size
+"/sqladmin:v1beta4/DatabaseInstance/name": name
+"/sqladmin:v1beta4/DatabaseInstance/onPremisesConfiguration": on_premises_configuration
+"/sqladmin:v1beta4/DatabaseInstance/project": project
+"/sqladmin:v1beta4/DatabaseInstance/region": region
+"/sqladmin:v1beta4/DatabaseInstance/replicaConfiguration": replica_configuration
+"/sqladmin:v1beta4/DatabaseInstance/replicaNames": replica_names
+"/sqladmin:v1beta4/DatabaseInstance/replicaNames/replica_name": replica_name
+"/sqladmin:v1beta4/DatabaseInstance/selfLink": self_link
+"/sqladmin:v1beta4/DatabaseInstance/serverCaCert": server_ca_cert
+"/sqladmin:v1beta4/DatabaseInstance/serviceAccountEmailAddress": service_account_email_address
+"/sqladmin:v1beta4/DatabaseInstance/settings": settings
+"/sqladmin:v1beta4/DatabaseInstance/state": state
+"/sqladmin:v1beta4/DatabasesListResponse/items": items
+"/sqladmin:v1beta4/DatabasesListResponse/items/item": item
+"/sqladmin:v1beta4/DatabasesListResponse/kind": kind
+"/sqladmin:v1beta4/ExportContext": export_context
+"/sqladmin:v1beta4/ExportContext/csvExportOptions": csv_export_options
+"/sqladmin:v1beta4/ExportContext/csvExportOptions/selectQuery": select_query
+"/sqladmin:v1beta4/ExportContext/databases": databases
+"/sqladmin:v1beta4/ExportContext/databases/database": database
+"/sqladmin:v1beta4/ExportContext/fileType": file_type
+"/sqladmin:v1beta4/ExportContext/kind": kind
+"/sqladmin:v1beta4/ExportContext/sqlExportOptions": sql_export_options
+"/sqladmin:v1beta4/ExportContext/sqlExportOptions/tables": tables
+"/sqladmin:v1beta4/ExportContext/sqlExportOptions/tables/table": table
+"/sqladmin:v1beta4/ExportContext/uri": uri
+"/sqladmin:v1beta4/Flag": flag
+"/sqladmin:v1beta4/Flag/allowedStringValues": allowed_string_values
+"/sqladmin:v1beta4/Flag/allowedStringValues/allowed_string_value": allowed_string_value
+"/sqladmin:v1beta4/Flag/appliesTo": applies_to
+"/sqladmin:v1beta4/Flag/appliesTo/applies_to": applies_to
+"/sqladmin:v1beta4/Flag/kind": kind
+"/sqladmin:v1beta4/Flag/maxValue": max_value
+"/sqladmin:v1beta4/Flag/minValue": min_value
+"/sqladmin:v1beta4/Flag/name": name
+"/sqladmin:v1beta4/Flag/type": type
+"/sqladmin:v1beta4/FlagsListResponse/items": items
+"/sqladmin:v1beta4/FlagsListResponse/items/item": item
+"/sqladmin:v1beta4/FlagsListResponse/kind": kind
+"/sqladmin:v1beta4/ImportContext": import_context
+"/sqladmin:v1beta4/ImportContext/csvImportOptions": csv_import_options
+"/sqladmin:v1beta4/ImportContext/csvImportOptions/columns": columns
+"/sqladmin:v1beta4/ImportContext/csvImportOptions/columns/column": column
+"/sqladmin:v1beta4/ImportContext/csvImportOptions/table": table
+"/sqladmin:v1beta4/ImportContext/database": database
+"/sqladmin:v1beta4/ImportContext/fileType": file_type
+"/sqladmin:v1beta4/ImportContext/kind": kind
+"/sqladmin:v1beta4/ImportContext/uri": uri
+"/sqladmin:v1beta4/InstancesCloneRequest/cloneContext": clone_context
+"/sqladmin:v1beta4/InstancesExportRequest/exportContext": export_context
+"/sqladmin:v1beta4/InstancesImportRequest/importContext": import_context
+"/sqladmin:v1beta4/InstancesListResponse/items": items
+"/sqladmin:v1beta4/InstancesListResponse/items/item": item
+"/sqladmin:v1beta4/InstancesListResponse/kind": kind
+"/sqladmin:v1beta4/InstancesListResponse/nextPageToken": next_page_token
+"/sqladmin:v1beta4/InstancesRestoreBackupRequest/restoreBackupContext": restore_backup_context
+"/sqladmin:v1beta4/IpConfiguration": ip_configuration
+"/sqladmin:v1beta4/IpConfiguration/authorizedNetworks": authorized_networks
+"/sqladmin:v1beta4/IpConfiguration/authorizedNetworks/authorized_network": authorized_network
+"/sqladmin:v1beta4/IpConfiguration/ipv4Enabled": ipv4_enabled
+"/sqladmin:v1beta4/IpConfiguration/requireSsl": require_ssl
+"/sqladmin:v1beta4/IpMapping": ip_mapping
+"/sqladmin:v1beta4/IpMapping/ipAddress": ip_address
+"/sqladmin:v1beta4/IpMapping/timeToRetire": time_to_retire
+"/sqladmin:v1beta4/LocationPreference": location_preference
+"/sqladmin:v1beta4/LocationPreference/followGaeApplication": follow_gae_application
+"/sqladmin:v1beta4/LocationPreference/kind": kind
+"/sqladmin:v1beta4/LocationPreference/zone": zone
+"/sqladmin:v1beta4/MySqlReplicaConfiguration": my_sql_replica_configuration
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/caCertificate": ca_certificate
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/clientCertificate": client_certificate
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/clientKey": client_key
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/connectRetryInterval": connect_retry_interval
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/dumpFilePath": dump_file_path
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/kind": kind
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/masterHeartbeatPeriod": master_heartbeat_period
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/password": password
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/sslCipher": ssl_cipher
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/username": username
+"/sqladmin:v1beta4/MySqlReplicaConfiguration/verifyServerCertificate": verify_server_certificate
+"/sqladmin:v1beta4/OnPremisesConfiguration": on_premises_configuration
+"/sqladmin:v1beta4/OnPremisesConfiguration/hostPort": host_port
+"/sqladmin:v1beta4/OnPremisesConfiguration/kind": kind
+"/sqladmin:v1beta4/Operation": operation
+"/sqladmin:v1beta4/Operation/endTime": end_time
+"/sqladmin:v1beta4/Operation/error": error
+"/sqladmin:v1beta4/Operation/exportContext": export_context
+"/sqladmin:v1beta4/Operation/importContext": import_context
+"/sqladmin:v1beta4/Operation/insertTime": insert_time
+"/sqladmin:v1beta4/Operation/kind": kind
+"/sqladmin:v1beta4/Operation/name": name
+"/sqladmin:v1beta4/Operation/operationType": operation_type
+"/sqladmin:v1beta4/Operation/selfLink": self_link
+"/sqladmin:v1beta4/Operation/startTime": start_time
+"/sqladmin:v1beta4/Operation/status": status
+"/sqladmin:v1beta4/Operation/targetId": target_id
+"/sqladmin:v1beta4/Operation/targetLink": target_link
+"/sqladmin:v1beta4/Operation/targetProject": target_project
+"/sqladmin:v1beta4/Operation/user": user
+"/sqladmin:v1beta4/OperationError": operation_error
+"/sqladmin:v1beta4/OperationError/code": code
+"/sqladmin:v1beta4/OperationError/kind": kind
+"/sqladmin:v1beta4/OperationError/message": message
+"/sqladmin:v1beta4/OperationErrors": operation_errors
+"/sqladmin:v1beta4/OperationErrors/errors": errors
+"/sqladmin:v1beta4/OperationErrors/errors/error": error
+"/sqladmin:v1beta4/OperationErrors/kind": kind
+"/sqladmin:v1beta4/OperationsListResponse/items": items
+"/sqladmin:v1beta4/OperationsListResponse/items/item": item
+"/sqladmin:v1beta4/OperationsListResponse/kind": kind
+"/sqladmin:v1beta4/OperationsListResponse/nextPageToken": next_page_token
+"/sqladmin:v1beta4/ReplicaConfiguration": replica_configuration
+"/sqladmin:v1beta4/ReplicaConfiguration/kind": kind
+"/sqladmin:v1beta4/ReplicaConfiguration/mysqlReplicaConfiguration": mysql_replica_configuration
+"/sqladmin:v1beta4/RestoreBackupContext": restore_backup_context
+"/sqladmin:v1beta4/RestoreBackupContext/backupRunId": backup_run_id
+"/sqladmin:v1beta4/RestoreBackupContext/instanceId": instance_id
+"/sqladmin:v1beta4/RestoreBackupContext/kind": kind
+"/sqladmin:v1beta4/Settings": settings
+"/sqladmin:v1beta4/Settings/activationPolicy": activation_policy
+"/sqladmin:v1beta4/Settings/authorizedGaeApplications": authorized_gae_applications
+"/sqladmin:v1beta4/Settings/authorizedGaeApplications/authorized_gae_application": authorized_gae_application
+"/sqladmin:v1beta4/Settings/backupConfiguration": backup_configuration
+"/sqladmin:v1beta4/Settings/crashSafeReplicationEnabled": crash_safe_replication_enabled
+"/sqladmin:v1beta4/Settings/databaseFlags": database_flags
+"/sqladmin:v1beta4/Settings/databaseFlags/database_flag": database_flag
+"/sqladmin:v1beta4/Settings/databaseReplicationEnabled": database_replication_enabled
+"/sqladmin:v1beta4/Settings/ipConfiguration": ip_configuration
+"/sqladmin:v1beta4/Settings/kind": kind
+"/sqladmin:v1beta4/Settings/locationPreference": location_preference
+"/sqladmin:v1beta4/Settings/pricingPlan": pricing_plan
+"/sqladmin:v1beta4/Settings/replicationType": replication_type
+"/sqladmin:v1beta4/Settings/settingsVersion": settings_version
+"/sqladmin:v1beta4/Settings/tier": tier
+"/sqladmin:v1beta4/SslCert": ssl_cert
+"/sqladmin:v1beta4/SslCert/cert": cert
+"/sqladmin:v1beta4/SslCert/certSerialNumber": cert_serial_number
+"/sqladmin:v1beta4/SslCert/commonName": common_name
+"/sqladmin:v1beta4/SslCert/createTime": create_time
+"/sqladmin:v1beta4/SslCert/expirationTime": expiration_time
+"/sqladmin:v1beta4/SslCert/instance": instance
+"/sqladmin:v1beta4/SslCert/kind": kind
+"/sqladmin:v1beta4/SslCert/selfLink": self_link
+"/sqladmin:v1beta4/SslCert/sha1Fingerprint": sha1_fingerprint
+"/sqladmin:v1beta4/SslCertDetail": ssl_cert_detail
+"/sqladmin:v1beta4/SslCertDetail/certInfo": cert_info
+"/sqladmin:v1beta4/SslCertDetail/certPrivateKey": cert_private_key
+"/sqladmin:v1beta4/SslCertsInsertRequest/commonName": common_name
+"/sqladmin:v1beta4/SslCertsInsertResponse/clientCert": client_cert
+"/sqladmin:v1beta4/SslCertsInsertResponse/kind": kind
+"/sqladmin:v1beta4/SslCertsInsertResponse/serverCaCert": server_ca_cert
+"/sqladmin:v1beta4/SslCertsListResponse/items": items
+"/sqladmin:v1beta4/SslCertsListResponse/items/item": item
+"/sqladmin:v1beta4/SslCertsListResponse/kind": kind
+"/sqladmin:v1beta4/Tier": tier
+"/sqladmin:v1beta4/Tier/DiskQuota": disk_quota
+"/sqladmin:v1beta4/Tier/RAM": ram
+"/sqladmin:v1beta4/Tier/kind": kind
+"/sqladmin:v1beta4/Tier/region": region
+"/sqladmin:v1beta4/Tier/region/region": region
+"/sqladmin:v1beta4/Tier/tier": tier
+"/sqladmin:v1beta4/TiersListResponse/items": items
+"/sqladmin:v1beta4/TiersListResponse/items/item": item
+"/sqladmin:v1beta4/TiersListResponse/kind": kind
+"/sqladmin:v1beta4/User": user
+"/sqladmin:v1beta4/User/etag": etag
+"/sqladmin:v1beta4/User/host": host
+"/sqladmin:v1beta4/User/instance": instance
+"/sqladmin:v1beta4/User/kind": kind
+"/sqladmin:v1beta4/User/name": name
+"/sqladmin:v1beta4/User/password": password
+"/sqladmin:v1beta4/User/project": project
+"/sqladmin:v1beta4/UsersListResponse/items": items
+"/sqladmin:v1beta4/UsersListResponse/items/item": item
+"/sqladmin:v1beta4/UsersListResponse/kind": kind
+"/sqladmin:v1beta4/UsersListResponse/nextPageToken": next_page_token
+"/storage:v1/fields": fields
+"/storage:v1/key": key
+"/storage:v1/quotaUser": quota_user
+"/storage:v1/userIp": user_ip
+"/storage:v1/storage.bucketAccessControls.delete": delete_bucket_access_control
+"/storage:v1/storage.bucketAccessControls.delete/bucket": bucket
+"/storage:v1/storage.bucketAccessControls.delete/entity": entity
+"/storage:v1/storage.bucketAccessControls.get": get_bucket_access_control
+"/storage:v1/storage.bucketAccessControls.get/bucket": bucket
+"/storage:v1/storage.bucketAccessControls.get/entity": entity
+"/storage:v1/storage.bucketAccessControls.insert": insert_bucket_access_control
+"/storage:v1/storage.bucketAccessControls.insert/bucket": bucket
+"/storage:v1/storage.bucketAccessControls.list": list_bucket_access_controls
+"/storage:v1/storage.bucketAccessControls.list/bucket": bucket
+"/storage:v1/storage.bucketAccessControls.patch": patch_bucket_access_control
+"/storage:v1/storage.bucketAccessControls.patch/bucket": bucket
+"/storage:v1/storage.bucketAccessControls.patch/entity": entity
+"/storage:v1/storage.bucketAccessControls.update": update_bucket_access_control
+"/storage:v1/storage.bucketAccessControls.update/bucket": bucket
+"/storage:v1/storage.bucketAccessControls.update/entity": entity
+"/storage:v1/storage.buckets.delete": delete_bucket
+"/storage:v1/storage.buckets.delete/bucket": bucket
+"/storage:v1/storage.buckets.delete/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.buckets.delete/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.buckets.get": get_bucket
+"/storage:v1/storage.buckets.get/bucket": bucket
+"/storage:v1/storage.buckets.get/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.buckets.get/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.buckets.get/projection": projection
+"/storage:v1/storage.buckets.insert": insert_bucket
+"/storage:v1/storage.buckets.insert/predefinedAcl": predefined_acl
+"/storage:v1/storage.buckets.insert/predefinedDefaultObjectAcl": predefined_default_object_acl
+"/storage:v1/storage.buckets.insert/project": project
+"/storage:v1/storage.buckets.insert/projection": projection
+"/storage:v1/storage.buckets.list": list_buckets
+"/storage:v1/storage.buckets.list/maxResults": max_results
+"/storage:v1/storage.buckets.list/pageToken": page_token
+"/storage:v1/storage.buckets.list/prefix": prefix
+"/storage:v1/storage.buckets.list/project": project
+"/storage:v1/storage.buckets.list/projection": projection
+"/storage:v1/storage.buckets.patch": patch_bucket
+"/storage:v1/storage.buckets.patch/bucket": bucket
+"/storage:v1/storage.buckets.patch/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.buckets.patch/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.buckets.patch/predefinedAcl": predefined_acl
+"/storage:v1/storage.buckets.patch/predefinedDefaultObjectAcl": predefined_default_object_acl
+"/storage:v1/storage.buckets.patch/projection": projection
+"/storage:v1/storage.buckets.update": update_bucket
+"/storage:v1/storage.buckets.update/bucket": bucket
+"/storage:v1/storage.buckets.update/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.buckets.update/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.buckets.update/predefinedAcl": predefined_acl
+"/storage:v1/storage.buckets.update/predefinedDefaultObjectAcl": predefined_default_object_acl
+"/storage:v1/storage.buckets.update/projection": projection
+"/storage:v1/storage.channels.stop": stop_channel
+"/storage:v1/storage.defaultObjectAccessControls.delete": delete_default_object_access_control
+"/storage:v1/storage.defaultObjectAccessControls.delete/bucket": bucket
+"/storage:v1/storage.defaultObjectAccessControls.delete/entity": entity
+"/storage:v1/storage.defaultObjectAccessControls.get": get_default_object_access_control
+"/storage:v1/storage.defaultObjectAccessControls.get/bucket": bucket
+"/storage:v1/storage.defaultObjectAccessControls.get/entity": entity
+"/storage:v1/storage.defaultObjectAccessControls.insert": insert_default_object_access_control
+"/storage:v1/storage.defaultObjectAccessControls.insert/bucket": bucket
+"/storage:v1/storage.defaultObjectAccessControls.list": list_default_object_access_controls
+"/storage:v1/storage.defaultObjectAccessControls.list/bucket": bucket
+"/storage:v1/storage.defaultObjectAccessControls.list/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.defaultObjectAccessControls.list/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.defaultObjectAccessControls.patch": patch_default_object_access_control
+"/storage:v1/storage.defaultObjectAccessControls.patch/bucket": bucket
+"/storage:v1/storage.defaultObjectAccessControls.patch/entity": entity
+"/storage:v1/storage.defaultObjectAccessControls.update": update_default_object_access_control
+"/storage:v1/storage.defaultObjectAccessControls.update/bucket": bucket
+"/storage:v1/storage.defaultObjectAccessControls.update/entity": entity
+"/storage:v1/storage.objectAccessControls.delete": delete_object_access_control
+"/storage:v1/storage.objectAccessControls.delete/bucket": bucket
+"/storage:v1/storage.objectAccessControls.delete/entity": entity
+"/storage:v1/storage.objectAccessControls.delete/generation": generation
+"/storage:v1/storage.objectAccessControls.delete/object": object
+"/storage:v1/storage.objectAccessControls.get": get_object_access_control
+"/storage:v1/storage.objectAccessControls.get/bucket": bucket
+"/storage:v1/storage.objectAccessControls.get/entity": entity
+"/storage:v1/storage.objectAccessControls.get/generation": generation
+"/storage:v1/storage.objectAccessControls.get/object": object
+"/storage:v1/storage.objectAccessControls.insert": insert_object_access_control
+"/storage:v1/storage.objectAccessControls.insert/bucket": bucket
+"/storage:v1/storage.objectAccessControls.insert/generation": generation
+"/storage:v1/storage.objectAccessControls.insert/object": object
+"/storage:v1/storage.objectAccessControls.list": list_object_access_controls
+"/storage:v1/storage.objectAccessControls.list/bucket": bucket
+"/storage:v1/storage.objectAccessControls.list/generation": generation
+"/storage:v1/storage.objectAccessControls.list/object": object
+"/storage:v1/storage.objectAccessControls.patch": patch_object_access_control
+"/storage:v1/storage.objectAccessControls.patch/bucket": bucket
+"/storage:v1/storage.objectAccessControls.patch/entity": entity
+"/storage:v1/storage.objectAccessControls.patch/generation": generation
+"/storage:v1/storage.objectAccessControls.patch/object": object
+"/storage:v1/storage.objectAccessControls.update": update_object_access_control
+"/storage:v1/storage.objectAccessControls.update/bucket": bucket
+"/storage:v1/storage.objectAccessControls.update/entity": entity
+"/storage:v1/storage.objectAccessControls.update/generation": generation
+"/storage:v1/storage.objectAccessControls.update/object": object
+"/storage:v1/storage.objects.compose": compose
+"/storage:v1/storage.objects.compose/destinationBucket": destination_bucket
+"/storage:v1/storage.objects.compose/destinationObject": destination_object
+"/storage:v1/storage.objects.compose/destinationPredefinedAcl": destination_predefined_acl
+"/storage:v1/storage.objects.compose/ifGenerationMatch": if_generation_match
+"/storage:v1/storage.objects.compose/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.objects.copy": copy_object
+"/storage:v1/storage.objects.copy/destinationBucket": destination_bucket
+"/storage:v1/storage.objects.copy/destinationObject": destination_object
+"/storage:v1/storage.objects.copy/destinationPredefinedAcl": destination_predefined_acl
+"/storage:v1/storage.objects.copy/ifGenerationMatch": if_generation_match
+"/storage:v1/storage.objects.copy/ifGenerationNotMatch": if_generation_not_match
+"/storage:v1/storage.objects.copy/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.objects.copy/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.objects.copy/ifSourceGenerationMatch": if_source_generation_match
+"/storage:v1/storage.objects.copy/ifSourceGenerationNotMatch": if_source_generation_not_match
+"/storage:v1/storage.objects.copy/ifSourceMetagenerationMatch": if_source_metageneration_match
+"/storage:v1/storage.objects.copy/ifSourceMetagenerationNotMatch": if_source_metageneration_not_match
+"/storage:v1/storage.objects.copy/projection": projection
+"/storage:v1/storage.objects.copy/sourceBucket": source_bucket
+"/storage:v1/storage.objects.copy/sourceGeneration": source_generation
+"/storage:v1/storage.objects.copy/sourceObject": source_object
+"/storage:v1/storage.objects.delete": delete_object
+"/storage:v1/storage.objects.delete/bucket": bucket
+"/storage:v1/storage.objects.delete/generation": generation
+"/storage:v1/storage.objects.delete/ifGenerationMatch": if_generation_match
+"/storage:v1/storage.objects.delete/ifGenerationNotMatch": if_generation_not_match
+"/storage:v1/storage.objects.delete/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.objects.delete/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.objects.delete/object": object
+"/storage:v1/storage.objects.get": get_object
+"/storage:v1/storage.objects.get/bucket": bucket
+"/storage:v1/storage.objects.get/generation": generation
+"/storage:v1/storage.objects.get/ifGenerationMatch": if_generation_match
+"/storage:v1/storage.objects.get/ifGenerationNotMatch": if_generation_not_match
+"/storage:v1/storage.objects.get/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.objects.get/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.objects.get/object": object
+"/storage:v1/storage.objects.get/projection": projection
+"/storage:v1/storage.objects.insert": insert_object
+"/storage:v1/storage.objects.insert/bucket": bucket
+"/storage:v1/storage.objects.insert/contentEncoding": content_encoding
+"/storage:v1/storage.objects.insert/ifGenerationMatch": if_generation_match
+"/storage:v1/storage.objects.insert/ifGenerationNotMatch": if_generation_not_match
+"/storage:v1/storage.objects.insert/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.objects.insert/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.objects.insert/name": name
+"/storage:v1/storage.objects.insert/predefinedAcl": predefined_acl
+"/storage:v1/storage.objects.insert/projection": projection
+"/storage:v1/storage.objects.list": list_objects
+"/storage:v1/storage.objects.list/bucket": bucket
+"/storage:v1/storage.objects.list/delimiter": delimiter
+"/storage:v1/storage.objects.list/maxResults": max_results
+"/storage:v1/storage.objects.list/pageToken": page_token
+"/storage:v1/storage.objects.list/prefix": prefix
+"/storage:v1/storage.objects.list/projection": projection
+"/storage:v1/storage.objects.list/versions": versions
+"/storage:v1/storage.objects.patch": patch_object
+"/storage:v1/storage.objects.patch/bucket": bucket
+"/storage:v1/storage.objects.patch/generation": generation
+"/storage:v1/storage.objects.patch/ifGenerationMatch": if_generation_match
+"/storage:v1/storage.objects.patch/ifGenerationNotMatch": if_generation_not_match
+"/storage:v1/storage.objects.patch/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.objects.patch/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.objects.patch/object": object
+"/storage:v1/storage.objects.patch/predefinedAcl": predefined_acl
+"/storage:v1/storage.objects.patch/projection": projection
+"/storage:v1/storage.objects.rewrite": rewrite_object
+"/storage:v1/storage.objects.rewrite/destinationBucket": destination_bucket
+"/storage:v1/storage.objects.rewrite/destinationObject": destination_object
+"/storage:v1/storage.objects.rewrite/destinationPredefinedAcl": destination_predefined_acl
+"/storage:v1/storage.objects.rewrite/ifGenerationMatch": if_generation_match
+"/storage:v1/storage.objects.rewrite/ifGenerationNotMatch": if_generation_not_match
+"/storage:v1/storage.objects.rewrite/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.objects.rewrite/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.objects.rewrite/ifSourceGenerationMatch": if_source_generation_match
+"/storage:v1/storage.objects.rewrite/ifSourceGenerationNotMatch": if_source_generation_not_match
+"/storage:v1/storage.objects.rewrite/ifSourceMetagenerationMatch": if_source_metageneration_match
+"/storage:v1/storage.objects.rewrite/ifSourceMetagenerationNotMatch": if_source_metageneration_not_match
+"/storage:v1/storage.objects.rewrite/maxBytesRewrittenPerCall": max_bytes_rewritten_per_call
+"/storage:v1/storage.objects.rewrite/projection": projection
+"/storage:v1/storage.objects.rewrite/rewriteToken": rewrite_token
+"/storage:v1/storage.objects.rewrite/sourceBucket": source_bucket
+"/storage:v1/storage.objects.rewrite/sourceGeneration": source_generation
+"/storage:v1/storage.objects.rewrite/sourceObject": source_object
+"/storage:v1/storage.objects.update": update_object
+"/storage:v1/storage.objects.update/bucket": bucket
+"/storage:v1/storage.objects.update/generation": generation
+"/storage:v1/storage.objects.update/ifGenerationMatch": if_generation_match
+"/storage:v1/storage.objects.update/ifGenerationNotMatch": if_generation_not_match
+"/storage:v1/storage.objects.update/ifMetagenerationMatch": if_metageneration_match
+"/storage:v1/storage.objects.update/ifMetagenerationNotMatch": if_metageneration_not_match
+"/storage:v1/storage.objects.update/object": object
+"/storage:v1/storage.objects.update/predefinedAcl": predefined_acl
+"/storage:v1/storage.objects.update/projection": projection
+"/storage:v1/storage.objects.watchAll": watch_all_object
+"/storage:v1/storage.objects.watchAll/bucket": bucket
+"/storage:v1/storage.objects.watchAll/delimiter": delimiter
+"/storage:v1/storage.objects.watchAll/maxResults": max_results
+"/storage:v1/storage.objects.watchAll/pageToken": page_token
+"/storage:v1/storage.objects.watchAll/prefix": prefix
+"/storage:v1/storage.objects.watchAll/projection": projection
+"/storage:v1/storage.objects.watchAll/versions": versions
+"/storage:v1/Bucket": bucket
+"/storage:v1/Bucket/acl": acl
+"/storage:v1/Bucket/acl/acl": acl
+"/storage:v1/Bucket/cors/cors_configuration": cors_configuration
+"/storage:v1/Bucket/cors/cors_configuration/maxAgeSeconds": max_age_seconds
+"/storage:v1/Bucket/cors/cors_configuration/method/http_method": http_method
+"/storage:v1/Bucket/cors/cors_configuration/origin": origin
+"/storage:v1/Bucket/cors/cors_configuration/origin/origin": origin
+"/storage:v1/Bucket/cors/cors_configuration/responseHeader": response_header
+"/storage:v1/Bucket/cors/cors_configuration/responseHeader/response_header": response_header
+"/storage:v1/Bucket/defaultObjectAcl": default_object_acl
+"/storage:v1/Bucket/defaultObjectAcl/default_object_acl": default_object_acl
+"/storage:v1/Bucket/etag": etag
+"/storage:v1/Bucket/id": id
+"/storage:v1/Bucket/kind": kind
+"/storage:v1/Bucket/lifecycle": lifecycle
+"/storage:v1/Bucket/lifecycle/rule": rule
+"/storage:v1/Bucket/lifecycle/rule/rule": rule
+"/storage:v1/Bucket/lifecycle/rule/rule/action": action
+"/storage:v1/Bucket/lifecycle/rule/rule/action/type": type
+"/storage:v1/Bucket/lifecycle/rule/rule/condition": condition
+"/storage:v1/Bucket/lifecycle/rule/rule/condition/age": age
+"/storage:v1/Bucket/lifecycle/rule/rule/condition/createdBefore": created_before
+"/storage:v1/Bucket/lifecycle/rule/rule/condition/isLive": is_live
+"/storage:v1/Bucket/lifecycle/rule/rule/condition/numNewerVersions": num_newer_versions
+"/storage:v1/Bucket/location": location
+"/storage:v1/Bucket/logging": logging
+"/storage:v1/Bucket/logging/logBucket": log_bucket
+"/storage:v1/Bucket/logging/logObjectPrefix": log_object_prefix
+"/storage:v1/Bucket/metageneration": metageneration
+"/storage:v1/Bucket/name": name
+"/storage:v1/Bucket/owner": owner
+"/storage:v1/Bucket/owner/entity": entity
+"/storage:v1/Bucket/owner/entityId": entity_id
+"/storage:v1/Bucket/projectNumber": project_number
+"/storage:v1/Bucket/selfLink": self_link
+"/storage:v1/Bucket/storageClass": storage_class
+"/storage:v1/Bucket/timeCreated": time_created
+"/storage:v1/Bucket/versioning": versioning
+"/storage:v1/Bucket/versioning/enabled": enabled
+"/storage:v1/Bucket/website": website
+"/storage:v1/Bucket/website/mainPageSuffix": main_page_suffix
+"/storage:v1/Bucket/website/notFoundPage": not_found_page
+"/storage:v1/BucketAccessControl": bucket_access_control
+"/storage:v1/BucketAccessControl/bucket": bucket
+"/storage:v1/BucketAccessControl/domain": domain
+"/storage:v1/BucketAccessControl/email": email
+"/storage:v1/BucketAccessControl/entity": entity
+"/storage:v1/BucketAccessControl/entityId": entity_id
+"/storage:v1/BucketAccessControl/etag": etag
+"/storage:v1/BucketAccessControl/id": id
+"/storage:v1/BucketAccessControl/kind": kind
+"/storage:v1/BucketAccessControl/projectTeam": project_team
+"/storage:v1/BucketAccessControl/projectTeam/projectNumber": project_number
+"/storage:v1/BucketAccessControl/projectTeam/team": team
+"/storage:v1/BucketAccessControl/role": role
+"/storage:v1/BucketAccessControl/selfLink": self_link
+"/storage:v1/BucketAccessControls": bucket_access_controls
+"/storage:v1/BucketAccessControls/items": items
+"/storage:v1/BucketAccessControls/items/item": item
+"/storage:v1/BucketAccessControls/kind": kind
+"/storage:v1/Buckets": buckets
+"/storage:v1/Buckets/items": items
+"/storage:v1/Buckets/items/item": item
+"/storage:v1/Buckets/kind": kind
+"/storage:v1/Buckets/nextPageToken": next_page_token
+"/storage:v1/Channel": channel
+"/storage:v1/Channel/address": address
+"/storage:v1/Channel/expiration": expiration
+"/storage:v1/Channel/id": id
+"/storage:v1/Channel/kind": kind
+"/storage:v1/Channel/params": params
+"/storage:v1/Channel/params/param": param
+"/storage:v1/Channel/payload": payload
+"/storage:v1/Channel/resourceId": resource_id
+"/storage:v1/Channel/resourceUri": resource_uri
+"/storage:v1/Channel/token": token
+"/storage:v1/Channel/type": type
+"/storage:v1/ComposeRequest": compose_request
+"/storage:v1/ComposeRequest/destination": destination
+"/storage:v1/ComposeRequest/kind": kind
+"/storage:v1/ComposeRequest/sourceObjects": source_objects
+"/storage:v1/ComposeRequest/sourceObjects/source_object": source_object
+"/storage:v1/ComposeRequest/sourceObjects/source_object/generation": generation
+"/storage:v1/ComposeRequest/sourceObjects/source_object/name": name
+"/storage:v1/ComposeRequest/sourceObjects/source_object/objectPreconditions": object_preconditions
+"/storage:v1/ComposeRequest/sourceObjects/source_object/objectPreconditions/ifGenerationMatch": if_generation_match
+"/storage:v1/Object": object
+"/storage:v1/Object/acl": acl
+"/storage:v1/Object/acl/acl": acl
+"/storage:v1/Object/bucket": bucket
+"/storage:v1/Object/cacheControl": cache_control
+"/storage:v1/Object/componentCount": component_count
+"/storage:v1/Object/contentDisposition": content_disposition
+"/storage:v1/Object/contentEncoding": content_encoding
+"/storage:v1/Object/contentLanguage": content_language
+"/storage:v1/Object/contentType": content_type
+"/storage:v1/Object/crc32c": crc32c
+"/storage:v1/Object/etag": etag
+"/storage:v1/Object/generation": generation
+"/storage:v1/Object/id": id
+"/storage:v1/Object/kind": kind
+"/storage:v1/Object/md5Hash": md5_hash
+"/storage:v1/Object/mediaLink": media_link
+"/storage:v1/Object/metadata": metadata
+"/storage:v1/Object/metadata/metadatum": metadatum
+"/storage:v1/Object/metageneration": metageneration
+"/storage:v1/Object/name": name
+"/storage:v1/Object/owner": owner
+"/storage:v1/Object/owner/entity": entity
+"/storage:v1/Object/owner/entityId": entity_id
+"/storage:v1/Object/selfLink": self_link
+"/storage:v1/Object/size": size
+"/storage:v1/Object/storageClass": storage_class
+"/storage:v1/Object/timeDeleted": time_deleted
+"/storage:v1/Object/updated": updated
+"/storage:v1/ObjectAccessControl": object_access_control
+"/storage:v1/ObjectAccessControl/bucket": bucket
+"/storage:v1/ObjectAccessControl/domain": domain
+"/storage:v1/ObjectAccessControl/email": email
+"/storage:v1/ObjectAccessControl/entity": entity
+"/storage:v1/ObjectAccessControl/entityId": entity_id
+"/storage:v1/ObjectAccessControl/etag": etag
+"/storage:v1/ObjectAccessControl/generation": generation
+"/storage:v1/ObjectAccessControl/id": id
+"/storage:v1/ObjectAccessControl/kind": kind
+"/storage:v1/ObjectAccessControl/object": object
+"/storage:v1/ObjectAccessControl/projectTeam": project_team
+"/storage:v1/ObjectAccessControl/projectTeam/projectNumber": project_number
+"/storage:v1/ObjectAccessControl/projectTeam/team": team
+"/storage:v1/ObjectAccessControl/role": role
+"/storage:v1/ObjectAccessControl/selfLink": self_link
+"/storage:v1/ObjectAccessControls": object_access_controls
+"/storage:v1/ObjectAccessControls/items": items
+"/storage:v1/ObjectAccessControls/items/item": item
+"/storage:v1/ObjectAccessControls/kind": kind
+"/storage:v1/Objects": objects
+"/storage:v1/Objects/items": items
+"/storage:v1/Objects/items/item": item
+"/storage:v1/Objects/kind": kind
+"/storage:v1/Objects/nextPageToken": next_page_token
+"/storage:v1/Objects/prefixes": prefixes
+"/storage:v1/Objects/prefixes/prefix": prefix
+"/storage:v1/RewriteResponse": rewrite_response
+"/storage:v1/RewriteResponse/done": done
+"/storage:v1/RewriteResponse/kind": kind
+"/storage:v1/RewriteResponse/objectSize": object_size
+"/storage:v1/RewriteResponse/resource": resource
+"/storage:v1/RewriteResponse/rewriteToken": rewrite_token
+"/storage:v1/RewriteResponse/totalBytesRewritten": total_bytes_rewritten
+"/tagmanager:v1/fields": fields
+"/tagmanager:v1/key": key
+"/tagmanager:v1/quotaUser": quota_user
+"/tagmanager:v1/userIp": user_ip
+"/tagmanager:v1/tagmanager.accounts.get/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.update/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.update/fingerprint": fingerprint
+"/tagmanager:v1/tagmanager.accounts.containers.create/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.delete/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.delete/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.get/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.get/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.list/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.update/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.update/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.update/fingerprint": fingerprint
+"/tagmanager:v1/tagmanager.accounts.containers.macros.create/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.create/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.delete/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.delete/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.delete/macroId": macro_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.get/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.get/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.get/macroId": macro_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.list/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.list/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.update/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.update/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.macros.update/fingerprint": fingerprint
+"/tagmanager:v1/tagmanager.accounts.containers.macros.update/macroId": macro_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.create/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.create/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.delete/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.delete/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.delete/ruleId": rule_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.get/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.get/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.get/ruleId": rule_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.list/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.list/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.update/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.update/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.rules.update/fingerprint": fingerprint
+"/tagmanager:v1/tagmanager.accounts.containers.rules.update/ruleId": rule_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.create/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.create/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.delete/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.delete/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.delete/tagId": tag_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.get/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.get/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.get/tagId": tag_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.list/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.list/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.update/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.update/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.tags.update/fingerprint": fingerprint
+"/tagmanager:v1/tagmanager.accounts.containers.tags.update/tagId": tag_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.create/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.create/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.delete/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.delete/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.delete/triggerId": trigger_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.get/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.get/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.get/triggerId": trigger_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.list/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.list/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.update/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.update/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.update/fingerprint": fingerprint
+"/tagmanager:v1/tagmanager.accounts.containers.triggers.update/triggerId": trigger_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.create/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.create/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.delete/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.delete/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.delete/variableId": variable_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.get/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.get/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.get/variableId": variable_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.list/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.list/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.update/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.update/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.variables.update/fingerprint": fingerprint
+"/tagmanager:v1/tagmanager.accounts.containers.variables.update/variableId": variable_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.create/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.create/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.delete/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.delete/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.delete/containerVersionId": container_version_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.get/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.get/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.get/containerVersionId": container_version_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.list/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.list/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.list/headers": headers
+"/tagmanager:v1/tagmanager.accounts.containers.versions.publish/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.publish/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.publish/containerVersionId": container_version_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.publish/fingerprint": fingerprint
+"/tagmanager:v1/tagmanager.accounts.containers.versions.restore/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.restore/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.restore/containerVersionId": container_version_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.undelete/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.undelete/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.undelete/containerVersionId": container_version_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.update/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.update/containerId": container_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.update/containerVersionId": container_version_id
+"/tagmanager:v1/tagmanager.accounts.containers.versions.update/fingerprint": fingerprint
+"/tagmanager:v1/tagmanager.accounts.permissions.create/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.permissions.delete/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.permissions.delete/permissionId": permission_id
+"/tagmanager:v1/tagmanager.accounts.permissions.get/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.permissions.get/permissionId": permission_id
+"/tagmanager:v1/tagmanager.accounts.permissions.list/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.permissions.update/accountId": account_id
+"/tagmanager:v1/tagmanager.accounts.permissions.update/permissionId": permission_id
+"/tagmanager:v1/Account": account
+"/tagmanager:v1/Account/accountId": account_id
+"/tagmanager:v1/Account/fingerprint": fingerprint
+"/tagmanager:v1/Account/name": name
+"/tagmanager:v1/Account/shareData": share_data
+"/tagmanager:v1/AccountAccess": account_access
+"/tagmanager:v1/AccountAccess/permission": permission
+"/tagmanager:v1/AccountAccess/permission/permission": permission
+"/tagmanager:v1/Condition": condition
+"/tagmanager:v1/Condition/parameter": parameter
+"/tagmanager:v1/Condition/parameter/parameter": parameter
+"/tagmanager:v1/Condition/type": type
+"/tagmanager:v1/Container": container
+"/tagmanager:v1/Container/accountId": account_id
+"/tagmanager:v1/Container/containerId": container_id
+"/tagmanager:v1/Container/domainName": domain_name
+"/tagmanager:v1/Container/domainName/domain_name": domain_name
+"/tagmanager:v1/Container/enabledBuiltInVariable": enabled_built_in_variable
+"/tagmanager:v1/Container/enabledBuiltInVariable/enabled_built_in_variable": enabled_built_in_variable
+"/tagmanager:v1/Container/fingerprint": fingerprint
+"/tagmanager:v1/Container/name": name
+"/tagmanager:v1/Container/notes": notes
+"/tagmanager:v1/Container/publicId": public_id
+"/tagmanager:v1/Container/timeZoneCountryId": time_zone_country_id
+"/tagmanager:v1/Container/timeZoneId": time_zone_id
+"/tagmanager:v1/Container/usageContext": usage_context
+"/tagmanager:v1/Container/usageContext/usage_context": usage_context
+"/tagmanager:v1/ContainerAccess": container_access
+"/tagmanager:v1/ContainerAccess/containerId": container_id
+"/tagmanager:v1/ContainerAccess/permission": permission
+"/tagmanager:v1/ContainerAccess/permission/permission": permission
+"/tagmanager:v1/ContainerVersion": container_version
+"/tagmanager:v1/ContainerVersion/accountId": account_id
+"/tagmanager:v1/ContainerVersion/container": container
+"/tagmanager:v1/ContainerVersion/containerId": container_id
+"/tagmanager:v1/ContainerVersion/containerVersionId": container_version_id
+"/tagmanager:v1/ContainerVersion/deleted": deleted
+"/tagmanager:v1/ContainerVersion/fingerprint": fingerprint
+"/tagmanager:v1/ContainerVersion/macro": macro
+"/tagmanager:v1/ContainerVersion/macro/macro": macro
+"/tagmanager:v1/ContainerVersion/name": name
+"/tagmanager:v1/ContainerVersion/notes": notes
+"/tagmanager:v1/ContainerVersion/rule": rule
+"/tagmanager:v1/ContainerVersion/rule/rule": rule
+"/tagmanager:v1/ContainerVersion/tag": tag
+"/tagmanager:v1/ContainerVersion/tag/tag": tag
+"/tagmanager:v1/ContainerVersion/trigger": trigger
+"/tagmanager:v1/ContainerVersion/trigger/trigger": trigger
+"/tagmanager:v1/ContainerVersion/variable": variable
+"/tagmanager:v1/ContainerVersion/variable/variable": variable
+"/tagmanager:v1/ContainerVersionHeader": container_version_header
+"/tagmanager:v1/ContainerVersionHeader/accountId": account_id
+"/tagmanager:v1/ContainerVersionHeader/containerId": container_id
+"/tagmanager:v1/ContainerVersionHeader/containerVersionId": container_version_id
+"/tagmanager:v1/ContainerVersionHeader/deleted": deleted
+"/tagmanager:v1/ContainerVersionHeader/name": name
+"/tagmanager:v1/ContainerVersionHeader/numMacros": num_macros
+"/tagmanager:v1/ContainerVersionHeader/numRules": num_rules
+"/tagmanager:v1/ContainerVersionHeader/numTags": num_tags
+"/tagmanager:v1/ContainerVersionHeader/numTriggers": num_triggers
+"/tagmanager:v1/ContainerVersionHeader/numVariables": num_variables
+"/tagmanager:v1/CreateContainerVersionRequestVersionOptions": create_container_version_request_version_options
+"/tagmanager:v1/CreateContainerVersionRequestVersionOptions/name": name
+"/tagmanager:v1/CreateContainerVersionRequestVersionOptions/notes": notes
+"/tagmanager:v1/CreateContainerVersionRequestVersionOptions/quickPreview": quick_preview
+"/tagmanager:v1/CreateContainerVersionResponse": create_container_version_response
+"/tagmanager:v1/CreateContainerVersionResponse/compilerError": compiler_error
+"/tagmanager:v1/CreateContainerVersionResponse/containerVersion": container_version
+"/tagmanager:v1/ListAccountUsersResponse": list_account_users_response
+"/tagmanager:v1/ListAccountUsersResponse/userAccess": user_access
+"/tagmanager:v1/ListAccountUsersResponse/userAccess/user_access": user_access
+"/tagmanager:v1/ListAccountsResponse": list_accounts_response
+"/tagmanager:v1/ListAccountsResponse/accounts": accounts
+"/tagmanager:v1/ListAccountsResponse/accounts/account": account
+"/tagmanager:v1/ListContainerVersionsResponse": list_container_versions_response
+"/tagmanager:v1/ListContainerVersionsResponse/containerVersion": container_version
+"/tagmanager:v1/ListContainerVersionsResponse/containerVersion/container_version": container_version
+"/tagmanager:v1/ListContainerVersionsResponse/containerVersionHeader": container_version_header
+"/tagmanager:v1/ListContainerVersionsResponse/containerVersionHeader/container_version_header": container_version_header
+"/tagmanager:v1/ListContainersResponse": list_containers_response
+"/tagmanager:v1/ListContainersResponse/containers": containers
+"/tagmanager:v1/ListContainersResponse/containers/container": container
+"/tagmanager:v1/ListMacrosResponse": list_macros_response
+"/tagmanager:v1/ListMacrosResponse/macros": macros
+"/tagmanager:v1/ListMacrosResponse/macros/macro": macro
+"/tagmanager:v1/ListRulesResponse": list_rules_response
+"/tagmanager:v1/ListRulesResponse/rules": rules
+"/tagmanager:v1/ListRulesResponse/rules/rule": rule
+"/tagmanager:v1/ListTagsResponse": list_tags_response
+"/tagmanager:v1/ListTagsResponse/tags": tags
+"/tagmanager:v1/ListTagsResponse/tags/tag": tag
+"/tagmanager:v1/ListTriggersResponse": list_triggers_response
+"/tagmanager:v1/ListTriggersResponse/triggers": triggers
+"/tagmanager:v1/ListTriggersResponse/triggers/trigger": trigger
+"/tagmanager:v1/ListVariablesResponse": list_variables_response
+"/tagmanager:v1/ListVariablesResponse/variables": variables
+"/tagmanager:v1/ListVariablesResponse/variables/variable": variable
+"/tagmanager:v1/Macro": macro
+"/tagmanager:v1/Macro/accountId": account_id
+"/tagmanager:v1/Macro/containerId": container_id
+"/tagmanager:v1/Macro/disablingRuleId": disabling_rule_id
+"/tagmanager:v1/Macro/disablingRuleId/disabling_rule_id": disabling_rule_id
+"/tagmanager:v1/Macro/enablingRuleId": enabling_rule_id
+"/tagmanager:v1/Macro/enablingRuleId/enabling_rule_id": enabling_rule_id
+"/tagmanager:v1/Macro/fingerprint": fingerprint
+"/tagmanager:v1/Macro/macroId": macro_id
+"/tagmanager:v1/Macro/name": name
+"/tagmanager:v1/Macro/notes": notes
+"/tagmanager:v1/Macro/parameter": parameter
+"/tagmanager:v1/Macro/parameter/parameter": parameter
+"/tagmanager:v1/Macro/scheduleEndMs": schedule_end_ms
+"/tagmanager:v1/Macro/scheduleStartMs": schedule_start_ms
+"/tagmanager:v1/Macro/type": type
+"/tagmanager:v1/Parameter": parameter
+"/tagmanager:v1/Parameter/key": key
+"/tagmanager:v1/Parameter/list": list
+"/tagmanager:v1/Parameter/list/list": list
+"/tagmanager:v1/Parameter/map": map
+"/tagmanager:v1/Parameter/map/map": map
+"/tagmanager:v1/Parameter/type": type
+"/tagmanager:v1/Parameter/value": value
+"/tagmanager:v1/PublishContainerVersionResponse": publish_container_version_response
+"/tagmanager:v1/PublishContainerVersionResponse/compilerError": compiler_error
+"/tagmanager:v1/PublishContainerVersionResponse/containerVersion": container_version
+"/tagmanager:v1/Rule": rule
+"/tagmanager:v1/Rule/accountId": account_id
+"/tagmanager:v1/Rule/condition": condition
+"/tagmanager:v1/Rule/condition/condition": condition
+"/tagmanager:v1/Rule/containerId": container_id
+"/tagmanager:v1/Rule/fingerprint": fingerprint
+"/tagmanager:v1/Rule/name": name
+"/tagmanager:v1/Rule/notes": notes
+"/tagmanager:v1/Rule/ruleId": rule_id
+"/tagmanager:v1/Tag": tag
+"/tagmanager:v1/Tag/accountId": account_id
+"/tagmanager:v1/Tag/blockingRuleId": blocking_rule_id
+"/tagmanager:v1/Tag/blockingRuleId/blocking_rule_id": blocking_rule_id
+"/tagmanager:v1/Tag/blockingTriggerId": blocking_trigger_id
+"/tagmanager:v1/Tag/blockingTriggerId/blocking_trigger_id": blocking_trigger_id
+"/tagmanager:v1/Tag/containerId": container_id
+"/tagmanager:v1/Tag/fingerprint": fingerprint
+"/tagmanager:v1/Tag/firingRuleId": firing_rule_id
+"/tagmanager:v1/Tag/firingRuleId/firing_rule_id": firing_rule_id
+"/tagmanager:v1/Tag/firingTriggerId": firing_trigger_id
+"/tagmanager:v1/Tag/firingTriggerId/firing_trigger_id": firing_trigger_id
+"/tagmanager:v1/Tag/liveOnly": live_only
+"/tagmanager:v1/Tag/name": name
+"/tagmanager:v1/Tag/notes": notes
+"/tagmanager:v1/Tag/parameter": parameter
+"/tagmanager:v1/Tag/parameter/parameter": parameter
+"/tagmanager:v1/Tag/priority": priority
+"/tagmanager:v1/Tag/scheduleEndMs": schedule_end_ms
+"/tagmanager:v1/Tag/scheduleStartMs": schedule_start_ms
+"/tagmanager:v1/Tag/tagId": tag_id
+"/tagmanager:v1/Tag/type": type
+"/tagmanager:v1/Trigger": trigger
+"/tagmanager:v1/Trigger/accountId": account_id
+"/tagmanager:v1/Trigger/autoEventFilter": auto_event_filter
+"/tagmanager:v1/Trigger/autoEventFilter/auto_event_filter": auto_event_filter
+"/tagmanager:v1/Trigger/checkValidation": check_validation
+"/tagmanager:v1/Trigger/containerId": container_id
+"/tagmanager:v1/Trigger/customEventFilter": custom_event_filter
+"/tagmanager:v1/Trigger/customEventFilter/custom_event_filter": custom_event_filter
+"/tagmanager:v1/Trigger/enableAllVideos": enable_all_videos
+"/tagmanager:v1/Trigger/eventName": event_name
+"/tagmanager:v1/Trigger/filter": filter
+"/tagmanager:v1/Trigger/filter/filter": filter
+"/tagmanager:v1/Trigger/fingerprint": fingerprint
+"/tagmanager:v1/Trigger/interval": interval
+"/tagmanager:v1/Trigger/limit": limit
+"/tagmanager:v1/Trigger/name": name
+"/tagmanager:v1/Trigger/triggerId": trigger_id
+"/tagmanager:v1/Trigger/type": type
+"/tagmanager:v1/Trigger/uniqueTriggerId": unique_trigger_id
+"/tagmanager:v1/Trigger/videoPercentageList": video_percentage_list
+"/tagmanager:v1/Trigger/waitForTags": wait_for_tags
+"/tagmanager:v1/Trigger/waitForTagsTimeout": wait_for_tags_timeout
+"/tagmanager:v1/UserAccess": user_access
+"/tagmanager:v1/UserAccess/accountAccess": account_access
+"/tagmanager:v1/UserAccess/accountId": account_id
+"/tagmanager:v1/UserAccess/containerAccess": container_access
+"/tagmanager:v1/UserAccess/containerAccess/container_access": container_access
+"/tagmanager:v1/UserAccess/emailAddress": email_address
+"/tagmanager:v1/UserAccess/permissionId": permission_id
+"/tagmanager:v1/Variable": variable
+"/tagmanager:v1/Variable/accountId": account_id
+"/tagmanager:v1/Variable/containerId": container_id
+"/tagmanager:v1/Variable/disablingTriggerId": disabling_trigger_id
+"/tagmanager:v1/Variable/disablingTriggerId/disabling_trigger_id": disabling_trigger_id
+"/tagmanager:v1/Variable/enablingTriggerId": enabling_trigger_id
+"/tagmanager:v1/Variable/enablingTriggerId/enabling_trigger_id": enabling_trigger_id
+"/tagmanager:v1/Variable/fingerprint": fingerprint
+"/tagmanager:v1/Variable/name": name
+"/tagmanager:v1/Variable/notes": notes
+"/tagmanager:v1/Variable/parameter": parameter
+"/tagmanager:v1/Variable/parameter/parameter": parameter
+"/tagmanager:v1/Variable/scheduleEndMs": schedule_end_ms
+"/tagmanager:v1/Variable/scheduleStartMs": schedule_start_ms
+"/tagmanager:v1/Variable/type": type
+"/tagmanager:v1/Variable/variableId": variable_id
+"/taskqueue:v1beta2/fields": fields
+"/taskqueue:v1beta2/key": key
+"/taskqueue:v1beta2/quotaUser": quota_user
+"/taskqueue:v1beta2/userIp": user_ip
+"/taskqueue:v1beta2/taskqueue.taskqueues.get": get_taskqueue
+"/taskqueue:v1beta2/taskqueue.taskqueues.get/getStats": get_stats
+"/taskqueue:v1beta2/taskqueue.taskqueues.get/project": project
+"/taskqueue:v1beta2/taskqueue.taskqueues.get/taskqueue": taskqueue
+"/taskqueue:v1beta2/taskqueue.tasks.delete": delete_task
+"/taskqueue:v1beta2/taskqueue.tasks.delete/project": project
+"/taskqueue:v1beta2/taskqueue.tasks.delete/task": task
+"/taskqueue:v1beta2/taskqueue.tasks.delete/taskqueue": taskqueue
+"/taskqueue:v1beta2/taskqueue.tasks.get": get_task
+"/taskqueue:v1beta2/taskqueue.tasks.get/project": project
+"/taskqueue:v1beta2/taskqueue.tasks.get/task": task
+"/taskqueue:v1beta2/taskqueue.tasks.get/taskqueue": taskqueue
+"/taskqueue:v1beta2/taskqueue.tasks.insert": insert_task
+"/taskqueue:v1beta2/taskqueue.tasks.insert/project": project
+"/taskqueue:v1beta2/taskqueue.tasks.insert/taskqueue": taskqueue
+"/taskqueue:v1beta2/taskqueue.tasks.lease": lease_task
+"/taskqueue:v1beta2/taskqueue.tasks.lease/groupByTag": group_by_tag
+"/taskqueue:v1beta2/taskqueue.tasks.lease/leaseSecs": lease_secs
+"/taskqueue:v1beta2/taskqueue.tasks.lease/numTasks": num_tasks
+"/taskqueue:v1beta2/taskqueue.tasks.lease/project": project
+"/taskqueue:v1beta2/taskqueue.tasks.lease/tag": tag
+"/taskqueue:v1beta2/taskqueue.tasks.lease/taskqueue": taskqueue
+"/taskqueue:v1beta2/taskqueue.tasks.list": list_tasks
+"/taskqueue:v1beta2/taskqueue.tasks.list/project": project
+"/taskqueue:v1beta2/taskqueue.tasks.list/taskqueue": taskqueue
+"/taskqueue:v1beta2/taskqueue.tasks.patch": patch_task
+"/taskqueue:v1beta2/taskqueue.tasks.patch/newLeaseSeconds": new_lease_seconds
+"/taskqueue:v1beta2/taskqueue.tasks.patch/project": project
+"/taskqueue:v1beta2/taskqueue.tasks.patch/task": task
+"/taskqueue:v1beta2/taskqueue.tasks.patch/taskqueue": taskqueue
+"/taskqueue:v1beta2/taskqueue.tasks.update": update_task
+"/taskqueue:v1beta2/taskqueue.tasks.update/newLeaseSeconds": new_lease_seconds
+"/taskqueue:v1beta2/taskqueue.tasks.update/project": project
+"/taskqueue:v1beta2/taskqueue.tasks.update/task": task
+"/taskqueue:v1beta2/taskqueue.tasks.update/taskqueue": taskqueue
+"/taskqueue:v1beta2/Task": task
+"/taskqueue:v1beta2/Task/enqueueTimestamp": enqueue_timestamp
+"/taskqueue:v1beta2/Task/id": id
+"/taskqueue:v1beta2/Task/kind": kind
+"/taskqueue:v1beta2/Task/leaseTimestamp": lease_timestamp
+"/taskqueue:v1beta2/Task/payloadBase64": payload_base64
+"/taskqueue:v1beta2/Task/queueName": queue_name
+"/taskqueue:v1beta2/Task/retry_count": retry_count
+"/taskqueue:v1beta2/Task/tag": tag
+"/taskqueue:v1beta2/TaskQueue": task_queue
+"/taskqueue:v1beta2/TaskQueue/acl": acl
+"/taskqueue:v1beta2/TaskQueue/acl/adminEmails": admin_emails
+"/taskqueue:v1beta2/TaskQueue/acl/adminEmails/admin_email": admin_email
+"/taskqueue:v1beta2/TaskQueue/acl/consumerEmails": consumer_emails
+"/taskqueue:v1beta2/TaskQueue/acl/consumerEmails/consumer_email": consumer_email
+"/taskqueue:v1beta2/TaskQueue/acl/producerEmails": producer_emails
+"/taskqueue:v1beta2/TaskQueue/acl/producerEmails/producer_email": producer_email
+"/taskqueue:v1beta2/TaskQueue/id": id
+"/taskqueue:v1beta2/TaskQueue/kind": kind
+"/taskqueue:v1beta2/TaskQueue/maxLeases": max_leases
+"/taskqueue:v1beta2/TaskQueue/stats": stats
+"/taskqueue:v1beta2/TaskQueue/stats/leasedLastHour": leased_last_hour
+"/taskqueue:v1beta2/TaskQueue/stats/leasedLastMinute": leased_last_minute
+"/taskqueue:v1beta2/TaskQueue/stats/oldestTask": oldest_task
+"/taskqueue:v1beta2/TaskQueue/stats/totalTasks": total_tasks
+"/taskqueue:v1beta2/Tasks": tasks
+"/taskqueue:v1beta2/Tasks/items": items
+"/taskqueue:v1beta2/Tasks/items/item": item
+"/taskqueue:v1beta2/Tasks/kind": kind
+"/taskqueue:v1beta2/Tasks2": tasks2
+"/taskqueue:v1beta2/Tasks2/items": items
+"/taskqueue:v1beta2/Tasks2/items/item": item
+"/taskqueue:v1beta2/Tasks2/kind": kind
+"/tasks:v1/fields": fields
+"/tasks:v1/key": key
+"/tasks:v1/quotaUser": quota_user
+"/tasks:v1/userIp": user_ip
+"/tasks:v1/tasks.tasklists.delete": delete_tasklist
+"/tasks:v1/tasks.tasklists.delete/tasklist": tasklist
+"/tasks:v1/tasks.tasklists.get": get_tasklist
+"/tasks:v1/tasks.tasklists.get/tasklist": tasklist
+"/tasks:v1/tasks.tasklists.insert": insert_tasklist
+"/tasks:v1/tasks.tasklists.list": list_tasklists
+"/tasks:v1/tasks.tasklists.list/maxResults": max_results
+"/tasks:v1/tasks.tasklists.list/pageToken": page_token
+"/tasks:v1/tasks.tasklists.patch": patch_tasklist
+"/tasks:v1/tasks.tasklists.patch/tasklist": tasklist
+"/tasks:v1/tasks.tasklists.update": update_tasklist
+"/tasks:v1/tasks.tasklists.update/tasklist": tasklist
+"/tasks:v1/tasks.tasks.clear": clear_task
+"/tasks:v1/tasks.tasks.clear/tasklist": tasklist
+"/tasks:v1/tasks.tasks.delete": delete_task
+"/tasks:v1/tasks.tasks.delete/task": task
+"/tasks:v1/tasks.tasks.delete/tasklist": tasklist
+"/tasks:v1/tasks.tasks.get": get_task
+"/tasks:v1/tasks.tasks.get/task": task
+"/tasks:v1/tasks.tasks.get/tasklist": tasklist
+"/tasks:v1/tasks.tasks.insert": insert_task
+"/tasks:v1/tasks.tasks.insert/parent": parent
+"/tasks:v1/tasks.tasks.insert/previous": previous
+"/tasks:v1/tasks.tasks.insert/tasklist": tasklist
+"/tasks:v1/tasks.tasks.list": list_tasks
+"/tasks:v1/tasks.tasks.list/completedMax": completed_max
+"/tasks:v1/tasks.tasks.list/completedMin": completed_min
+"/tasks:v1/tasks.tasks.list/dueMax": due_max
+"/tasks:v1/tasks.tasks.list/dueMin": due_min
+"/tasks:v1/tasks.tasks.list/maxResults": max_results
+"/tasks:v1/tasks.tasks.list/pageToken": page_token
+"/tasks:v1/tasks.tasks.list/showCompleted": show_completed
+"/tasks:v1/tasks.tasks.list/showDeleted": show_deleted
+"/tasks:v1/tasks.tasks.list/showHidden": show_hidden
+"/tasks:v1/tasks.tasks.list/tasklist": tasklist
+"/tasks:v1/tasks.tasks.list/updatedMin": updated_min
+"/tasks:v1/tasks.tasks.move": move_task
+"/tasks:v1/tasks.tasks.move/parent": parent
+"/tasks:v1/tasks.tasks.move/previous": previous
+"/tasks:v1/tasks.tasks.move/task": task
+"/tasks:v1/tasks.tasks.move/tasklist": tasklist
+"/tasks:v1/tasks.tasks.patch": patch_task
+"/tasks:v1/tasks.tasks.patch/task": task
+"/tasks:v1/tasks.tasks.patch/tasklist": tasklist
+"/tasks:v1/tasks.tasks.update": update_task
+"/tasks:v1/tasks.tasks.update/task": task
+"/tasks:v1/tasks.tasks.update/tasklist": tasklist
+"/tasks:v1/Task": task
+"/tasks:v1/Task/completed": completed
+"/tasks:v1/Task/deleted": deleted
+"/tasks:v1/Task/due": due
+"/tasks:v1/Task/etag": etag
+"/tasks:v1/Task/hidden": hidden
+"/tasks:v1/Task/id": id
+"/tasks:v1/Task/kind": kind
+"/tasks:v1/Task/links": links
+"/tasks:v1/Task/links/link": link
+"/tasks:v1/Task/links/link/description": description
+"/tasks:v1/Task/links/link/link": link
+"/tasks:v1/Task/links/link/type": type
+"/tasks:v1/Task/notes": notes
+"/tasks:v1/Task/parent": parent
+"/tasks:v1/Task/position": position
+"/tasks:v1/Task/selfLink": self_link
+"/tasks:v1/Task/status": status
+"/tasks:v1/Task/title": title
+"/tasks:v1/Task/updated": updated
+"/tasks:v1/TaskList": task_list
+"/tasks:v1/TaskList/etag": etag
+"/tasks:v1/TaskList/id": id
+"/tasks:v1/TaskList/kind": kind
+"/tasks:v1/TaskList/selfLink": self_link
+"/tasks:v1/TaskList/title": title
+"/tasks:v1/TaskList/updated": updated
+"/tasks:v1/TaskLists": task_lists
+"/tasks:v1/TaskLists/etag": etag
+"/tasks:v1/TaskLists/items": items
+"/tasks:v1/TaskLists/items/item": item
+"/tasks:v1/TaskLists/kind": kind
+"/tasks:v1/TaskLists/nextPageToken": next_page_token
+"/tasks:v1/Tasks": tasks
+"/tasks:v1/Tasks/etag": etag
+"/tasks:v1/Tasks/items": items
+"/tasks:v1/Tasks/items/item": item
+"/tasks:v1/Tasks/kind": kind
+"/tasks:v1/Tasks/nextPageToken": next_page_token
+"/translate:v2/fields": fields
+"/translate:v2/key": key
+"/translate:v2/quotaUser": quota_user
+"/translate:v2/userIp": user_ip
+"/translate:v2/language.detections.list": list_detections
+"/translate:v2/language.detections.list/q": q
+"/translate:v2/language.languages.list": list_languages
+"/translate:v2/language.languages.list/target": target
+"/translate:v2/language.translations.list": list_translations
+"/translate:v2/language.translations.list/cid": cid
+"/translate:v2/language.translations.list/format": format
+"/translate:v2/language.translations.list/q": q
+"/translate:v2/language.translations.list/source": source
+"/translate:v2/language.translations.list/target": target
+"/translate:v2/DetectionsListResponse/detections": detections
+"/translate:v2/DetectionsListResponse/detections/detection": detection
+"/translate:v2/DetectionsResource": detections_resource
+"/translate:v2/DetectionsResource/detections_resource": detections_resource
+"/translate:v2/DetectionsResource/detections_resource/confidence": confidence
+"/translate:v2/DetectionsResource/detections_resource/isReliable": is_reliable
+"/translate:v2/DetectionsResource/detections_resource/language": language
+"/translate:v2/LanguagesListResponse/languages": languages
+"/translate:v2/LanguagesListResponse/languages/language": language
+"/translate:v2/LanguagesResource": languages_resource
+"/translate:v2/LanguagesResource/language": language
+"/translate:v2/LanguagesResource/name": name
+"/translate:v2/TranslationsListResponse/translations": translations
+"/translate:v2/TranslationsListResponse/translations/translation": translation
+"/translate:v2/TranslationsResource": translations_resource
+"/translate:v2/TranslationsResource/detectedSourceLanguage": detected_source_language
+"/translate:v2/TranslationsResource/translatedText": translated_text
+"/urlshortener:v1/fields": fields
+"/urlshortener:v1/key": key
+"/urlshortener:v1/quotaUser": quota_user
+"/urlshortener:v1/userIp": user_ip
+"/urlshortener:v1/urlshortener.url.get": get_url
+"/urlshortener:v1/urlshortener.url.get/projection": projection
+"/urlshortener:v1/urlshortener.url.get/shortUrl": short_url
+"/urlshortener:v1/urlshortener.url.insert": insert_url
+"/urlshortener:v1/urlshortener.url.list": list_urls
+"/urlshortener:v1/urlshortener.url.list/projection": projection
+"/urlshortener:v1/urlshortener.url.list/start-token": start_token
+"/urlshortener:v1/AnalyticsSnapshot": analytics_snapshot
+"/urlshortener:v1/AnalyticsSnapshot/browsers": browsers
+"/urlshortener:v1/AnalyticsSnapshot/browsers/browser": browser
+"/urlshortener:v1/AnalyticsSnapshot/countries": countries
+"/urlshortener:v1/AnalyticsSnapshot/countries/country": country
+"/urlshortener:v1/AnalyticsSnapshot/longUrlClicks": long_url_clicks
+"/urlshortener:v1/AnalyticsSnapshot/platforms": platforms
+"/urlshortener:v1/AnalyticsSnapshot/platforms/platform": platform
+"/urlshortener:v1/AnalyticsSnapshot/referrers": referrers
+"/urlshortener:v1/AnalyticsSnapshot/referrers/referrer": referrer
+"/urlshortener:v1/AnalyticsSnapshot/shortUrlClicks": short_url_clicks
+"/urlshortener:v1/AnalyticsSummary": analytics_summary
+"/urlshortener:v1/AnalyticsSummary/allTime": all_time
+"/urlshortener:v1/AnalyticsSummary/day": day
+"/urlshortener:v1/AnalyticsSummary/month": month
+"/urlshortener:v1/AnalyticsSummary/twoHours": two_hours
+"/urlshortener:v1/AnalyticsSummary/week": week
+"/urlshortener:v1/StringCount": string_count
+"/urlshortener:v1/StringCount/count": count
+"/urlshortener:v1/StringCount/id": id
+"/urlshortener:v1/Url": url
+"/urlshortener:v1/Url/analytics": analytics
+"/urlshortener:v1/Url/created": created
+"/urlshortener:v1/Url/id": id
+"/urlshortener:v1/Url/kind": kind
+"/urlshortener:v1/Url/longUrl": long_url
+"/urlshortener:v1/Url/status": status
+"/urlshortener:v1/UrlHistory": url_history
+"/urlshortener:v1/UrlHistory/items": items
+"/urlshortener:v1/UrlHistory/items/item": item
+"/urlshortener:v1/UrlHistory/itemsPerPage": items_per_page
+"/urlshortener:v1/UrlHistory/kind": kind
+"/urlshortener:v1/UrlHistory/nextPageToken": next_page_token
+"/urlshortener:v1/UrlHistory/totalItems": total_items
+"/webmasters:v3/fields": fields
+"/webmasters:v3/key": key
+"/webmasters:v3/quotaUser": quota_user
+"/webmasters:v3/userIp": user_ip
+"/webmasters:v3/webmasters.sitemaps.delete": delete_sitemap
+"/webmasters:v3/webmasters.sitemaps.delete/feedpath": feedpath
+"/webmasters:v3/webmasters.sitemaps.delete/siteUrl": site_url
+"/webmasters:v3/webmasters.sitemaps.get": get_sitemap
+"/webmasters:v3/webmasters.sitemaps.get/feedpath": feedpath
+"/webmasters:v3/webmasters.sitemaps.get/siteUrl": site_url
+"/webmasters:v3/webmasters.sitemaps.list": list_sitemaps
+"/webmasters:v3/webmasters.sitemaps.list/siteUrl": site_url
+"/webmasters:v3/webmasters.sitemaps.list/sitemapIndex": sitemap_index
+"/webmasters:v3/webmasters.sitemaps.submit": submit_sitemap
+"/webmasters:v3/webmasters.sitemaps.submit/feedpath": feedpath
+"/webmasters:v3/webmasters.sitemaps.submit/siteUrl": site_url
+"/webmasters:v3/webmasters.sites.add": add_site
+"/webmasters:v3/webmasters.sites.add/siteUrl": site_url
+"/webmasters:v3/webmasters.sites.delete": delete_site
+"/webmasters:v3/webmasters.sites.delete/siteUrl": site_url
+"/webmasters:v3/webmasters.sites.get": get_site
+"/webmasters:v3/webmasters.sites.get/siteUrl": site_url
+"/webmasters:v3/webmasters.sites.list": list_sites
+"/webmasters:v3/webmasters.urlcrawlerrorscounts.query/category": category
+"/webmasters:v3/webmasters.urlcrawlerrorscounts.query/latestCountsOnly": latest_counts_only
+"/webmasters:v3/webmasters.urlcrawlerrorscounts.query/platform": platform
+"/webmasters:v3/webmasters.urlcrawlerrorscounts.query/siteUrl": site_url
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.get/category": category
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.get/platform": platform
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.get/siteUrl": site_url
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.get/url": url
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.list/category": category
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.list/platform": platform
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.list/siteUrl": site_url
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.markAsFixed/category": category
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.markAsFixed/platform": platform
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.markAsFixed/siteUrl": site_url
+"/webmasters:v3/webmasters.urlcrawlerrorssamples.markAsFixed/url": url
+"/webmasters:v3/SitemapsListResponse/sitemap": sitemap
+"/webmasters:v3/SitemapsListResponse/sitemap/sitemap": sitemap
+"/webmasters:v3/SitesListResponse/siteEntry": site_entry
+"/webmasters:v3/SitesListResponse/siteEntry/site_entry": site_entry
+"/webmasters:v3/UrlCrawlErrorCount": url_crawl_error_count
+"/webmasters:v3/UrlCrawlErrorCount/count": count
+"/webmasters:v3/UrlCrawlErrorCount/timestamp": timestamp
+"/webmasters:v3/UrlCrawlErrorCountsPerType": url_crawl_error_counts_per_type
+"/webmasters:v3/UrlCrawlErrorCountsPerType/category": category
+"/webmasters:v3/UrlCrawlErrorCountsPerType/entries": entries
+"/webmasters:v3/UrlCrawlErrorCountsPerType/entries/entry": entry
+"/webmasters:v3/UrlCrawlErrorCountsPerType/platform": platform
+"/webmasters:v3/UrlCrawlErrorsCountsQueryResponse/countPerTypes": count_per_types
+"/webmasters:v3/UrlCrawlErrorsCountsQueryResponse/countPerTypes/count_per_type": count_per_type
+"/webmasters:v3/UrlCrawlErrorsSample": url_crawl_errors_sample
+"/webmasters:v3/UrlCrawlErrorsSample/first_detected": first_detected
+"/webmasters:v3/UrlCrawlErrorsSample/last_crawled": last_crawled
+"/webmasters:v3/UrlCrawlErrorsSample/pageUrl": page_url
+"/webmasters:v3/UrlCrawlErrorsSample/responseCode": response_code
+"/webmasters:v3/UrlCrawlErrorsSample/urlDetails": url_details
+"/webmasters:v3/UrlCrawlErrorsSamplesListResponse/urlCrawlErrorSample": url_crawl_error_sample
+"/webmasters:v3/UrlCrawlErrorsSamplesListResponse/urlCrawlErrorSample/url_crawl_error_sample": url_crawl_error_sample
+"/webmasters:v3/UrlSampleDetails": url_sample_details
+"/webmasters:v3/UrlSampleDetails/containingSitemaps": containing_sitemaps
+"/webmasters:v3/UrlSampleDetails/containingSitemaps/containing_sitemap": containing_sitemap
+"/webmasters:v3/UrlSampleDetails/linkedFromUrls": linked_from_urls
+"/webmasters:v3/UrlSampleDetails/linkedFromUrls/linked_from_url": linked_from_url
+"/webmasters:v3/WmxSite": wmx_site
+"/webmasters:v3/WmxSite/permissionLevel": permission_level
+"/webmasters:v3/WmxSite/siteUrl": site_url
+"/webmasters:v3/WmxSitemap": wmx_sitemap
+"/webmasters:v3/WmxSitemap/contents": contents
+"/webmasters:v3/WmxSitemap/contents/content": content
+"/webmasters:v3/WmxSitemap/errors": errors
+"/webmasters:v3/WmxSitemap/isPending": is_pending
+"/webmasters:v3/WmxSitemap/isSitemapsIndex": is_sitemaps_index
+"/webmasters:v3/WmxSitemap/lastDownloaded": last_downloaded
+"/webmasters:v3/WmxSitemap/lastSubmitted": last_submitted
+"/webmasters:v3/WmxSitemap/path": path
+"/webmasters:v3/WmxSitemap/type": type
+"/webmasters:v3/WmxSitemap/warnings": warnings
+"/webmasters:v3/WmxSitemapContent": wmx_sitemap_content
+"/webmasters:v3/WmxSitemapContent/indexed": indexed
+"/webmasters:v3/WmxSitemapContent/submitted": submitted
+"/webmasters:v3/WmxSitemapContent/type": type
+"/youtube:v3/fields": fields
+"/youtube:v3/key": key
+"/youtube:v3/quotaUser": quota_user
+"/youtube:v3/userIp": user_ip
+"/youtube:v3/youtube.activities.insert": insert_activity
+"/youtube:v3/youtube.activities.insert/part": part
+"/youtube:v3/youtube.activities.list": list_activities
+"/youtube:v3/youtube.activities.list/channelId": channel_id
+"/youtube:v3/youtube.activities.list/home": home
+"/youtube:v3/youtube.activities.list/maxResults": max_results
+"/youtube:v3/youtube.activities.list/mine": mine
+"/youtube:v3/youtube.activities.list/pageToken": page_token
+"/youtube:v3/youtube.activities.list/part": part
+"/youtube:v3/youtube.activities.list/publishedAfter": published_after
+"/youtube:v3/youtube.activities.list/publishedBefore": published_before
+"/youtube:v3/youtube.activities.list/regionCode": region_code
+"/youtube:v3/youtube.captions.delete": delete_caption
+"/youtube:v3/youtube.captions.delete/debugProjectIdOverride": debug_project_id_override
+"/youtube:v3/youtube.captions.delete/id": id
+"/youtube:v3/youtube.captions.delete/onBehalfOf": on_behalf_of
+"/youtube:v3/youtube.captions.delete/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.captions.download": download_caption
+"/youtube:v3/youtube.captions.download/debugProjectIdOverride": debug_project_id_override
+"/youtube:v3/youtube.captions.download/id": id
+"/youtube:v3/youtube.captions.download/onBehalfOf": on_behalf_of
+"/youtube:v3/youtube.captions.download/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.captions.download/tfmt": tfmt
+"/youtube:v3/youtube.captions.download/tlang": tlang
+"/youtube:v3/youtube.captions.insert": insert_caption
+"/youtube:v3/youtube.captions.insert/debugProjectIdOverride": debug_project_id_override
+"/youtube:v3/youtube.captions.insert/onBehalfOf": on_behalf_of
+"/youtube:v3/youtube.captions.insert/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.captions.insert/part": part
+"/youtube:v3/youtube.captions.insert/sync": sync
+"/youtube:v3/youtube.captions.list": list_captions
+"/youtube:v3/youtube.captions.list/debugProjectIdOverride": debug_project_id_override
+"/youtube:v3/youtube.captions.list/id": id
+"/youtube:v3/youtube.captions.list/onBehalfOf": on_behalf_of
+"/youtube:v3/youtube.captions.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.captions.list/part": part
+"/youtube:v3/youtube.captions.list/videoId": video_id
+"/youtube:v3/youtube.captions.update": update_caption
+"/youtube:v3/youtube.captions.update/debugProjectIdOverride": debug_project_id_override
+"/youtube:v3/youtube.captions.update/onBehalfOf": on_behalf_of
+"/youtube:v3/youtube.captions.update/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.captions.update/part": part
+"/youtube:v3/youtube.captions.update/sync": sync
+"/youtube:v3/youtube.channelBanners.insert": insert_channel_banner
+"/youtube:v3/youtube.channelBanners.insert/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.channelSections.delete": delete_channel_section
+"/youtube:v3/youtube.channelSections.delete/id": id
+"/youtube:v3/youtube.channelSections.delete/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.channelSections.insert": insert_channel_section
+"/youtube:v3/youtube.channelSections.insert/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.channelSections.insert/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.channelSections.insert/part": part
+"/youtube:v3/youtube.channelSections.list": list_channel_sections
+"/youtube:v3/youtube.channelSections.list/channelId": channel_id
+"/youtube:v3/youtube.channelSections.list/hl": hl
+"/youtube:v3/youtube.channelSections.list/id": id
+"/youtube:v3/youtube.channelSections.list/mine": mine
+"/youtube:v3/youtube.channelSections.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.channelSections.list/part": part
+"/youtube:v3/youtube.channelSections.update": update_channel_section
+"/youtube:v3/youtube.channelSections.update/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.channelSections.update/part": part
+"/youtube:v3/youtube.channels.list": list_channels
+"/youtube:v3/youtube.channels.list/categoryId": category_id
+"/youtube:v3/youtube.channels.list/forUsername": for_username
+"/youtube:v3/youtube.channels.list/hl": hl
+"/youtube:v3/youtube.channels.list/id": id
+"/youtube:v3/youtube.channels.list/managedByMe": managed_by_me
+"/youtube:v3/youtube.channels.list/maxResults": max_results
+"/youtube:v3/youtube.channels.list/mine": mine
+"/youtube:v3/youtube.channels.list/mySubscribers": my_subscribers
+"/youtube:v3/youtube.channels.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.channels.list/pageToken": page_token
+"/youtube:v3/youtube.channels.list/part": part
+"/youtube:v3/youtube.channels.update": update_channel
+"/youtube:v3/youtube.channels.update/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.channels.update/part": part
+"/youtube:v3/youtube.commentThreads.insert": insert_comment_thread
+"/youtube:v3/youtube.commentThreads.insert/part": part
+"/youtube:v3/youtube.commentThreads.insert/shareOnGooglePlus": share_on_google_plus
+"/youtube:v3/youtube.commentThreads.list": list_comment_threads
+"/youtube:v3/youtube.commentThreads.list/allThreadsRelatedToChannelId": all_threads_related_to_channel_id
+"/youtube:v3/youtube.commentThreads.list/channelId": channel_id
+"/youtube:v3/youtube.commentThreads.list/id": id
+"/youtube:v3/youtube.commentThreads.list/maxResults": max_results
+"/youtube:v3/youtube.commentThreads.list/moderationStatus": moderation_status
+"/youtube:v3/youtube.commentThreads.list/order": order
+"/youtube:v3/youtube.commentThreads.list/pageToken": page_token
+"/youtube:v3/youtube.commentThreads.list/part": part
+"/youtube:v3/youtube.commentThreads.list/searchTerms": search_terms
+"/youtube:v3/youtube.commentThreads.list/textFormat": text_format
+"/youtube:v3/youtube.commentThreads.list/videoId": video_id
+"/youtube:v3/youtube.commentThreads.update": update_comment_thread
+"/youtube:v3/youtube.commentThreads.update/part": part
+"/youtube:v3/youtube.comments.delete": delete_comment
+"/youtube:v3/youtube.comments.delete/id": id
+"/youtube:v3/youtube.comments.insert": insert_comment
+"/youtube:v3/youtube.comments.insert/part": part
+"/youtube:v3/youtube.comments.list": list_comments
+"/youtube:v3/youtube.comments.list/id": id
+"/youtube:v3/youtube.comments.list/maxResults": max_results
+"/youtube:v3/youtube.comments.list/pageToken": page_token
+"/youtube:v3/youtube.comments.list/parentId": parent_id
+"/youtube:v3/youtube.comments.list/part": part
+"/youtube:v3/youtube.comments.list/textFormat": text_format
+"/youtube:v3/youtube.comments.markAsSpam": mark_as_spam_comment
+"/youtube:v3/youtube.comments.markAsSpam/id": id
+"/youtube:v3/youtube.comments.setModerationStatus/banAuthor": ban_author
+"/youtube:v3/youtube.comments.setModerationStatus/id": id
+"/youtube:v3/youtube.comments.setModerationStatus/moderationStatus": moderation_status
+"/youtube:v3/youtube.comments.update": update_comment
+"/youtube:v3/youtube.comments.update/part": part
+"/youtube:v3/youtube.guideCategories.list": list_guide_categories
+"/youtube:v3/youtube.guideCategories.list/hl": hl
+"/youtube:v3/youtube.guideCategories.list/id": id
+"/youtube:v3/youtube.guideCategories.list/part": part
+"/youtube:v3/youtube.guideCategories.list/regionCode": region_code
+"/youtube:v3/youtube.i18nLanguages.list": list_i18n_languages
+"/youtube:v3/youtube.i18nLanguages.list/hl": hl
+"/youtube:v3/youtube.i18nLanguages.list/part": part
+"/youtube:v3/youtube.i18nRegions.list": list_i18n_regions
+"/youtube:v3/youtube.i18nRegions.list/hl": hl
+"/youtube:v3/youtube.i18nRegions.list/part": part
+"/youtube:v3/youtube.liveBroadcasts.bind": bind_live_broadcast
+"/youtube:v3/youtube.liveBroadcasts.bind/id": id
+"/youtube:v3/youtube.liveBroadcasts.bind/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveBroadcasts.bind/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveBroadcasts.bind/part": part
+"/youtube:v3/youtube.liveBroadcasts.bind/streamId": stream_id
+"/youtube:v3/youtube.liveBroadcasts.control": control_live_broadcast
+"/youtube:v3/youtube.liveBroadcasts.control/displaySlate": display_slate
+"/youtube:v3/youtube.liveBroadcasts.control/id": id
+"/youtube:v3/youtube.liveBroadcasts.control/offsetTimeMs": offset_time_ms
+"/youtube:v3/youtube.liveBroadcasts.control/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveBroadcasts.control/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveBroadcasts.control/part": part
+"/youtube:v3/youtube.liveBroadcasts.control/walltime": walltime
+"/youtube:v3/youtube.liveBroadcasts.delete": delete_live_broadcast
+"/youtube:v3/youtube.liveBroadcasts.delete/id": id
+"/youtube:v3/youtube.liveBroadcasts.delete/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveBroadcasts.delete/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveBroadcasts.insert": insert_live_broadcast
+"/youtube:v3/youtube.liveBroadcasts.insert/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveBroadcasts.insert/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveBroadcasts.insert/part": part
+"/youtube:v3/youtube.liveBroadcasts.list": list_live_broadcasts
+"/youtube:v3/youtube.liveBroadcasts.list/broadcastStatus": broadcast_status
+"/youtube:v3/youtube.liveBroadcasts.list/id": id
+"/youtube:v3/youtube.liveBroadcasts.list/maxResults": max_results
+"/youtube:v3/youtube.liveBroadcasts.list/mine": mine
+"/youtube:v3/youtube.liveBroadcasts.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveBroadcasts.list/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveBroadcasts.list/pageToken": page_token
+"/youtube:v3/youtube.liveBroadcasts.list/part": part
+"/youtube:v3/youtube.liveBroadcasts.transition": transition_live_broadcast
+"/youtube:v3/youtube.liveBroadcasts.transition/broadcastStatus": broadcast_status
+"/youtube:v3/youtube.liveBroadcasts.transition/id": id
+"/youtube:v3/youtube.liveBroadcasts.transition/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveBroadcasts.transition/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveBroadcasts.transition/part": part
+"/youtube:v3/youtube.liveBroadcasts.update": update_live_broadcast
+"/youtube:v3/youtube.liveBroadcasts.update/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveBroadcasts.update/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveBroadcasts.update/part": part
+"/youtube:v3/youtube.liveStreams.delete": delete_live_stream
+"/youtube:v3/youtube.liveStreams.delete/id": id
+"/youtube:v3/youtube.liveStreams.delete/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveStreams.delete/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveStreams.insert": insert_live_stream
+"/youtube:v3/youtube.liveStreams.insert/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveStreams.insert/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveStreams.insert/part": part
+"/youtube:v3/youtube.liveStreams.list": list_live_streams
+"/youtube:v3/youtube.liveStreams.list/id": id
+"/youtube:v3/youtube.liveStreams.list/maxResults": max_results
+"/youtube:v3/youtube.liveStreams.list/mine": mine
+"/youtube:v3/youtube.liveStreams.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveStreams.list/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveStreams.list/pageToken": page_token
+"/youtube:v3/youtube.liveStreams.list/part": part
+"/youtube:v3/youtube.liveStreams.update": update_live_stream
+"/youtube:v3/youtube.liveStreams.update/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.liveStreams.update/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.liveStreams.update/part": part
+"/youtube:v3/youtube.playlistItems.delete": delete_playlist_item
+"/youtube:v3/youtube.playlistItems.delete/id": id
+"/youtube:v3/youtube.playlistItems.insert": insert_playlist_item
+"/youtube:v3/youtube.playlistItems.insert/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.playlistItems.insert/part": part
+"/youtube:v3/youtube.playlistItems.list": list_playlist_items
+"/youtube:v3/youtube.playlistItems.list/id": id
+"/youtube:v3/youtube.playlistItems.list/maxResults": max_results
+"/youtube:v3/youtube.playlistItems.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.playlistItems.list/pageToken": page_token
+"/youtube:v3/youtube.playlistItems.list/part": part
+"/youtube:v3/youtube.playlistItems.list/playlistId": playlist_id
+"/youtube:v3/youtube.playlistItems.list/videoId": video_id
+"/youtube:v3/youtube.playlistItems.update": update_playlist_item
+"/youtube:v3/youtube.playlistItems.update/part": part
+"/youtube:v3/youtube.playlists.delete": delete_playlist
+"/youtube:v3/youtube.playlists.delete/id": id
+"/youtube:v3/youtube.playlists.delete/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.playlists.insert": insert_playlist
+"/youtube:v3/youtube.playlists.insert/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.playlists.insert/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.playlists.insert/part": part
+"/youtube:v3/youtube.playlists.list": list_playlists
+"/youtube:v3/youtube.playlists.list/channelId": channel_id
+"/youtube:v3/youtube.playlists.list/hl": hl
+"/youtube:v3/youtube.playlists.list/id": id
+"/youtube:v3/youtube.playlists.list/maxResults": max_results
+"/youtube:v3/youtube.playlists.list/mine": mine
+"/youtube:v3/youtube.playlists.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.playlists.list/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.playlists.list/pageToken": page_token
+"/youtube:v3/youtube.playlists.list/part": part
+"/youtube:v3/youtube.playlists.update": update_playlist
+"/youtube:v3/youtube.playlists.update/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.playlists.update/part": part
+"/youtube:v3/youtube.search.list": list_searches
+"/youtube:v3/youtube.search.list/channelId": channel_id
+"/youtube:v3/youtube.search.list/channelType": channel_type
+"/youtube:v3/youtube.search.list/eventType": event_type
+"/youtube:v3/youtube.search.list/forContentOwner": for_content_owner
+"/youtube:v3/youtube.search.list/forDeveloper": for_developer
+"/youtube:v3/youtube.search.list/forMine": for_mine
+"/youtube:v3/youtube.search.list/location": location
+"/youtube:v3/youtube.search.list/locationRadius": location_radius
+"/youtube:v3/youtube.search.list/maxResults": max_results
+"/youtube:v3/youtube.search.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.search.list/order": order
+"/youtube:v3/youtube.search.list/pageToken": page_token
+"/youtube:v3/youtube.search.list/part": part
+"/youtube:v3/youtube.search.list/publishedAfter": published_after
+"/youtube:v3/youtube.search.list/publishedBefore": published_before
+"/youtube:v3/youtube.search.list/q": q
+"/youtube:v3/youtube.search.list/regionCode": region_code
+"/youtube:v3/youtube.search.list/relatedToVideoId": related_to_video_id
+"/youtube:v3/youtube.search.list/relevanceLanguage": relevance_language
+"/youtube:v3/youtube.search.list/safeSearch": safe_search
+"/youtube:v3/youtube.search.list/topicId": topic_id
+"/youtube:v3/youtube.search.list/type": type
+"/youtube:v3/youtube.search.list/videoCaption": video_caption
+"/youtube:v3/youtube.search.list/videoCategoryId": video_category_id
+"/youtube:v3/youtube.search.list/videoDefinition": video_definition
+"/youtube:v3/youtube.search.list/videoDimension": video_dimension
+"/youtube:v3/youtube.search.list/videoDuration": video_duration
+"/youtube:v3/youtube.search.list/videoEmbeddable": video_embeddable
+"/youtube:v3/youtube.search.list/videoLicense": video_license
+"/youtube:v3/youtube.search.list/videoSyndicated": video_syndicated
+"/youtube:v3/youtube.search.list/videoType": video_type
+"/youtube:v3/youtube.subscriptions.delete": delete_subscription
+"/youtube:v3/youtube.subscriptions.delete/id": id
+"/youtube:v3/youtube.subscriptions.insert": insert_subscription
+"/youtube:v3/youtube.subscriptions.insert/part": part
+"/youtube:v3/youtube.subscriptions.list": list_subscriptions
+"/youtube:v3/youtube.subscriptions.list/channelId": channel_id
+"/youtube:v3/youtube.subscriptions.list/forChannelId": for_channel_id
+"/youtube:v3/youtube.subscriptions.list/id": id
+"/youtube:v3/youtube.subscriptions.list/maxResults": max_results
+"/youtube:v3/youtube.subscriptions.list/mine": mine
+"/youtube:v3/youtube.subscriptions.list/mySubscribers": my_subscribers
+"/youtube:v3/youtube.subscriptions.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.subscriptions.list/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.subscriptions.list/order": order
+"/youtube:v3/youtube.subscriptions.list/pageToken": page_token
+"/youtube:v3/youtube.subscriptions.list/part": part
+"/youtube:v3/youtube.thumbnails.set": set_thumbnail
+"/youtube:v3/youtube.thumbnails.set/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.thumbnails.set/videoId": video_id
+"/youtube:v3/youtube.videoAbuseReportReasons.list": list_video_abuse_report_reasons
+"/youtube:v3/youtube.videoAbuseReportReasons.list/hl": hl
+"/youtube:v3/youtube.videoAbuseReportReasons.list/part": part
+"/youtube:v3/youtube.videoCategories.list": list_video_categories
+"/youtube:v3/youtube.videoCategories.list/hl": hl
+"/youtube:v3/youtube.videoCategories.list/id": id
+"/youtube:v3/youtube.videoCategories.list/part": part
+"/youtube:v3/youtube.videoCategories.list/regionCode": region_code
+"/youtube:v3/youtube.videos.delete": delete_video
+"/youtube:v3/youtube.videos.delete/id": id
+"/youtube:v3/youtube.videos.delete/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.videos.getRating": get_rating_video
+"/youtube:v3/youtube.videos.getRating/id": id
+"/youtube:v3/youtube.videos.getRating/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.videos.insert": insert_video
+"/youtube:v3/youtube.videos.insert/autoLevels": auto_levels
+"/youtube:v3/youtube.videos.insert/notifySubscribers": notify_subscribers
+"/youtube:v3/youtube.videos.insert/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.videos.insert/onBehalfOfContentOwnerChannel": on_behalf_of_content_owner_channel
+"/youtube:v3/youtube.videos.insert/part": part
+"/youtube:v3/youtube.videos.insert/stabilize": stabilize
+"/youtube:v3/youtube.videos.list": list_videos
+"/youtube:v3/youtube.videos.list/chart": chart
+"/youtube:v3/youtube.videos.list/debugProjectIdOverride": debug_project_id_override
+"/youtube:v3/youtube.videos.list/hl": hl
+"/youtube:v3/youtube.videos.list/id": id
+"/youtube:v3/youtube.videos.list/locale": locale
+"/youtube:v3/youtube.videos.list/maxResults": max_results
+"/youtube:v3/youtube.videos.list/myRating": my_rating
+"/youtube:v3/youtube.videos.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.videos.list/pageToken": page_token
+"/youtube:v3/youtube.videos.list/part": part
+"/youtube:v3/youtube.videos.list/regionCode": region_code
+"/youtube:v3/youtube.videos.list/videoCategoryId": video_category_id
+"/youtube:v3/youtube.videos.rate": rate_video
+"/youtube:v3/youtube.videos.rate/id": id
+"/youtube:v3/youtube.videos.rate/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.videos.rate/rating": rating
+"/youtube:v3/youtube.videos.reportAbuse": report_abuse_video
+"/youtube:v3/youtube.videos.reportAbuse/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.videos.update": update_video
+"/youtube:v3/youtube.videos.update/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.videos.update/part": part
+"/youtube:v3/youtube.watermarks.set": set_watermark
+"/youtube:v3/youtube.watermarks.set/channelId": channel_id
+"/youtube:v3/youtube.watermarks.set/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/youtube.watermarks.unset": unset_watermark
+"/youtube:v3/youtube.watermarks.unset/channelId": channel_id
+"/youtube:v3/youtube.watermarks.unset/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtube:v3/AccessPolicy": access_policy
+"/youtube:v3/AccessPolicy/allowed": allowed
+"/youtube:v3/AccessPolicy/exception": exception
+"/youtube:v3/AccessPolicy/exception/exception": exception
+"/youtube:v3/Activity": activity
+"/youtube:v3/Activity/contentDetails": content_details
+"/youtube:v3/Activity/etag": etag
+"/youtube:v3/Activity/id": id
+"/youtube:v3/Activity/kind": kind
+"/youtube:v3/Activity/snippet": snippet
+"/youtube:v3/ActivityContentDetails": activity_content_details
+"/youtube:v3/ActivityContentDetails/bulletin": bulletin
+"/youtube:v3/ActivityContentDetails/channelItem": channel_item
+"/youtube:v3/ActivityContentDetails/comment": comment
+"/youtube:v3/ActivityContentDetails/favorite": favorite
+"/youtube:v3/ActivityContentDetails/like": like
+"/youtube:v3/ActivityContentDetails/playlistItem": playlist_item
+"/youtube:v3/ActivityContentDetails/promotedItem": promoted_item
+"/youtube:v3/ActivityContentDetails/recommendation": recommendation
+"/youtube:v3/ActivityContentDetails/social": social
+"/youtube:v3/ActivityContentDetails/subscription": subscription
+"/youtube:v3/ActivityContentDetails/upload": upload
+"/youtube:v3/ActivityContentDetailsBulletin": activity_content_details_bulletin
+"/youtube:v3/ActivityContentDetailsBulletin/resourceId": resource_id
+"/youtube:v3/ActivityContentDetailsChannelItem": activity_content_details_channel_item
+"/youtube:v3/ActivityContentDetailsChannelItem/resourceId": resource_id
+"/youtube:v3/ActivityContentDetailsComment": activity_content_details_comment
+"/youtube:v3/ActivityContentDetailsComment/resourceId": resource_id
+"/youtube:v3/ActivityContentDetailsFavorite": activity_content_details_favorite
+"/youtube:v3/ActivityContentDetailsFavorite/resourceId": resource_id
+"/youtube:v3/ActivityContentDetailsLike": activity_content_details_like
+"/youtube:v3/ActivityContentDetailsLike/resourceId": resource_id
+"/youtube:v3/ActivityContentDetailsPlaylistItem": activity_content_details_playlist_item
+"/youtube:v3/ActivityContentDetailsPlaylistItem/playlistId": playlist_id
+"/youtube:v3/ActivityContentDetailsPlaylistItem/playlistItemId": playlist_item_id
+"/youtube:v3/ActivityContentDetailsPlaylistItem/resourceId": resource_id
+"/youtube:v3/ActivityContentDetailsPromotedItem": activity_content_details_promoted_item
+"/youtube:v3/ActivityContentDetailsPromotedItem/adTag": ad_tag
+"/youtube:v3/ActivityContentDetailsPromotedItem/clickTrackingUrl": click_tracking_url
+"/youtube:v3/ActivityContentDetailsPromotedItem/creativeViewUrl": creative_view_url
+"/youtube:v3/ActivityContentDetailsPromotedItem/ctaType": cta_type
+"/youtube:v3/ActivityContentDetailsPromotedItem/customCtaButtonText": custom_cta_button_text
+"/youtube:v3/ActivityContentDetailsPromotedItem/descriptionText": description_text
+"/youtube:v3/ActivityContentDetailsPromotedItem/destinationUrl": destination_url
+"/youtube:v3/ActivityContentDetailsPromotedItem/forecastingUrl": forecasting_url
+"/youtube:v3/ActivityContentDetailsPromotedItem/forecastingUrl/forecasting_url": forecasting_url
+"/youtube:v3/ActivityContentDetailsPromotedItem/impressionUrl": impression_url
+"/youtube:v3/ActivityContentDetailsPromotedItem/impressionUrl/impression_url": impression_url
+"/youtube:v3/ActivityContentDetailsPromotedItem/videoId": video_id
+"/youtube:v3/ActivityContentDetailsRecommendation": activity_content_details_recommendation
+"/youtube:v3/ActivityContentDetailsRecommendation/reason": reason
+"/youtube:v3/ActivityContentDetailsRecommendation/resourceId": resource_id
+"/youtube:v3/ActivityContentDetailsRecommendation/seedResourceId": seed_resource_id
+"/youtube:v3/ActivityContentDetailsSocial": activity_content_details_social
+"/youtube:v3/ActivityContentDetailsSocial/author": author
+"/youtube:v3/ActivityContentDetailsSocial/imageUrl": image_url
+"/youtube:v3/ActivityContentDetailsSocial/referenceUrl": reference_url
+"/youtube:v3/ActivityContentDetailsSocial/resourceId": resource_id
+"/youtube:v3/ActivityContentDetailsSocial/type": type
+"/youtube:v3/ActivityContentDetailsSubscription": activity_content_details_subscription
+"/youtube:v3/ActivityContentDetailsSubscription/resourceId": resource_id
+"/youtube:v3/ActivityContentDetailsUpload": activity_content_details_upload
+"/youtube:v3/ActivityContentDetailsUpload/videoId": video_id
+"/youtube:v3/ActivityListResponse/etag": etag
+"/youtube:v3/ActivityListResponse/eventId": event_id
+"/youtube:v3/ActivityListResponse/items": items
+"/youtube:v3/ActivityListResponse/items/item": item
+"/youtube:v3/ActivityListResponse/kind": kind
+"/youtube:v3/ActivityListResponse/nextPageToken": next_page_token
+"/youtube:v3/ActivityListResponse/pageInfo": page_info
+"/youtube:v3/ActivityListResponse/prevPageToken": prev_page_token
+"/youtube:v3/ActivityListResponse/tokenPagination": token_pagination
+"/youtube:v3/ActivityListResponse/visitorId": visitor_id
+"/youtube:v3/ActivitySnippet": activity_snippet
+"/youtube:v3/ActivitySnippet/channelId": channel_id
+"/youtube:v3/ActivitySnippet/channelTitle": channel_title
+"/youtube:v3/ActivitySnippet/description": description
+"/youtube:v3/ActivitySnippet/groupId": group_id
+"/youtube:v3/ActivitySnippet/publishedAt": published_at
+"/youtube:v3/ActivitySnippet/thumbnails": thumbnails
+"/youtube:v3/ActivitySnippet/title": title
+"/youtube:v3/ActivitySnippet/type": type
+"/youtube:v3/Caption": caption
+"/youtube:v3/Caption/etag": etag
+"/youtube:v3/Caption/id": id
+"/youtube:v3/Caption/kind": kind
+"/youtube:v3/Caption/snippet": snippet
+"/youtube:v3/CaptionListResponse/etag": etag
+"/youtube:v3/CaptionListResponse/eventId": event_id
+"/youtube:v3/CaptionListResponse/items": items
+"/youtube:v3/CaptionListResponse/items/item": item
+"/youtube:v3/CaptionListResponse/kind": kind
+"/youtube:v3/CaptionListResponse/visitorId": visitor_id
+"/youtube:v3/CaptionSnippet": caption_snippet
+"/youtube:v3/CaptionSnippet/audioTrackType": audio_track_type
+"/youtube:v3/CaptionSnippet/failureReason": failure_reason
+"/youtube:v3/CaptionSnippet/isAutoSynced": is_auto_synced
+"/youtube:v3/CaptionSnippet/isCC": is_cc
+"/youtube:v3/CaptionSnippet/isDraft": is_draft
+"/youtube:v3/CaptionSnippet/isEasyReader": is_easy_reader
+"/youtube:v3/CaptionSnippet/isLarge": is_large
+"/youtube:v3/CaptionSnippet/language": language
+"/youtube:v3/CaptionSnippet/lastUpdated": last_updated
+"/youtube:v3/CaptionSnippet/name": name
+"/youtube:v3/CaptionSnippet/status": status
+"/youtube:v3/CaptionSnippet/trackKind": track_kind
+"/youtube:v3/CaptionSnippet/videoId": video_id
+"/youtube:v3/CdnSettings": cdn_settings
+"/youtube:v3/CdnSettings/format": format
+"/youtube:v3/CdnSettings/ingestionInfo": ingestion_info
+"/youtube:v3/CdnSettings/ingestionType": ingestion_type
+"/youtube:v3/Channel": channel
+"/youtube:v3/Channel/auditDetails": audit_details
+"/youtube:v3/Channel/brandingSettings": branding_settings
+"/youtube:v3/Channel/contentDetails": content_details
+"/youtube:v3/Channel/contentOwnerDetails": content_owner_details
+"/youtube:v3/Channel/conversionPings": conversion_pings
+"/youtube:v3/Channel/etag": etag
+"/youtube:v3/Channel/id": id
+"/youtube:v3/Channel/invideoPromotion": invideo_promotion
+"/youtube:v3/Channel/kind": kind
+"/youtube:v3/Channel/localizations": localizations
+"/youtube:v3/Channel/localizations/localization": localization
+"/youtube:v3/Channel/snippet": snippet
+"/youtube:v3/Channel/statistics": statistics
+"/youtube:v3/Channel/status": status
+"/youtube:v3/Channel/topicDetails": topic_details
+"/youtube:v3/ChannelAuditDetails": channel_audit_details
+"/youtube:v3/ChannelAuditDetails/communityGuidelinesGoodStanding": community_guidelines_good_standing
+"/youtube:v3/ChannelAuditDetails/contentIdClaimsGoodStanding": content_id_claims_good_standing
+"/youtube:v3/ChannelAuditDetails/copyrightStrikesGoodStanding": copyright_strikes_good_standing
+"/youtube:v3/ChannelAuditDetails/overallGoodStanding": overall_good_standing
+"/youtube:v3/ChannelBannerResource": channel_banner_resource
+"/youtube:v3/ChannelBannerResource/etag": etag
+"/youtube:v3/ChannelBannerResource/kind": kind
+"/youtube:v3/ChannelBannerResource/url": url
+"/youtube:v3/ChannelBrandingSettings": channel_branding_settings
+"/youtube:v3/ChannelBrandingSettings/channel": channel
+"/youtube:v3/ChannelBrandingSettings/hints": hints
+"/youtube:v3/ChannelBrandingSettings/hints/hint": hint
+"/youtube:v3/ChannelBrandingSettings/image": image
+"/youtube:v3/ChannelBrandingSettings/watch": watch
+"/youtube:v3/ChannelContentDetails": channel_content_details
+"/youtube:v3/ChannelContentDetails/googlePlusUserId": google_plus_user_id
+"/youtube:v3/ChannelContentDetails/relatedPlaylists": related_playlists
+"/youtube:v3/ChannelContentDetails/relatedPlaylists/favorites": favorites
+"/youtube:v3/ChannelContentDetails/relatedPlaylists/likes": likes
+"/youtube:v3/ChannelContentDetails/relatedPlaylists/uploads": uploads
+"/youtube:v3/ChannelContentDetails/relatedPlaylists/watchHistory": watch_history
+"/youtube:v3/ChannelContentDetails/relatedPlaylists/watchLater": watch_later
+"/youtube:v3/ChannelContentOwnerDetails": channel_content_owner_details
+"/youtube:v3/ChannelContentOwnerDetails/contentOwner": content_owner
+"/youtube:v3/ChannelContentOwnerDetails/timeLinked": time_linked
+"/youtube:v3/ChannelConversionPing": channel_conversion_ping
+"/youtube:v3/ChannelConversionPing/context": context
+"/youtube:v3/ChannelConversionPing/conversionUrl": conversion_url
+"/youtube:v3/ChannelConversionPings": channel_conversion_pings
+"/youtube:v3/ChannelConversionPings/pings": pings
+"/youtube:v3/ChannelConversionPings/pings/ping": ping
+"/youtube:v3/ChannelId": channel_id
+"/youtube:v3/ChannelId/value": value
+"/youtube:v3/ChannelListResponse/etag": etag
+"/youtube:v3/ChannelListResponse/eventId": event_id
+"/youtube:v3/ChannelListResponse/items": items
+"/youtube:v3/ChannelListResponse/items/item": item
+"/youtube:v3/ChannelListResponse/kind": kind
+"/youtube:v3/ChannelListResponse/nextPageToken": next_page_token
+"/youtube:v3/ChannelListResponse/pageInfo": page_info
+"/youtube:v3/ChannelListResponse/prevPageToken": prev_page_token
+"/youtube:v3/ChannelListResponse/tokenPagination": token_pagination
+"/youtube:v3/ChannelListResponse/visitorId": visitor_id
+"/youtube:v3/ChannelLocalization": channel_localization
+"/youtube:v3/ChannelLocalization/description": description
+"/youtube:v3/ChannelLocalization/title": title
+"/youtube:v3/ChannelSection": channel_section
+"/youtube:v3/ChannelSection/contentDetails": content_details
+"/youtube:v3/ChannelSection/etag": etag
+"/youtube:v3/ChannelSection/id": id
+"/youtube:v3/ChannelSection/kind": kind
+"/youtube:v3/ChannelSection/localizations": localizations
+"/youtube:v3/ChannelSection/localizations/localization": localization
+"/youtube:v3/ChannelSection/snippet": snippet
+"/youtube:v3/ChannelSection/targeting": targeting
+"/youtube:v3/ChannelSectionContentDetails": channel_section_content_details
+"/youtube:v3/ChannelSectionContentDetails/channels": channels
+"/youtube:v3/ChannelSectionContentDetails/channels/channel": channel
+"/youtube:v3/ChannelSectionContentDetails/playlists": playlists
+"/youtube:v3/ChannelSectionContentDetails/playlists/playlist": playlist
+"/youtube:v3/ChannelSectionListResponse/etag": etag
+"/youtube:v3/ChannelSectionListResponse/eventId": event_id
+"/youtube:v3/ChannelSectionListResponse/items": items
+"/youtube:v3/ChannelSectionListResponse/items/item": item
+"/youtube:v3/ChannelSectionListResponse/kind": kind
+"/youtube:v3/ChannelSectionListResponse/visitorId": visitor_id
+"/youtube:v3/ChannelSectionLocalization": channel_section_localization
+"/youtube:v3/ChannelSectionLocalization/title": title
+"/youtube:v3/ChannelSectionSnippet": channel_section_snippet
+"/youtube:v3/ChannelSectionSnippet/channelId": channel_id
+"/youtube:v3/ChannelSectionSnippet/defaultLanguage": default_language
+"/youtube:v3/ChannelSectionSnippet/localized": localized
+"/youtube:v3/ChannelSectionSnippet/position": position
+"/youtube:v3/ChannelSectionSnippet/style": style
+"/youtube:v3/ChannelSectionSnippet/title": title
+"/youtube:v3/ChannelSectionSnippet/type": type
+"/youtube:v3/ChannelSectionTargeting": channel_section_targeting
+"/youtube:v3/ChannelSectionTargeting/countries": countries
+"/youtube:v3/ChannelSectionTargeting/countries/country": country
+"/youtube:v3/ChannelSectionTargeting/languages": languages
+"/youtube:v3/ChannelSectionTargeting/languages/language": language
+"/youtube:v3/ChannelSectionTargeting/regions": regions
+"/youtube:v3/ChannelSectionTargeting/regions/region": region
+"/youtube:v3/ChannelSettings": channel_settings
+"/youtube:v3/ChannelSettings/country": country
+"/youtube:v3/ChannelSettings/defaultLanguage": default_language
+"/youtube:v3/ChannelSettings/defaultTab": default_tab
+"/youtube:v3/ChannelSettings/description": description
+"/youtube:v3/ChannelSettings/featuredChannelsTitle": featured_channels_title
+"/youtube:v3/ChannelSettings/featuredChannelsUrls": featured_channels_urls
+"/youtube:v3/ChannelSettings/featuredChannelsUrls/featured_channels_url": featured_channels_url
+"/youtube:v3/ChannelSettings/keywords": keywords
+"/youtube:v3/ChannelSettings/moderateComments": moderate_comments
+"/youtube:v3/ChannelSettings/profileColor": profile_color
+"/youtube:v3/ChannelSettings/showBrowseView": show_browse_view
+"/youtube:v3/ChannelSettings/showRelatedChannels": show_related_channels
+"/youtube:v3/ChannelSettings/title": title
+"/youtube:v3/ChannelSettings/trackingAnalyticsAccountId": tracking_analytics_account_id
+"/youtube:v3/ChannelSettings/unsubscribedTrailer": unsubscribed_trailer
+"/youtube:v3/ChannelSnippet": channel_snippet
+"/youtube:v3/ChannelSnippet/country": country
+"/youtube:v3/ChannelSnippet/defaultLanguage": default_language
+"/youtube:v3/ChannelSnippet/description": description
+"/youtube:v3/ChannelSnippet/localized": localized
+"/youtube:v3/ChannelSnippet/publishedAt": published_at
+"/youtube:v3/ChannelSnippet/thumbnails": thumbnails
+"/youtube:v3/ChannelSnippet/title": title
+"/youtube:v3/ChannelStatistics": channel_statistics
+"/youtube:v3/ChannelStatistics/commentCount": comment_count
+"/youtube:v3/ChannelStatistics/hiddenSubscriberCount": hidden_subscriber_count
+"/youtube:v3/ChannelStatistics/subscriberCount": subscriber_count
+"/youtube:v3/ChannelStatistics/videoCount": video_count
+"/youtube:v3/ChannelStatistics/viewCount": view_count
+"/youtube:v3/ChannelStatus": channel_status
+"/youtube:v3/ChannelStatus/isLinked": is_linked
+"/youtube:v3/ChannelStatus/longUploadsStatus": long_uploads_status
+"/youtube:v3/ChannelStatus/privacyStatus": privacy_status
+"/youtube:v3/ChannelTopicDetails": channel_topic_details
+"/youtube:v3/ChannelTopicDetails/topicIds": topic_ids
+"/youtube:v3/ChannelTopicDetails/topicIds/topic_id": topic_id
+"/youtube:v3/Comment": comment
+"/youtube:v3/Comment/etag": etag
+"/youtube:v3/Comment/id": id
+"/youtube:v3/Comment/kind": kind
+"/youtube:v3/Comment/snippet": snippet
+"/youtube:v3/CommentListResponse/etag": etag
+"/youtube:v3/CommentListResponse/eventId": event_id
+"/youtube:v3/CommentListResponse/items": items
+"/youtube:v3/CommentListResponse/items/item": item
+"/youtube:v3/CommentListResponse/kind": kind
+"/youtube:v3/CommentListResponse/nextPageToken": next_page_token
+"/youtube:v3/CommentListResponse/pageInfo": page_info
+"/youtube:v3/CommentListResponse/tokenPagination": token_pagination
+"/youtube:v3/CommentListResponse/visitorId": visitor_id
+"/youtube:v3/CommentSnippet": comment_snippet
+"/youtube:v3/CommentSnippet/authorChannelId": author_channel_id
+"/youtube:v3/CommentSnippet/authorChannelUrl": author_channel_url
+"/youtube:v3/CommentSnippet/authorDisplayName": author_display_name
+"/youtube:v3/CommentSnippet/authorGoogleplusProfileUrl": author_googleplus_profile_url
+"/youtube:v3/CommentSnippet/authorProfileImageUrl": author_profile_image_url
+"/youtube:v3/CommentSnippet/canRate": can_rate
+"/youtube:v3/CommentSnippet/channelId": channel_id
+"/youtube:v3/CommentSnippet/likeCount": like_count
+"/youtube:v3/CommentSnippet/moderationStatus": moderation_status
+"/youtube:v3/CommentSnippet/parentId": parent_id
+"/youtube:v3/CommentSnippet/publishedAt": published_at
+"/youtube:v3/CommentSnippet/textDisplay": text_display
+"/youtube:v3/CommentSnippet/textOriginal": text_original
+"/youtube:v3/CommentSnippet/updatedAt": updated_at
+"/youtube:v3/CommentSnippet/videoId": video_id
+"/youtube:v3/CommentSnippet/viewerRating": viewer_rating
+"/youtube:v3/CommentThread": comment_thread
+"/youtube:v3/CommentThread/etag": etag
+"/youtube:v3/CommentThread/id": id
+"/youtube:v3/CommentThread/kind": kind
+"/youtube:v3/CommentThread/replies": replies
+"/youtube:v3/CommentThread/snippet": snippet
+"/youtube:v3/CommentThreadListResponse/etag": etag
+"/youtube:v3/CommentThreadListResponse/eventId": event_id
+"/youtube:v3/CommentThreadListResponse/items": items
+"/youtube:v3/CommentThreadListResponse/items/item": item
+"/youtube:v3/CommentThreadListResponse/kind": kind
+"/youtube:v3/CommentThreadListResponse/nextPageToken": next_page_token
+"/youtube:v3/CommentThreadListResponse/pageInfo": page_info
+"/youtube:v3/CommentThreadListResponse/tokenPagination": token_pagination
+"/youtube:v3/CommentThreadListResponse/visitorId": visitor_id
+"/youtube:v3/CommentThreadReplies": comment_thread_replies
+"/youtube:v3/CommentThreadReplies/comments": comments
+"/youtube:v3/CommentThreadReplies/comments/comment": comment
+"/youtube:v3/CommentThreadSnippet": comment_thread_snippet
+"/youtube:v3/CommentThreadSnippet/canReply": can_reply
+"/youtube:v3/CommentThreadSnippet/channelId": channel_id
+"/youtube:v3/CommentThreadSnippet/isPublic": is_public
+"/youtube:v3/CommentThreadSnippet/topLevelComment": top_level_comment
+"/youtube:v3/CommentThreadSnippet/totalReplyCount": total_reply_count
+"/youtube:v3/CommentThreadSnippet/videoId": video_id
+"/youtube:v3/ContentRating": content_rating
+"/youtube:v3/ContentRating/acbRating": acb_rating
+"/youtube:v3/ContentRating/agcomRating": agcom_rating
+"/youtube:v3/ContentRating/anatelRating": anatel_rating
+"/youtube:v3/ContentRating/bbfcRating": bbfc_rating
+"/youtube:v3/ContentRating/bfvcRating": bfvc_rating
+"/youtube:v3/ContentRating/bmukkRating": bmukk_rating
+"/youtube:v3/ContentRating/catvRating": catv_rating
+"/youtube:v3/ContentRating/catvfrRating": catvfr_rating
+"/youtube:v3/ContentRating/cbfcRating": cbfc_rating
+"/youtube:v3/ContentRating/cccRating": ccc_rating
+"/youtube:v3/ContentRating/cceRating": cce_rating
+"/youtube:v3/ContentRating/chfilmRating": chfilm_rating
+"/youtube:v3/ContentRating/chvrsRating": chvrs_rating
+"/youtube:v3/ContentRating/cicfRating": cicf_rating
+"/youtube:v3/ContentRating/cnaRating": cna_rating
+"/youtube:v3/ContentRating/csaRating": csa_rating
+"/youtube:v3/ContentRating/cscfRating": cscf_rating
+"/youtube:v3/ContentRating/czfilmRating": czfilm_rating
+"/youtube:v3/ContentRating/djctqRating": djctq_rating
+"/youtube:v3/ContentRating/djctqRatingReasons": djctq_rating_reasons
+"/youtube:v3/ContentRating/djctqRatingReasons/djctq_rating_reason": djctq_rating_reason
+"/youtube:v3/ContentRating/eefilmRating": eefilm_rating
+"/youtube:v3/ContentRating/egfilmRating": egfilm_rating
+"/youtube:v3/ContentRating/eirinRating": eirin_rating
+"/youtube:v3/ContentRating/fcbmRating": fcbm_rating
+"/youtube:v3/ContentRating/fcoRating": fco_rating
+"/youtube:v3/ContentRating/fmocRating": fmoc_rating
+"/youtube:v3/ContentRating/fpbRating": fpb_rating
+"/youtube:v3/ContentRating/fskRating": fsk_rating
+"/youtube:v3/ContentRating/grfilmRating": grfilm_rating
+"/youtube:v3/ContentRating/icaaRating": icaa_rating
+"/youtube:v3/ContentRating/ifcoRating": ifco_rating
+"/youtube:v3/ContentRating/ilfilmRating": ilfilm_rating
+"/youtube:v3/ContentRating/incaaRating": incaa_rating
+"/youtube:v3/ContentRating/kfcbRating": kfcb_rating
+"/youtube:v3/ContentRating/kijkwijzerRating": kijkwijzer_rating
+"/youtube:v3/ContentRating/kmrbRating": kmrb_rating
+"/youtube:v3/ContentRating/lsfRating": lsf_rating
+"/youtube:v3/ContentRating/mccaaRating": mccaa_rating
+"/youtube:v3/ContentRating/mccypRating": mccyp_rating
+"/youtube:v3/ContentRating/mdaRating": mda_rating
+"/youtube:v3/ContentRating/medietilsynetRating": medietilsynet_rating
+"/youtube:v3/ContentRating/mekuRating": meku_rating
+"/youtube:v3/ContentRating/mibacRating": mibac_rating
+"/youtube:v3/ContentRating/mocRating": moc_rating
+"/youtube:v3/ContentRating/moctwRating": moctw_rating
+"/youtube:v3/ContentRating/mpaaRating": mpaa_rating
+"/youtube:v3/ContentRating/mtrcbRating": mtrcb_rating
+"/youtube:v3/ContentRating/nbcRating": nbc_rating
+"/youtube:v3/ContentRating/nbcplRating": nbcpl_rating
+"/youtube:v3/ContentRating/nfrcRating": nfrc_rating
+"/youtube:v3/ContentRating/nfvcbRating": nfvcb_rating
+"/youtube:v3/ContentRating/nkclvRating": nkclv_rating
+"/youtube:v3/ContentRating/oflcRating": oflc_rating
+"/youtube:v3/ContentRating/pefilmRating": pefilm_rating
+"/youtube:v3/ContentRating/rcnofRating": rcnof_rating
+"/youtube:v3/ContentRating/resorteviolenciaRating": resorteviolencia_rating
+"/youtube:v3/ContentRating/rtcRating": rtc_rating
+"/youtube:v3/ContentRating/rteRating": rte_rating
+"/youtube:v3/ContentRating/russiaRating": russia_rating
+"/youtube:v3/ContentRating/skfilmRating": skfilm_rating
+"/youtube:v3/ContentRating/smaisRating": smais_rating
+"/youtube:v3/ContentRating/smsaRating": smsa_rating
+"/youtube:v3/ContentRating/tvpgRating": tvpg_rating
+"/youtube:v3/ContentRating/ytRating": yt_rating
+"/youtube:v3/GeoPoint": geo_point
+"/youtube:v3/GeoPoint/altitude": altitude
+"/youtube:v3/GeoPoint/latitude": latitude
+"/youtube:v3/GeoPoint/longitude": longitude
+"/youtube:v3/GuideCategory": guide_category
+"/youtube:v3/GuideCategory/etag": etag
+"/youtube:v3/GuideCategory/id": id
+"/youtube:v3/GuideCategory/kind": kind
+"/youtube:v3/GuideCategory/snippet": snippet
+"/youtube:v3/GuideCategoryListResponse/etag": etag
+"/youtube:v3/GuideCategoryListResponse/eventId": event_id
+"/youtube:v3/GuideCategoryListResponse/items": items
+"/youtube:v3/GuideCategoryListResponse/items/item": item
+"/youtube:v3/GuideCategoryListResponse/kind": kind
+"/youtube:v3/GuideCategoryListResponse/nextPageToken": next_page_token
+"/youtube:v3/GuideCategoryListResponse/pageInfo": page_info
+"/youtube:v3/GuideCategoryListResponse/prevPageToken": prev_page_token
+"/youtube:v3/GuideCategoryListResponse/tokenPagination": token_pagination
+"/youtube:v3/GuideCategoryListResponse/visitorId": visitor_id
+"/youtube:v3/GuideCategorySnippet": guide_category_snippet
+"/youtube:v3/GuideCategorySnippet/channelId": channel_id
+"/youtube:v3/GuideCategorySnippet/title": title
+"/youtube:v3/I18nLanguage": i18n_language
+"/youtube:v3/I18nLanguage/etag": etag
+"/youtube:v3/I18nLanguage/id": id
+"/youtube:v3/I18nLanguage/kind": kind
+"/youtube:v3/I18nLanguage/snippet": snippet
+"/youtube:v3/I18nLanguageListResponse/etag": etag
+"/youtube:v3/I18nLanguageListResponse/eventId": event_id
+"/youtube:v3/I18nLanguageListResponse/items": items
+"/youtube:v3/I18nLanguageListResponse/items/item": item
+"/youtube:v3/I18nLanguageListResponse/kind": kind
+"/youtube:v3/I18nLanguageListResponse/visitorId": visitor_id
+"/youtube:v3/I18nLanguageSnippet": i18n_language_snippet
+"/youtube:v3/I18nLanguageSnippet/hl": hl
+"/youtube:v3/I18nLanguageSnippet/name": name
+"/youtube:v3/I18nRegion": i18n_region
+"/youtube:v3/I18nRegion/etag": etag
+"/youtube:v3/I18nRegion/id": id
+"/youtube:v3/I18nRegion/kind": kind
+"/youtube:v3/I18nRegion/snippet": snippet
+"/youtube:v3/I18nRegionListResponse/etag": etag
+"/youtube:v3/I18nRegionListResponse/eventId": event_id
+"/youtube:v3/I18nRegionListResponse/items": items
+"/youtube:v3/I18nRegionListResponse/items/item": item
+"/youtube:v3/I18nRegionListResponse/kind": kind
+"/youtube:v3/I18nRegionListResponse/visitorId": visitor_id
+"/youtube:v3/I18nRegionSnippet": i18n_region_snippet
+"/youtube:v3/I18nRegionSnippet/gl": gl
+"/youtube:v3/I18nRegionSnippet/name": name
+"/youtube:v3/ImageSettings": image_settings
+"/youtube:v3/ImageSettings/backgroundImageUrl": background_image_url
+"/youtube:v3/ImageSettings/bannerExternalUrl": banner_external_url
+"/youtube:v3/ImageSettings/bannerImageUrl": banner_image_url
+"/youtube:v3/ImageSettings/bannerMobileExtraHdImageUrl": banner_mobile_extra_hd_image_url
+"/youtube:v3/ImageSettings/bannerMobileHdImageUrl": banner_mobile_hd_image_url
+"/youtube:v3/ImageSettings/bannerMobileImageUrl": banner_mobile_image_url
+"/youtube:v3/ImageSettings/bannerMobileLowImageUrl": banner_mobile_low_image_url
+"/youtube:v3/ImageSettings/bannerMobileMediumHdImageUrl": banner_mobile_medium_hd_image_url
+"/youtube:v3/ImageSettings/bannerTabletExtraHdImageUrl": banner_tablet_extra_hd_image_url
+"/youtube:v3/ImageSettings/bannerTabletHdImageUrl": banner_tablet_hd_image_url
+"/youtube:v3/ImageSettings/bannerTabletImageUrl": banner_tablet_image_url
+"/youtube:v3/ImageSettings/bannerTabletLowImageUrl": banner_tablet_low_image_url
+"/youtube:v3/ImageSettings/bannerTvHighImageUrl": banner_tv_high_image_url
+"/youtube:v3/ImageSettings/bannerTvImageUrl": banner_tv_image_url
+"/youtube:v3/ImageSettings/bannerTvLowImageUrl": banner_tv_low_image_url
+"/youtube:v3/ImageSettings/bannerTvMediumImageUrl": banner_tv_medium_image_url
+"/youtube:v3/ImageSettings/largeBrandedBannerImageImapScript": large_branded_banner_image_imap_script
+"/youtube:v3/ImageSettings/largeBrandedBannerImageUrl": large_branded_banner_image_url
+"/youtube:v3/ImageSettings/smallBrandedBannerImageImapScript": small_branded_banner_image_imap_script
+"/youtube:v3/ImageSettings/smallBrandedBannerImageUrl": small_branded_banner_image_url
+"/youtube:v3/ImageSettings/trackingImageUrl": tracking_image_url
+"/youtube:v3/ImageSettings/watchIconImageUrl": watch_icon_image_url
+"/youtube:v3/IngestionInfo": ingestion_info
+"/youtube:v3/IngestionInfo/backupIngestionAddress": backup_ingestion_address
+"/youtube:v3/IngestionInfo/ingestionAddress": ingestion_address
+"/youtube:v3/IngestionInfo/streamName": stream_name
+"/youtube:v3/InvideoBranding": invideo_branding
+"/youtube:v3/InvideoBranding/imageBytes": image_bytes
+"/youtube:v3/InvideoBranding/imageUrl": image_url
+"/youtube:v3/InvideoBranding/position": position
+"/youtube:v3/InvideoBranding/targetChannelId": target_channel_id
+"/youtube:v3/InvideoBranding/timing": timing
+"/youtube:v3/InvideoPosition": invideo_position
+"/youtube:v3/InvideoPosition/cornerPosition": corner_position
+"/youtube:v3/InvideoPosition/type": type
+"/youtube:v3/InvideoPromotion": invideo_promotion
+"/youtube:v3/InvideoPromotion/defaultTiming": default_timing
+"/youtube:v3/InvideoPromotion/items": items
+"/youtube:v3/InvideoPromotion/items/item": item
+"/youtube:v3/InvideoPromotion/position": position
+"/youtube:v3/InvideoPromotion/useSmartTiming": use_smart_timing
+"/youtube:v3/InvideoTiming": invideo_timing
+"/youtube:v3/InvideoTiming/durationMs": duration_ms
+"/youtube:v3/InvideoTiming/offsetMs": offset_ms
+"/youtube:v3/InvideoTiming/type": type
+"/youtube:v3/LanguageTag": language_tag
+"/youtube:v3/LanguageTag/value": value
+"/youtube:v3/LiveBroadcast": live_broadcast
+"/youtube:v3/LiveBroadcast/contentDetails": content_details
+"/youtube:v3/LiveBroadcast/etag": etag
+"/youtube:v3/LiveBroadcast/id": id
+"/youtube:v3/LiveBroadcast/kind": kind
+"/youtube:v3/LiveBroadcast/snippet": snippet
+"/youtube:v3/LiveBroadcast/statistics": statistics
+"/youtube:v3/LiveBroadcast/status": status
+"/youtube:v3/LiveBroadcast/topicDetails": topic_details
+"/youtube:v3/LiveBroadcastContentDetails": live_broadcast_content_details
+"/youtube:v3/LiveBroadcastContentDetails/boundStreamId": bound_stream_id
+"/youtube:v3/LiveBroadcastContentDetails/enableClosedCaptions": enable_closed_captions
+"/youtube:v3/LiveBroadcastContentDetails/enableContentEncryption": enable_content_encryption
+"/youtube:v3/LiveBroadcastContentDetails/enableDvr": enable_dvr
+"/youtube:v3/LiveBroadcastContentDetails/enableEmbed": enable_embed
+"/youtube:v3/LiveBroadcastContentDetails/enableLowLatency": enable_low_latency
+"/youtube:v3/LiveBroadcastContentDetails/monitorStream": monitor_stream
+"/youtube:v3/LiveBroadcastContentDetails/recordFromStart": record_from_start
+"/youtube:v3/LiveBroadcastContentDetails/startWithSlate": start_with_slate
+"/youtube:v3/LiveBroadcastListResponse/etag": etag
+"/youtube:v3/LiveBroadcastListResponse/eventId": event_id
+"/youtube:v3/LiveBroadcastListResponse/items": items
+"/youtube:v3/LiveBroadcastListResponse/items/item": item
+"/youtube:v3/LiveBroadcastListResponse/kind": kind
+"/youtube:v3/LiveBroadcastListResponse/nextPageToken": next_page_token
+"/youtube:v3/LiveBroadcastListResponse/pageInfo": page_info
+"/youtube:v3/LiveBroadcastListResponse/prevPageToken": prev_page_token
+"/youtube:v3/LiveBroadcastListResponse/tokenPagination": token_pagination
+"/youtube:v3/LiveBroadcastListResponse/visitorId": visitor_id
+"/youtube:v3/LiveBroadcastSnippet": live_broadcast_snippet
+"/youtube:v3/LiveBroadcastSnippet/actualEndTime": actual_end_time
+"/youtube:v3/LiveBroadcastSnippet/actualStartTime": actual_start_time
+"/youtube:v3/LiveBroadcastSnippet/channelId": channel_id
+"/youtube:v3/LiveBroadcastSnippet/description": description
+"/youtube:v3/LiveBroadcastSnippet/isDefaultBroadcast": is_default_broadcast
+"/youtube:v3/LiveBroadcastSnippet/publishedAt": published_at
+"/youtube:v3/LiveBroadcastSnippet/scheduledEndTime": scheduled_end_time
+"/youtube:v3/LiveBroadcastSnippet/scheduledStartTime": scheduled_start_time
+"/youtube:v3/LiveBroadcastSnippet/thumbnails": thumbnails
+"/youtube:v3/LiveBroadcastSnippet/title": title
+"/youtube:v3/LiveBroadcastStatistics": live_broadcast_statistics
+"/youtube:v3/LiveBroadcastStatistics/concurrentViewers": concurrent_viewers
+"/youtube:v3/LiveBroadcastStatistics/totalChatCount": total_chat_count
+"/youtube:v3/LiveBroadcastStatus": live_broadcast_status
+"/youtube:v3/LiveBroadcastStatus/lifeCycleStatus": life_cycle_status
+"/youtube:v3/LiveBroadcastStatus/liveBroadcastPriority": live_broadcast_priority
+"/youtube:v3/LiveBroadcastStatus/privacyStatus": privacy_status
+"/youtube:v3/LiveBroadcastStatus/recordingStatus": recording_status
+"/youtube:v3/LiveBroadcastTopic": live_broadcast_topic
+"/youtube:v3/LiveBroadcastTopic/snippet": snippet
+"/youtube:v3/LiveBroadcastTopic/type": type
+"/youtube:v3/LiveBroadcastTopic/unmatched": unmatched
+"/youtube:v3/LiveBroadcastTopicDetails": live_broadcast_topic_details
+"/youtube:v3/LiveBroadcastTopicDetails/topics": topics
+"/youtube:v3/LiveBroadcastTopicDetails/topics/topic": topic
+"/youtube:v3/LiveBroadcastTopicSnippet": live_broadcast_topic_snippet
+"/youtube:v3/LiveBroadcastTopicSnippet/name": name
+"/youtube:v3/LiveBroadcastTopicSnippet/releaseDate": release_date
+"/youtube:v3/LiveStream": live_stream
+"/youtube:v3/LiveStream/cdn": cdn
+"/youtube:v3/LiveStream/contentDetails": content_details
+"/youtube:v3/LiveStream/etag": etag
+"/youtube:v3/LiveStream/id": id
+"/youtube:v3/LiveStream/kind": kind
+"/youtube:v3/LiveStream/snippet": snippet
+"/youtube:v3/LiveStream/status": status
+"/youtube:v3/LiveStreamConfigurationIssue": live_stream_configuration_issue
+"/youtube:v3/LiveStreamConfigurationIssue/description": description
+"/youtube:v3/LiveStreamConfigurationIssue/reason": reason
+"/youtube:v3/LiveStreamConfigurationIssue/severity": severity
+"/youtube:v3/LiveStreamConfigurationIssue/type": type
+"/youtube:v3/LiveStreamContentDetails": live_stream_content_details
+"/youtube:v3/LiveStreamContentDetails/closedCaptionsIngestionUrl": closed_captions_ingestion_url
+"/youtube:v3/LiveStreamContentDetails/isReusable": is_reusable
+"/youtube:v3/LiveStreamHealthStatus": live_stream_health_status
+"/youtube:v3/LiveStreamHealthStatus/configurationIssues": configuration_issues
+"/youtube:v3/LiveStreamHealthStatus/configurationIssues/configuration_issue": configuration_issue
+"/youtube:v3/LiveStreamHealthStatus/lastUpdateTimeS": last_update_time_s
+"/youtube:v3/LiveStreamHealthStatus/status": status
+"/youtube:v3/LiveStreamListResponse/etag": etag
+"/youtube:v3/LiveStreamListResponse/eventId": event_id
+"/youtube:v3/LiveStreamListResponse/items": items
+"/youtube:v3/LiveStreamListResponse/items/item": item
+"/youtube:v3/LiveStreamListResponse/kind": kind
+"/youtube:v3/LiveStreamListResponse/nextPageToken": next_page_token
+"/youtube:v3/LiveStreamListResponse/pageInfo": page_info
+"/youtube:v3/LiveStreamListResponse/prevPageToken": prev_page_token
+"/youtube:v3/LiveStreamListResponse/tokenPagination": token_pagination
+"/youtube:v3/LiveStreamListResponse/visitorId": visitor_id
+"/youtube:v3/LiveStreamSnippet": live_stream_snippet
+"/youtube:v3/LiveStreamSnippet/channelId": channel_id
+"/youtube:v3/LiveStreamSnippet/description": description
+"/youtube:v3/LiveStreamSnippet/isDefaultStream": is_default_stream
+"/youtube:v3/LiveStreamSnippet/publishedAt": published_at
+"/youtube:v3/LiveStreamSnippet/title": title
+"/youtube:v3/LiveStreamStatus": live_stream_status
+"/youtube:v3/LiveStreamStatus/healthStatus": health_status
+"/youtube:v3/LiveStreamStatus/streamStatus": stream_status
+"/youtube:v3/LocalizedProperty": localized_property
+"/youtube:v3/LocalizedProperty/default": default
+"/youtube:v3/LocalizedProperty/defaultLanguage": default_language
+"/youtube:v3/LocalizedProperty/localized": localized
+"/youtube:v3/LocalizedProperty/localized/localized": localized
+"/youtube:v3/LocalizedString": localized_string
+"/youtube:v3/LocalizedString/language": language
+"/youtube:v3/LocalizedString/value": value
+"/youtube:v3/MonitorStreamInfo": monitor_stream_info
+"/youtube:v3/MonitorStreamInfo/broadcastStreamDelayMs": broadcast_stream_delay_ms
+"/youtube:v3/MonitorStreamInfo/embedHtml": embed_html
+"/youtube:v3/MonitorStreamInfo/enableMonitorStream": enable_monitor_stream
+"/youtube:v3/PageInfo": page_info
+"/youtube:v3/PageInfo/resultsPerPage": results_per_page
+"/youtube:v3/PageInfo/totalResults": total_results
+"/youtube:v3/Playlist": playlist
+"/youtube:v3/Playlist/contentDetails": content_details
+"/youtube:v3/Playlist/etag": etag
+"/youtube:v3/Playlist/id": id
+"/youtube:v3/Playlist/kind": kind
+"/youtube:v3/Playlist/localizations": localizations
+"/youtube:v3/Playlist/localizations/localization": localization
+"/youtube:v3/Playlist/player": player
+"/youtube:v3/Playlist/snippet": snippet
+"/youtube:v3/Playlist/status": status
+"/youtube:v3/PlaylistContentDetails": playlist_content_details
+"/youtube:v3/PlaylistContentDetails/itemCount": item_count
+"/youtube:v3/PlaylistItem": playlist_item
+"/youtube:v3/PlaylistItem/contentDetails": content_details
+"/youtube:v3/PlaylistItem/etag": etag
+"/youtube:v3/PlaylistItem/id": id
+"/youtube:v3/PlaylistItem/kind": kind
+"/youtube:v3/PlaylistItem/snippet": snippet
+"/youtube:v3/PlaylistItem/status": status
+"/youtube:v3/PlaylistItemContentDetails": playlist_item_content_details
+"/youtube:v3/PlaylistItemContentDetails/endAt": end_at
+"/youtube:v3/PlaylistItemContentDetails/note": note
+"/youtube:v3/PlaylistItemContentDetails/startAt": start_at
+"/youtube:v3/PlaylistItemContentDetails/videoId": video_id
+"/youtube:v3/PlaylistItemListResponse/etag": etag
+"/youtube:v3/PlaylistItemListResponse/eventId": event_id
+"/youtube:v3/PlaylistItemListResponse/items": items
+"/youtube:v3/PlaylistItemListResponse/items/item": item
+"/youtube:v3/PlaylistItemListResponse/kind": kind
+"/youtube:v3/PlaylistItemListResponse/nextPageToken": next_page_token
+"/youtube:v3/PlaylistItemListResponse/pageInfo": page_info
+"/youtube:v3/PlaylistItemListResponse/prevPageToken": prev_page_token
+"/youtube:v3/PlaylistItemListResponse/tokenPagination": token_pagination
+"/youtube:v3/PlaylistItemListResponse/visitorId": visitor_id
+"/youtube:v3/PlaylistItemSnippet": playlist_item_snippet
+"/youtube:v3/PlaylistItemSnippet/channelId": channel_id
+"/youtube:v3/PlaylistItemSnippet/channelTitle": channel_title
+"/youtube:v3/PlaylistItemSnippet/description": description
+"/youtube:v3/PlaylistItemSnippet/playlistId": playlist_id
+"/youtube:v3/PlaylistItemSnippet/position": position
+"/youtube:v3/PlaylistItemSnippet/publishedAt": published_at
+"/youtube:v3/PlaylistItemSnippet/resourceId": resource_id
+"/youtube:v3/PlaylistItemSnippet/thumbnails": thumbnails
+"/youtube:v3/PlaylistItemSnippet/title": title
+"/youtube:v3/PlaylistItemStatus": playlist_item_status
+"/youtube:v3/PlaylistItemStatus/privacyStatus": privacy_status
+"/youtube:v3/PlaylistListResponse/etag": etag
+"/youtube:v3/PlaylistListResponse/eventId": event_id
+"/youtube:v3/PlaylistListResponse/items": items
+"/youtube:v3/PlaylistListResponse/items/item": item
+"/youtube:v3/PlaylistListResponse/kind": kind
+"/youtube:v3/PlaylistListResponse/nextPageToken": next_page_token
+"/youtube:v3/PlaylistListResponse/pageInfo": page_info
+"/youtube:v3/PlaylistListResponse/prevPageToken": prev_page_token
+"/youtube:v3/PlaylistListResponse/tokenPagination": token_pagination
+"/youtube:v3/PlaylistListResponse/visitorId": visitor_id
+"/youtube:v3/PlaylistLocalization": playlist_localization
+"/youtube:v3/PlaylistLocalization/description": description
+"/youtube:v3/PlaylistLocalization/title": title
+"/youtube:v3/PlaylistPlayer": playlist_player
+"/youtube:v3/PlaylistPlayer/embedHtml": embed_html
+"/youtube:v3/PlaylistSnippet": playlist_snippet
+"/youtube:v3/PlaylistSnippet/channelId": channel_id
+"/youtube:v3/PlaylistSnippet/channelTitle": channel_title
+"/youtube:v3/PlaylistSnippet/defaultLanguage": default_language
+"/youtube:v3/PlaylistSnippet/description": description
+"/youtube:v3/PlaylistSnippet/localized": localized
+"/youtube:v3/PlaylistSnippet/publishedAt": published_at
+"/youtube:v3/PlaylistSnippet/tags": tags
+"/youtube:v3/PlaylistSnippet/tags/tag": tag
+"/youtube:v3/PlaylistSnippet/thumbnails": thumbnails
+"/youtube:v3/PlaylistSnippet/title": title
+"/youtube:v3/PlaylistStatus": playlist_status
+"/youtube:v3/PlaylistStatus/privacyStatus": privacy_status
+"/youtube:v3/PromotedItem": promoted_item
+"/youtube:v3/PromotedItem/customMessage": custom_message
+"/youtube:v3/PromotedItem/id": id
+"/youtube:v3/PromotedItem/promotedByContentOwner": promoted_by_content_owner
+"/youtube:v3/PromotedItem/timing": timing
+"/youtube:v3/PromotedItemId": promoted_item_id
+"/youtube:v3/PromotedItemId/recentlyUploadedBy": recently_uploaded_by
+"/youtube:v3/PromotedItemId/type": type
+"/youtube:v3/PromotedItemId/videoId": video_id
+"/youtube:v3/PromotedItemId/websiteUrl": website_url
+"/youtube:v3/PropertyValue": property_value
+"/youtube:v3/PropertyValue/property": property
+"/youtube:v3/PropertyValue/value": value
+"/youtube:v3/ResourceId": resource_id
+"/youtube:v3/ResourceId/channelId": channel_id
+"/youtube:v3/ResourceId/kind": kind
+"/youtube:v3/ResourceId/playlistId": playlist_id
+"/youtube:v3/ResourceId/videoId": video_id
+"/youtube:v3/SearchListResponse/etag": etag
+"/youtube:v3/SearchListResponse/eventId": event_id
+"/youtube:v3/SearchListResponse/items": items
+"/youtube:v3/SearchListResponse/items/item": item
+"/youtube:v3/SearchListResponse/kind": kind
+"/youtube:v3/SearchListResponse/nextPageToken": next_page_token
+"/youtube:v3/SearchListResponse/pageInfo": page_info
+"/youtube:v3/SearchListResponse/prevPageToken": prev_page_token
+"/youtube:v3/SearchListResponse/tokenPagination": token_pagination
+"/youtube:v3/SearchListResponse/visitorId": visitor_id
+"/youtube:v3/SearchResult": search_result
+"/youtube:v3/SearchResult/etag": etag
+"/youtube:v3/SearchResult/id": id
+"/youtube:v3/SearchResult/kind": kind
+"/youtube:v3/SearchResult/snippet": snippet
+"/youtube:v3/SearchResultSnippet": search_result_snippet
+"/youtube:v3/SearchResultSnippet/channelId": channel_id
+"/youtube:v3/SearchResultSnippet/channelTitle": channel_title
+"/youtube:v3/SearchResultSnippet/description": description
+"/youtube:v3/SearchResultSnippet/liveBroadcastContent": live_broadcast_content
+"/youtube:v3/SearchResultSnippet/publishedAt": published_at
+"/youtube:v3/SearchResultSnippet/thumbnails": thumbnails
+"/youtube:v3/SearchResultSnippet/title": title
+"/youtube:v3/Subscription": subscription
+"/youtube:v3/Subscription/contentDetails": content_details
+"/youtube:v3/Subscription/etag": etag
+"/youtube:v3/Subscription/id": id
+"/youtube:v3/Subscription/kind": kind
+"/youtube:v3/Subscription/snippet": snippet
+"/youtube:v3/Subscription/subscriberSnippet": subscriber_snippet
+"/youtube:v3/SubscriptionContentDetails": subscription_content_details
+"/youtube:v3/SubscriptionContentDetails/activityType": activity_type
+"/youtube:v3/SubscriptionContentDetails/newItemCount": new_item_count
+"/youtube:v3/SubscriptionContentDetails/totalItemCount": total_item_count
+"/youtube:v3/SubscriptionListResponse/etag": etag
+"/youtube:v3/SubscriptionListResponse/eventId": event_id
+"/youtube:v3/SubscriptionListResponse/items": items
+"/youtube:v3/SubscriptionListResponse/items/item": item
+"/youtube:v3/SubscriptionListResponse/kind": kind
+"/youtube:v3/SubscriptionListResponse/nextPageToken": next_page_token
+"/youtube:v3/SubscriptionListResponse/pageInfo": page_info
+"/youtube:v3/SubscriptionListResponse/prevPageToken": prev_page_token
+"/youtube:v3/SubscriptionListResponse/tokenPagination": token_pagination
+"/youtube:v3/SubscriptionListResponse/visitorId": visitor_id
+"/youtube:v3/SubscriptionSnippet": subscription_snippet
+"/youtube:v3/SubscriptionSnippet/channelId": channel_id
+"/youtube:v3/SubscriptionSnippet/channelTitle": channel_title
+"/youtube:v3/SubscriptionSnippet/description": description
+"/youtube:v3/SubscriptionSnippet/publishedAt": published_at
+"/youtube:v3/SubscriptionSnippet/resourceId": resource_id
+"/youtube:v3/SubscriptionSnippet/thumbnails": thumbnails
+"/youtube:v3/SubscriptionSnippet/title": title
+"/youtube:v3/SubscriptionSubscriberSnippet": subscription_subscriber_snippet
+"/youtube:v3/SubscriptionSubscriberSnippet/channelId": channel_id
+"/youtube:v3/SubscriptionSubscriberSnippet/description": description
+"/youtube:v3/SubscriptionSubscriberSnippet/thumbnails": thumbnails
+"/youtube:v3/SubscriptionSubscriberSnippet/title": title
+"/youtube:v3/Thumbnail": thumbnail
+"/youtube:v3/Thumbnail/height": height
+"/youtube:v3/Thumbnail/url": url
+"/youtube:v3/Thumbnail/width": width
+"/youtube:v3/ThumbnailDetails": thumbnail_details
+"/youtube:v3/ThumbnailDetails/default": default
+"/youtube:v3/ThumbnailDetails/high": high
+"/youtube:v3/ThumbnailDetails/maxres": maxres
+"/youtube:v3/ThumbnailDetails/medium": medium
+"/youtube:v3/ThumbnailDetails/standard": standard
+"/youtube:v3/ThumbnailSetResponse/etag": etag
+"/youtube:v3/ThumbnailSetResponse/eventId": event_id
+"/youtube:v3/ThumbnailSetResponse/items": items
+"/youtube:v3/ThumbnailSetResponse/items/item": item
+"/youtube:v3/ThumbnailSetResponse/kind": kind
+"/youtube:v3/ThumbnailSetResponse/visitorId": visitor_id
+"/youtube:v3/TokenPagination": token_pagination
+"/youtube:v3/Video": video
+"/youtube:v3/Video/ageGating": age_gating
+"/youtube:v3/Video/contentDetails": content_details
+"/youtube:v3/Video/conversionPings": conversion_pings
+"/youtube:v3/Video/etag": etag
+"/youtube:v3/Video/fileDetails": file_details
+"/youtube:v3/Video/id": id
+"/youtube:v3/Video/kind": kind
+"/youtube:v3/Video/liveStreamingDetails": live_streaming_details
+"/youtube:v3/Video/localizations": localizations
+"/youtube:v3/Video/localizations/localization": localization
+"/youtube:v3/Video/monetizationDetails": monetization_details
+"/youtube:v3/Video/player": player
+"/youtube:v3/Video/processingDetails": processing_details
+"/youtube:v3/Video/projectDetails": project_details
+"/youtube:v3/Video/recordingDetails": recording_details
+"/youtube:v3/Video/snippet": snippet
+"/youtube:v3/Video/statistics": statistics
+"/youtube:v3/Video/status": status
+"/youtube:v3/Video/suggestions": suggestions
+"/youtube:v3/Video/topicDetails": topic_details
+"/youtube:v3/VideoAbuseReport": video_abuse_report
+"/youtube:v3/VideoAbuseReport/comments": comments
+"/youtube:v3/VideoAbuseReport/language": language
+"/youtube:v3/VideoAbuseReport/reasonId": reason_id
+"/youtube:v3/VideoAbuseReport/secondaryReasonId": secondary_reason_id
+"/youtube:v3/VideoAbuseReport/videoId": video_id
+"/youtube:v3/VideoAbuseReportReason": video_abuse_report_reason
+"/youtube:v3/VideoAbuseReportReason/etag": etag
+"/youtube:v3/VideoAbuseReportReason/id": id
+"/youtube:v3/VideoAbuseReportReason/kind": kind
+"/youtube:v3/VideoAbuseReportReason/snippet": snippet
+"/youtube:v3/VideoAbuseReportReasonListResponse/etag": etag
+"/youtube:v3/VideoAbuseReportReasonListResponse/eventId": event_id
+"/youtube:v3/VideoAbuseReportReasonListResponse/items": items
+"/youtube:v3/VideoAbuseReportReasonListResponse/items/item": item
+"/youtube:v3/VideoAbuseReportReasonListResponse/kind": kind
+"/youtube:v3/VideoAbuseReportReasonListResponse/visitorId": visitor_id
+"/youtube:v3/VideoAbuseReportReasonSnippet": video_abuse_report_reason_snippet
+"/youtube:v3/VideoAbuseReportReasonSnippet/label": label
+"/youtube:v3/VideoAbuseReportReasonSnippet/secondaryReasons": secondary_reasons
+"/youtube:v3/VideoAbuseReportReasonSnippet/secondaryReasons/secondary_reason": secondary_reason
+"/youtube:v3/VideoAbuseReportSecondaryReason": video_abuse_report_secondary_reason
+"/youtube:v3/VideoAbuseReportSecondaryReason/id": id
+"/youtube:v3/VideoAbuseReportSecondaryReason/label": label
+"/youtube:v3/VideoAgeGating": video_age_gating
+"/youtube:v3/VideoAgeGating/alcoholContent": alcohol_content
+"/youtube:v3/VideoAgeGating/restricted": restricted
+"/youtube:v3/VideoAgeGating/videoGameRating": video_game_rating
+"/youtube:v3/VideoCategory": video_category
+"/youtube:v3/VideoCategory/etag": etag
+"/youtube:v3/VideoCategory/id": id
+"/youtube:v3/VideoCategory/kind": kind
+"/youtube:v3/VideoCategory/snippet": snippet
+"/youtube:v3/VideoCategoryListResponse/etag": etag
+"/youtube:v3/VideoCategoryListResponse/eventId": event_id
+"/youtube:v3/VideoCategoryListResponse/items": items
+"/youtube:v3/VideoCategoryListResponse/items/item": item
+"/youtube:v3/VideoCategoryListResponse/kind": kind
+"/youtube:v3/VideoCategoryListResponse/nextPageToken": next_page_token
+"/youtube:v3/VideoCategoryListResponse/pageInfo": page_info
+"/youtube:v3/VideoCategoryListResponse/prevPageToken": prev_page_token
+"/youtube:v3/VideoCategoryListResponse/tokenPagination": token_pagination
+"/youtube:v3/VideoCategoryListResponse/visitorId": visitor_id
+"/youtube:v3/VideoCategorySnippet": video_category_snippet
+"/youtube:v3/VideoCategorySnippet/assignable": assignable
+"/youtube:v3/VideoCategorySnippet/channelId": channel_id
+"/youtube:v3/VideoCategorySnippet/title": title
+"/youtube:v3/VideoContentDetails": video_content_details
+"/youtube:v3/VideoContentDetails/caption": caption
+"/youtube:v3/VideoContentDetails/contentRating": content_rating
+"/youtube:v3/VideoContentDetails/countryRestriction": country_restriction
+"/youtube:v3/VideoContentDetails/definition": definition
+"/youtube:v3/VideoContentDetails/dimension": dimension
+"/youtube:v3/VideoContentDetails/duration": duration
+"/youtube:v3/VideoContentDetails/licensedContent": licensed_content
+"/youtube:v3/VideoContentDetails/regionRestriction": region_restriction
+"/youtube:v3/VideoContentDetailsRegionRestriction": video_content_details_region_restriction
+"/youtube:v3/VideoContentDetailsRegionRestriction/allowed": allowed
+"/youtube:v3/VideoContentDetailsRegionRestriction/allowed/allowed": allowed
+"/youtube:v3/VideoContentDetailsRegionRestriction/blocked": blocked
+"/youtube:v3/VideoContentDetailsRegionRestriction/blocked/blocked": blocked
+"/youtube:v3/VideoConversionPing": video_conversion_ping
+"/youtube:v3/VideoConversionPing/context": context
+"/youtube:v3/VideoConversionPing/conversionUrl": conversion_url
+"/youtube:v3/VideoConversionPings": video_conversion_pings
+"/youtube:v3/VideoConversionPings/pings": pings
+"/youtube:v3/VideoConversionPings/pings/ping": ping
+"/youtube:v3/VideoFileDetails": video_file_details
+"/youtube:v3/VideoFileDetails/audioStreams": audio_streams
+"/youtube:v3/VideoFileDetails/audioStreams/audio_stream": audio_stream
+"/youtube:v3/VideoFileDetails/bitrateBps": bitrate_bps
+"/youtube:v3/VideoFileDetails/container": container
+"/youtube:v3/VideoFileDetails/creationTime": creation_time
+"/youtube:v3/VideoFileDetails/durationMs": duration_ms
+"/youtube:v3/VideoFileDetails/fileName": file_name
+"/youtube:v3/VideoFileDetails/fileSize": file_size
+"/youtube:v3/VideoFileDetails/fileType": file_type
+"/youtube:v3/VideoFileDetails/recordingLocation": recording_location
+"/youtube:v3/VideoFileDetails/videoStreams": video_streams
+"/youtube:v3/VideoFileDetails/videoStreams/video_stream": video_stream
+"/youtube:v3/VideoFileDetailsAudioStream": video_file_details_audio_stream
+"/youtube:v3/VideoFileDetailsAudioStream/bitrateBps": bitrate_bps
+"/youtube:v3/VideoFileDetailsAudioStream/channelCount": channel_count
+"/youtube:v3/VideoFileDetailsAudioStream/codec": codec
+"/youtube:v3/VideoFileDetailsAudioStream/vendor": vendor
+"/youtube:v3/VideoFileDetailsVideoStream": video_file_details_video_stream
+"/youtube:v3/VideoFileDetailsVideoStream/aspectRatio": aspect_ratio
+"/youtube:v3/VideoFileDetailsVideoStream/bitrateBps": bitrate_bps
+"/youtube:v3/VideoFileDetailsVideoStream/codec": codec
+"/youtube:v3/VideoFileDetailsVideoStream/frameRateFps": frame_rate_fps
+"/youtube:v3/VideoFileDetailsVideoStream/heightPixels": height_pixels
+"/youtube:v3/VideoFileDetailsVideoStream/rotation": rotation
+"/youtube:v3/VideoFileDetailsVideoStream/vendor": vendor
+"/youtube:v3/VideoFileDetailsVideoStream/widthPixels": width_pixels
+"/youtube:v3/VideoGetRatingResponse/etag": etag
+"/youtube:v3/VideoGetRatingResponse/eventId": event_id
+"/youtube:v3/VideoGetRatingResponse/items": items
+"/youtube:v3/VideoGetRatingResponse/items/item": item
+"/youtube:v3/VideoGetRatingResponse/kind": kind
+"/youtube:v3/VideoGetRatingResponse/visitorId": visitor_id
+"/youtube:v3/VideoListResponse/etag": etag
+"/youtube:v3/VideoListResponse/eventId": event_id
+"/youtube:v3/VideoListResponse/items": items
+"/youtube:v3/VideoListResponse/items/item": item
+"/youtube:v3/VideoListResponse/kind": kind
+"/youtube:v3/VideoListResponse/nextPageToken": next_page_token
+"/youtube:v3/VideoListResponse/pageInfo": page_info
+"/youtube:v3/VideoListResponse/prevPageToken": prev_page_token
+"/youtube:v3/VideoListResponse/tokenPagination": token_pagination
+"/youtube:v3/VideoListResponse/visitorId": visitor_id
+"/youtube:v3/VideoLiveStreamingDetails": video_live_streaming_details
+"/youtube:v3/VideoLiveStreamingDetails/actualEndTime": actual_end_time
+"/youtube:v3/VideoLiveStreamingDetails/actualStartTime": actual_start_time
+"/youtube:v3/VideoLiveStreamingDetails/concurrentViewers": concurrent_viewers
+"/youtube:v3/VideoLiveStreamingDetails/scheduledEndTime": scheduled_end_time
+"/youtube:v3/VideoLiveStreamingDetails/scheduledStartTime": scheduled_start_time
+"/youtube:v3/VideoLocalization": video_localization
+"/youtube:v3/VideoLocalization/description": description
+"/youtube:v3/VideoLocalization/title": title
+"/youtube:v3/VideoMonetizationDetails": video_monetization_details
+"/youtube:v3/VideoMonetizationDetails/access": access
+"/youtube:v3/VideoPlayer": video_player
+"/youtube:v3/VideoPlayer/embedHtml": embed_html
+"/youtube:v3/VideoProcessingDetails": video_processing_details
+"/youtube:v3/VideoProcessingDetails/editorSuggestionsAvailability": editor_suggestions_availability
+"/youtube:v3/VideoProcessingDetails/fileDetailsAvailability": file_details_availability
+"/youtube:v3/VideoProcessingDetails/processingFailureReason": processing_failure_reason
+"/youtube:v3/VideoProcessingDetails/processingIssuesAvailability": processing_issues_availability
+"/youtube:v3/VideoProcessingDetails/processingProgress": processing_progress
+"/youtube:v3/VideoProcessingDetails/processingStatus": processing_status
+"/youtube:v3/VideoProcessingDetails/tagSuggestionsAvailability": tag_suggestions_availability
+"/youtube:v3/VideoProcessingDetails/thumbnailsAvailability": thumbnails_availability
+"/youtube:v3/VideoProcessingDetailsProcessingProgress": video_processing_details_processing_progress
+"/youtube:v3/VideoProcessingDetailsProcessingProgress/partsProcessed": parts_processed
+"/youtube:v3/VideoProcessingDetailsProcessingProgress/partsTotal": parts_total
+"/youtube:v3/VideoProcessingDetailsProcessingProgress/timeLeftMs": time_left_ms
+"/youtube:v3/VideoProjectDetails": video_project_details
+"/youtube:v3/VideoProjectDetails/tags": tags
+"/youtube:v3/VideoProjectDetails/tags/tag": tag
+"/youtube:v3/VideoRating": video_rating
+"/youtube:v3/VideoRating/rating": rating
+"/youtube:v3/VideoRating/videoId": video_id
+"/youtube:v3/VideoRecordingDetails": video_recording_details
+"/youtube:v3/VideoRecordingDetails/location": location
+"/youtube:v3/VideoRecordingDetails/locationDescription": location_description
+"/youtube:v3/VideoRecordingDetails/recordingDate": recording_date
+"/youtube:v3/VideoSnippet": video_snippet
+"/youtube:v3/VideoSnippet/categoryId": category_id
+"/youtube:v3/VideoSnippet/channelId": channel_id
+"/youtube:v3/VideoSnippet/channelTitle": channel_title
+"/youtube:v3/VideoSnippet/defaultAudioLanguage": default_audio_language
+"/youtube:v3/VideoSnippet/defaultLanguage": default_language
+"/youtube:v3/VideoSnippet/description": description
+"/youtube:v3/VideoSnippet/liveBroadcastContent": live_broadcast_content
+"/youtube:v3/VideoSnippet/localized": localized
+"/youtube:v3/VideoSnippet/publishedAt": published_at
+"/youtube:v3/VideoSnippet/tags": tags
+"/youtube:v3/VideoSnippet/tags/tag": tag
+"/youtube:v3/VideoSnippet/thumbnails": thumbnails
+"/youtube:v3/VideoSnippet/title": title
+"/youtube:v3/VideoStatistics": video_statistics
+"/youtube:v3/VideoStatistics/commentCount": comment_count
+"/youtube:v3/VideoStatistics/dislikeCount": dislike_count
+"/youtube:v3/VideoStatistics/favoriteCount": favorite_count
+"/youtube:v3/VideoStatistics/likeCount": like_count
+"/youtube:v3/VideoStatistics/viewCount": view_count
+"/youtube:v3/VideoStatus": video_status
+"/youtube:v3/VideoStatus/embeddable": embeddable
+"/youtube:v3/VideoStatus/failureReason": failure_reason
+"/youtube:v3/VideoStatus/license": license
+"/youtube:v3/VideoStatus/privacyStatus": privacy_status
+"/youtube:v3/VideoStatus/publicStatsViewable": public_stats_viewable
+"/youtube:v3/VideoStatus/publishAt": publish_at
+"/youtube:v3/VideoStatus/rejectionReason": rejection_reason
+"/youtube:v3/VideoStatus/uploadStatus": upload_status
+"/youtube:v3/VideoSuggestions": video_suggestions
+"/youtube:v3/VideoSuggestions/editorSuggestions": editor_suggestions
+"/youtube:v3/VideoSuggestions/editorSuggestions/editor_suggestion": editor_suggestion
+"/youtube:v3/VideoSuggestions/processingErrors": processing_errors
+"/youtube:v3/VideoSuggestions/processingErrors/processing_error": processing_error
+"/youtube:v3/VideoSuggestions/processingHints": processing_hints
+"/youtube:v3/VideoSuggestions/processingHints/processing_hint": processing_hint
+"/youtube:v3/VideoSuggestions/processingWarnings": processing_warnings
+"/youtube:v3/VideoSuggestions/processingWarnings/processing_warning": processing_warning
+"/youtube:v3/VideoSuggestions/tagSuggestions": tag_suggestions
+"/youtube:v3/VideoSuggestions/tagSuggestions/tag_suggestion": tag_suggestion
+"/youtube:v3/VideoSuggestionsTagSuggestion": video_suggestions_tag_suggestion
+"/youtube:v3/VideoSuggestionsTagSuggestion/categoryRestricts": category_restricts
+"/youtube:v3/VideoSuggestionsTagSuggestion/categoryRestricts/category_restrict": category_restrict
+"/youtube:v3/VideoSuggestionsTagSuggestion/tag": tag
+"/youtube:v3/VideoTopicDetails": video_topic_details
+"/youtube:v3/VideoTopicDetails/relevantTopicIds": relevant_topic_ids
+"/youtube:v3/VideoTopicDetails/relevantTopicIds/relevant_topic_id": relevant_topic_id
+"/youtube:v3/VideoTopicDetails/topicIds": topic_ids
+"/youtube:v3/VideoTopicDetails/topicIds/topic_id": topic_id
+"/youtube:v3/WatchSettings": watch_settings
+"/youtube:v3/WatchSettings/backgroundColor": background_color
+"/youtube:v3/WatchSettings/featuredPlaylistId": featured_playlist_id
+"/youtube:v3/WatchSettings/textColor": text_color
+"/youtubeAnalytics:v1/fields": fields
+"/youtubeAnalytics:v1/key": key
+"/youtubeAnalytics:v1/quotaUser": quota_user
+"/youtubeAnalytics:v1/userIp": user_ip
+"/youtubeAnalytics:v1/youtubeAnalytics.batchReportDefinitions.list": list_batch_report_definitions
+"/youtubeAnalytics:v1/youtubeAnalytics.batchReportDefinitions.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtubeAnalytics:v1/youtubeAnalytics.batchReports.list": list_batch_reports
+"/youtubeAnalytics:v1/youtubeAnalytics.batchReports.list/batchReportDefinitionId": batch_report_definition_id
+"/youtubeAnalytics:v1/youtubeAnalytics.batchReports.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtubeAnalytics:v1/youtubeAnalytics.groupItems.delete": delete_group_item
+"/youtubeAnalytics:v1/youtubeAnalytics.groupItems.delete/id": id
+"/youtubeAnalytics:v1/youtubeAnalytics.groupItems.delete/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtubeAnalytics:v1/youtubeAnalytics.groupItems.insert": insert_group_item
+"/youtubeAnalytics:v1/youtubeAnalytics.groupItems.insert/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtubeAnalytics:v1/youtubeAnalytics.groupItems.list": list_group_items
+"/youtubeAnalytics:v1/youtubeAnalytics.groupItems.list/groupId": group_id
+"/youtubeAnalytics:v1/youtubeAnalytics.groupItems.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.delete": delete_group
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.delete/id": id
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.delete/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.insert": insert_group
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.insert/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.list": list_groups
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.list/id": id
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.list/mine": mine
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.list/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.update": update_group
+"/youtubeAnalytics:v1/youtubeAnalytics.groups.update/onBehalfOfContentOwner": on_behalf_of_content_owner
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query": query_report
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query/currency": currency
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query/dimensions": dimensions
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query/end-date": end_date
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query/filters": filters
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query/ids": ids
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query/max-results": max_results
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query/metrics": metrics
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query/sort": sort
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query/start-date": start_date
+"/youtubeAnalytics:v1/youtubeAnalytics.reports.query/start-index": start_index
+"/youtubeAnalytics:v1/BatchReport": batch_report
+"/youtubeAnalytics:v1/BatchReport/id": id
+"/youtubeAnalytics:v1/BatchReport/kind": kind
+"/youtubeAnalytics:v1/BatchReport/outputs": outputs
+"/youtubeAnalytics:v1/BatchReport/outputs/output": output
+"/youtubeAnalytics:v1/BatchReport/outputs/output/downloadUrl": download_url
+"/youtubeAnalytics:v1/BatchReport/outputs/output/format": format
+"/youtubeAnalytics:v1/BatchReport/outputs/output/type": type
+"/youtubeAnalytics:v1/BatchReport/reportId": report_id
+"/youtubeAnalytics:v1/BatchReport/timeSpan": time_span
+"/youtubeAnalytics:v1/BatchReport/timeSpan/endTime": end_time
+"/youtubeAnalytics:v1/BatchReport/timeSpan/startTime": start_time
+"/youtubeAnalytics:v1/BatchReport/timeUpdated": time_updated
+"/youtubeAnalytics:v1/BatchReportDefinition": batch_report_definition
+"/youtubeAnalytics:v1/BatchReportDefinition/id": id
+"/youtubeAnalytics:v1/BatchReportDefinition/kind": kind
+"/youtubeAnalytics:v1/BatchReportDefinition/name": name
+"/youtubeAnalytics:v1/BatchReportDefinition/status": status
+"/youtubeAnalytics:v1/BatchReportDefinition/type": type
+"/youtubeAnalytics:v1/BatchReportDefinitionList": batch_report_definition_list
+"/youtubeAnalytics:v1/BatchReportDefinitionList/items": items
+"/youtubeAnalytics:v1/BatchReportDefinitionList/items/item": item
+"/youtubeAnalytics:v1/BatchReportDefinitionList/kind": kind
+"/youtubeAnalytics:v1/BatchReportList": batch_report_list
+"/youtubeAnalytics:v1/BatchReportList/items": items
+"/youtubeAnalytics:v1/BatchReportList/items/item": item
+"/youtubeAnalytics:v1/BatchReportList/kind": kind
+"/youtubeAnalytics:v1/Group": group
+"/youtubeAnalytics:v1/Group/contentDetails": content_details
+"/youtubeAnalytics:v1/Group/contentDetails/itemCount": item_count
+"/youtubeAnalytics:v1/Group/contentDetails/itemType": item_type
+"/youtubeAnalytics:v1/Group/etag": etag
+"/youtubeAnalytics:v1/Group/id": id
+"/youtubeAnalytics:v1/Group/kind": kind
+"/youtubeAnalytics:v1/Group/snippet": snippet
+"/youtubeAnalytics:v1/Group/snippet/publishedAt": published_at
+"/youtubeAnalytics:v1/Group/snippet/title": title
+"/youtubeAnalytics:v1/GroupItem": group_item
+"/youtubeAnalytics:v1/GroupItem/etag": etag
+"/youtubeAnalytics:v1/GroupItem/groupId": group_id
+"/youtubeAnalytics:v1/GroupItem/id": id
+"/youtubeAnalytics:v1/GroupItem/kind": kind
+"/youtubeAnalytics:v1/GroupItem/resource": resource
+"/youtubeAnalytics:v1/GroupItem/resource/id": id
+"/youtubeAnalytics:v1/GroupItem/resource/kind": kind
+"/youtubeAnalytics:v1/GroupItemListResponse/etag": etag
+"/youtubeAnalytics:v1/GroupItemListResponse/items": items
+"/youtubeAnalytics:v1/GroupItemListResponse/items/item": item
+"/youtubeAnalytics:v1/GroupItemListResponse/kind": kind
+"/youtubeAnalytics:v1/GroupListResponse/etag": etag
+"/youtubeAnalytics:v1/GroupListResponse/items": items
+"/youtubeAnalytics:v1/GroupListResponse/items/item": item
+"/youtubeAnalytics:v1/GroupListResponse/kind": kind
+"/youtubeAnalytics:v1/ResultTable": result_table
+"/youtubeAnalytics:v1/ResultTable/columnHeaders": column_headers
+"/youtubeAnalytics:v1/ResultTable/columnHeaders/column_header": column_header
+"/youtubeAnalytics:v1/ResultTable/columnHeaders/column_header/columnType": column_type
+"/youtubeAnalytics:v1/ResultTable/columnHeaders/column_header/dataType": data_type
+"/youtubeAnalytics:v1/ResultTable/columnHeaders/column_header/name": name
+"/youtubeAnalytics:v1/ResultTable/kind": kind
+"/youtubeAnalytics:v1/ResultTable/rows": rows
+"/youtubeAnalytics:v1/ResultTable/rows/row": row
+"/youtubeAnalytics:v1/ResultTable/rows/row/row": row
diff --git a/bin/generate-api b/bin/generate-api
new file mode 100755
index 000000000..2c7b88f26
--- /dev/null
+++ b/bin/generate-api
@@ -0,0 +1,93 @@
+#!/usr/bin/env ruby
+
+# TODO - Repeated params
+
+require 'thor'
+require 'open-uri'
+require 'google/apis/discovery_v1'
+require 'google/apis/generator'
+require 'multi_json'
+require 'logger'
+
+module Google
+ class ApiGenerator < Thor
+ include Thor::Actions
+
+ Google::Apis::ClientOptions.default.application_name = "generate-api"
+ Google::Apis::ClientOptions.default.application_version = Google::Apis::VERSION
+
+ Discovery = Google::Apis::DiscoveryV1
+
+ desc 'gen OUTDIR', 'Generate ruby API from an API description'
+ method_options url: :string, file: :string, id: :array, preferred_only: :boolean, verbose: :boolean, names: :string, names_out: :string
+ method_option :preferred_only, default: true
+ def gen(dir)
+ self.destination_root = dir
+ Google::Apis.logger.level = Logger::DEBUG if options[:verbose]
+ if options[:url]
+ generate_from_url(options[:url])
+ elsif options[:file]
+ generate_from_file(options[:file])
+ else
+ generate_from_discovery(preferred_only: options[:preferred_only], id: options[:id] )
+ end
+ create_file(options[:names_out]) { |*| generator.dump_api_names } if options[:names_out]
+ end
+
+ desc 'list', 'List public APIs'
+ method_options verbose: :boolean, preferred_only: :boolean
+ def list
+ Google::Apis.logger.level = Logger::DEBUG if options[:verbose]
+ discovery = Discovery::DiscoveryService.new
+ apis = discovery.list_apis
+ apis.items.each do |api|
+ say sprintf('%s - %s', api.id, api.description).strip unless options[:preferred_only] && !api.preferred?
+ end
+ end
+
+ no_commands do
+ def generate_from_url(url)
+ json = discovery.http(:get, url)
+ generate_api(json)
+ end
+
+ def generate_from_file(file)
+ File.open(file) do |f|
+ generate_api(f.read)
+ end
+ end
+
+ def generate_from_discovery(preferred_only: false, id: nil)
+ say 'Fetching API list'
+ id = Array(id)
+ apis = discovery.list_apis
+ apis.items.each do |api|
+ if (id.empty? && preferred_only && api.preferred?) || id.include?(api.id)
+ say sprintf('Loading %s, version %s from %s', api.name, api.version, api.discovery_rest_url)
+ generate_from_url(api.discovery_rest_url)
+ else
+ say sprintf('Ignoring disoverable API %s', api.id)
+ end
+ end
+ end
+
+ def generate_api(json)
+ files = generator.render(json)
+ files.each do |file, content|
+ create_file(file) { |*| content }
+ end
+ end
+
+ def discovery
+ @discovery ||= Discovery::DiscoveryService.new
+ end
+
+ def generator
+ @generator ||= Google::Apis::Generator.new(api_names: options[:names])
+ end
+ end
+ end
+
+end
+
+Google::ApiGenerator.start(ARGV)
diff --git a/generated/google/apis/adexchangebuyer_v1_3.rb b/generated/google/apis/adexchangebuyer_v1_3.rb
new file mode 100644
index 000000000..be15fde6b
--- /dev/null
+++ b/generated/google/apis/adexchangebuyer_v1_3.rb
@@ -0,0 +1,35 @@
+# 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 'google/apis/adexchangebuyer_v1_3/service.rb'
+require 'google/apis/adexchangebuyer_v1_3/classes.rb'
+require 'google/apis/adexchangebuyer_v1_3/representations.rb'
+
+module Google
+ module Apis
+ # Ad Exchange Buyer API
+ #
+ # Accesses your bidding-account information, submits creatives for validation,
+ # finds available direct deals, and retrieves performance reports.
+ #
+ # @see https://developers.google.com/ad-exchange/buyer-rest
+ module AdexchangebuyerV1_3
+ VERSION = 'V1_3'
+ REVISION = '20150520'
+
+ # Manage your Ad Exchange buyer account configuration
+ AUTH_ADEXCHANGE_BUYER = 'https://www.googleapis.com/auth/adexchange.buyer'
+ end
+ end
+end
diff --git a/generated/google/apis/adexchangebuyer_v1_3/classes.rb b/generated/google/apis/adexchangebuyer_v1_3/classes.rb
new file mode 100644
index 000000000..c9712856a
--- /dev/null
+++ b/generated/google/apis/adexchangebuyer_v1_3/classes.rb
@@ -0,0 +1,1124 @@
+# 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 AdexchangebuyerV1_3
+
+ # Configuration data for an Ad Exchange buyer account.
+ class Account
+ include Google::Apis::Core::Hashable
+
+ # Your bidder locations that have distinct URLs.
+ # Corresponds to the JSON property `bidderLocation`
+ # @return [Array]
+ attr_accessor :bidder_location
+
+ # The nid parameter value used in cookie match requests. Please contact your
+ # technical account manager if you need to change this.
+ # Corresponds to the JSON property `cookieMatchingNid`
+ # @return [String]
+ attr_accessor :cookie_matching_nid
+
+ # The base URL used in cookie match requests.
+ # Corresponds to the JSON property `cookieMatchingUrl`
+ # @return [String]
+ attr_accessor :cookie_matching_url
+
+ # Account id.
+ # Corresponds to the JSON property `id`
+ # @return [Fixnum]
+ attr_accessor :id
+
+ # Resource type.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The maximum number of active creatives that an account can have, where a
+ # creative is active if it was inserted or bid with in the last 30 days. Please
+ # contact your technical account manager if you need to change this.
+ # Corresponds to the JSON property `maximumActiveCreatives`
+ # @return [Fixnum]
+ attr_accessor :maximum_active_creatives
+
+ # The sum of all bidderLocation.maximumQps values cannot exceed this. Please
+ # contact your technical account manager if you need to change this.
+ # Corresponds to the JSON property `maximumTotalQps`
+ # @return [Fixnum]
+ attr_accessor :maximum_total_qps
+
+ # The number of creatives that this account inserted or bid with in the last 30
+ # days.
+ # Corresponds to the JSON property `numberActiveCreatives`
+ # @return [Fixnum]
+ attr_accessor :number_active_creatives
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @bidder_location = args[:bidder_location] unless args[:bidder_location].nil?
+ @cookie_matching_nid = args[:cookie_matching_nid] unless args[:cookie_matching_nid].nil?
+ @cookie_matching_url = args[:cookie_matching_url] unless args[:cookie_matching_url].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @maximum_active_creatives = args[:maximum_active_creatives] unless args[:maximum_active_creatives].nil?
+ @maximum_total_qps = args[:maximum_total_qps] unless args[:maximum_total_qps].nil?
+ @number_active_creatives = args[:number_active_creatives] unless args[:number_active_creatives].nil?
+ end
+
+ #
+ class BidderLocation
+ include Google::Apis::Core::Hashable
+
+ # The maximum queries per second the Ad Exchange will send.
+ # Corresponds to the JSON property `maximumQps`
+ # @return [Fixnum]
+ attr_accessor :maximum_qps
+
+ # The geographical region the Ad Exchange should send requests from. Only used
+ # by some quota systems, but always setting the value is recommended. Allowed
+ # values:
+ # - ASIA
+ # - EUROPE
+ # - US_EAST
+ # - US_WEST
+ # Corresponds to the JSON property `region`
+ # @return [String]
+ attr_accessor :region
+
+ # The URL to which the Ad Exchange will send bid requests.
+ # 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)
+ @maximum_qps = args[:maximum_qps] unless args[:maximum_qps].nil?
+ @region = args[:region] unless args[:region].nil?
+ @url = args[:url] unless args[:url].nil?
+ end
+ end
+ end
+
+ # An account feed lists Ad Exchange buyer accounts that the user has access to.
+ # Each entry in the feed corresponds to a single buyer account.
+ class AccountsList
+ include Google::Apis::Core::Hashable
+
+ # A list of accounts.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Resource type.
+ # 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)
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # The configuration data for an Ad Exchange billing info.
+ class BillingInfo
+ include Google::Apis::Core::Hashable
+
+ # Account id.
+ # Corresponds to the JSON property `accountId`
+ # @return [Fixnum]
+ attr_accessor :account_id
+
+ # Account name.
+ # Corresponds to the JSON property `accountName`
+ # @return [String]
+ attr_accessor :account_name
+
+ # A list of adgroup IDs associated with this particular account. These IDs may
+ # show up as part of a realtime bidding BidRequest, which indicates a bid
+ # request for this account.
+ # Corresponds to the JSON property `billingId`
+ # @return [Array]
+ attr_accessor :billing_id
+
+ # Resource type.
+ # 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)
+ @account_id = args[:account_id] unless args[:account_id].nil?
+ @account_name = args[:account_name] unless args[:account_name].nil?
+ @billing_id = args[:billing_id] unless args[:billing_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # A billing info feed lists Billing Info the Ad Exchange buyer account has
+ # access to. Each entry in the feed corresponds to a single billing info.
+ class BillingInfoList
+ include Google::Apis::Core::Hashable
+
+ # A list of billing info relevant for your account.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Resource type.
+ # 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)
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # The configuration data for Ad Exchange RTB - Budget API.
+ class Budget
+ include Google::Apis::Core::Hashable
+
+ # The id of the account. This is required for get and update requests.
+ # Corresponds to the JSON property `accountId`
+ # @return [String]
+ attr_accessor :account_id
+
+ # The billing id to determine which adgroup to provide budget information for.
+ # This is required for get and update requests.
+ # Corresponds to the JSON property `billingId`
+ # @return [String]
+ attr_accessor :billing_id
+
+ # The budget amount to apply for the billingId provided. This is required for
+ # update requests.
+ # Corresponds to the JSON property `budgetAmount`
+ # @return [String]
+ attr_accessor :budget_amount
+
+ # The currency code for the buyer. This cannot be altered here.
+ # Corresponds to the JSON property `currencyCode`
+ # @return [String]
+ attr_accessor :currency_code
+
+ # The unique id that describes this item.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # The kind of the resource, i.e. "adexchangebuyer#budget".
+ # 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)
+ @account_id = args[:account_id] unless args[:account_id].nil?
+ @billing_id = args[:billing_id] unless args[:billing_id].nil?
+ @budget_amount = args[:budget_amount] unless args[:budget_amount].nil?
+ @currency_code = args[:currency_code] unless args[:currency_code].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # A creative and its classification data.
+ class Creative
+ include Google::Apis::Core::Hashable
+
+ # The HTML snippet that displays the ad when inserted in the web page. If set,
+ # videoURL should not be set.
+ # Corresponds to the JSON property `HTMLSnippet`
+ # @return [String]
+ attr_accessor :html_snippet
+
+ # Account id.
+ # Corresponds to the JSON property `accountId`
+ # @return [Fixnum]
+ attr_accessor :account_id
+
+ # Detected advertiser id, if any. Read-only. This field should not be set in
+ # requests.
+ # Corresponds to the JSON property `advertiserId`
+ # @return [Array]
+ attr_accessor :advertiser_id
+
+ # The name of the company being advertised in the creative.
+ # Corresponds to the JSON property `advertiserName`
+ # @return [String]
+ attr_accessor :advertiser_name
+
+ # The agency id for this creative.
+ # Corresponds to the JSON property `agencyId`
+ # @return [String]
+ attr_accessor :agency_id
+
+ # All attributes for the ads that may be shown from this snippet.
+ # Corresponds to the JSON property `attribute`
+ # @return [Array]
+ attr_accessor :attribute
+
+ # A buyer-specific id identifying the creative in this ad.
+ # Corresponds to the JSON property `buyerCreativeId`
+ # @return [String]
+ attr_accessor :buyer_creative_id
+
+ # The set of destination urls for the snippet.
+ # Corresponds to the JSON property `clickThroughUrl`
+ # @return [Array]
+ attr_accessor :click_through_url
+
+ # Shows any corrections that were applied to this creative. Read-only. This
+ # field should not be set in requests.
+ # Corresponds to the JSON property `corrections`
+ # @return [Array]
+ attr_accessor :corrections
+
+ # The reasons for disapproval, if any. Note that not all disapproval reasons may
+ # be categorized, so it is possible for the creative to have a status of
+ # DISAPPROVED with an empty list for disapproval_reasons. In this case, please
+ # reach out to your TAM to help debug the issue. Read-only. This field should
+ # not be set in requests.
+ # Corresponds to the JSON property `disapprovalReasons`
+ # @return [Array]
+ attr_accessor :disapproval_reasons
+
+ # The filtering reasons for the creative. Read-only. This field should not be
+ # set in requests.
+ # Corresponds to the JSON property `filteringReasons`
+ # @return [Google::Apis::AdexchangebuyerV1_3::Creative::FilteringReasons]
+ attr_accessor :filtering_reasons
+
+ # Ad height.
+ # Corresponds to the JSON property `height`
+ # @return [Fixnum]
+ attr_accessor :height
+
+ # Resource type.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Detected product categories, if any. Read-only. This field should not be set
+ # in requests.
+ # Corresponds to the JSON property `productCategories`
+ # @return [Array]
+ attr_accessor :product_categories
+
+ # All restricted categories for the ads that may be shown from this snippet.
+ # Corresponds to the JSON property `restrictedCategories`
+ # @return [Array]
+ attr_accessor :restricted_categories
+
+ # Detected sensitive categories, if any. Read-only. This field should not be set
+ # in requests.
+ # Corresponds to the JSON property `sensitiveCategories`
+ # @return [Array]
+ attr_accessor :sensitive_categories
+
+ # Creative serving status. Read-only. This field should not be set in requests.
+ # Corresponds to the JSON property `status`
+ # @return [String]
+ attr_accessor :status
+
+ # All vendor types for the ads that may be shown from this snippet.
+ # Corresponds to the JSON property `vendorType`
+ # @return [Array]
+ attr_accessor :vendor_type
+
+ # The url to fetch a video ad. If set, HTMLSnippet should not be set.
+ # Corresponds to the JSON property `videoURL`
+ # @return [String]
+ attr_accessor :video_url
+
+ # Ad width.
+ # Corresponds to the JSON property `width`
+ # @return [Fixnum]
+ attr_accessor :width
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @html_snippet = args[:html_snippet] unless args[:html_snippet].nil?
+ @account_id = args[:account_id] unless args[:account_id].nil?
+ @advertiser_id = args[:advertiser_id] unless args[:advertiser_id].nil?
+ @advertiser_name = args[:advertiser_name] unless args[:advertiser_name].nil?
+ @agency_id = args[:agency_id] unless args[:agency_id].nil?
+ @attribute = args[:attribute] unless args[:attribute].nil?
+ @buyer_creative_id = args[:buyer_creative_id] unless args[:buyer_creative_id].nil?
+ @click_through_url = args[:click_through_url] unless args[:click_through_url].nil?
+ @corrections = args[:corrections] unless args[:corrections].nil?
+ @disapproval_reasons = args[:disapproval_reasons] unless args[:disapproval_reasons].nil?
+ @filtering_reasons = args[:filtering_reasons] unless args[:filtering_reasons].nil?
+ @height = args[:height] unless args[:height].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @product_categories = args[:product_categories] unless args[:product_categories].nil?
+ @restricted_categories = args[:restricted_categories] unless args[:restricted_categories].nil?
+ @sensitive_categories = args[:sensitive_categories] unless args[:sensitive_categories].nil?
+ @status = args[:status] unless args[:status].nil?
+ @vendor_type = args[:vendor_type] unless args[:vendor_type].nil?
+ @video_url = args[:video_url] unless args[:video_url].nil?
+ @width = args[:width] unless args[:width].nil?
+ end
+
+ #
+ class Correction
+ include Google::Apis::Core::Hashable
+
+ # Additional details about the correction.
+ # Corresponds to the JSON property `details`
+ # @return [Array]
+ attr_accessor :details
+
+ # The type of correction that was applied to the creative.
+ # Corresponds to the JSON property `reason`
+ # @return [String]
+ attr_accessor :reason
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @details = args[:details] unless args[:details].nil?
+ @reason = args[:reason] unless args[:reason].nil?
+ end
+ end
+
+ #
+ class DisapprovalReason
+ include Google::Apis::Core::Hashable
+
+ # Additional details about the reason for disapproval.
+ # Corresponds to the JSON property `details`
+ # @return [Array]
+ attr_accessor :details
+
+ # The categorized reason for disapproval.
+ # Corresponds to the JSON property `reason`
+ # @return [String]
+ attr_accessor :reason
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @details = args[:details] unless args[:details].nil?
+ @reason = args[:reason] unless args[:reason].nil?
+ end
+ end
+
+ # The filtering reasons for the creative. Read-only. This field should not be
+ # set in requests.
+ class FilteringReasons
+ include Google::Apis::Core::Hashable
+
+ # The date in ISO 8601 format for the data. The data is collected from 00:00:00
+ # to 23:59:59 in PST.
+ # Corresponds to the JSON property `date`
+ # @return [String]
+ attr_accessor :date
+
+ # The filtering reasons.
+ # Corresponds to the JSON property `reasons`
+ # @return [Array]
+ attr_accessor :reasons
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @date = args[:date] unless args[:date].nil?
+ @reasons = args[:reasons] unless args[:reasons].nil?
+ end
+
+ #
+ class Reason
+ include Google::Apis::Core::Hashable
+
+ # The number of times the creative was filtered for the status. The count is
+ # aggregated across all publishers on the exchange.
+ # Corresponds to the JSON property `filteringCount`
+ # @return [String]
+ attr_accessor :filtering_count
+
+ # The filtering status code. Please refer to the creative-status-codes.txt file
+ # for different statuses.
+ # Corresponds to the JSON property `filteringStatus`
+ # @return [Fixnum]
+ attr_accessor :filtering_status
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @filtering_count = args[:filtering_count] unless args[:filtering_count].nil?
+ @filtering_status = args[:filtering_status] unless args[:filtering_status].nil?
+ end
+ end
+ end
+ end
+
+ # The creatives feed lists the active creatives for the Ad Exchange buyer
+ # accounts that the user has access to. Each entry in the feed corresponds to a
+ # single creative.
+ class CreativesList
+ include Google::Apis::Core::Hashable
+
+ # A list of creatives.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Resource type.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through creatives. To retrieve the next page
+ # of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ # The configuration data for an Ad Exchange direct deal.
+ class DirectDeal
+ include Google::Apis::Core::Hashable
+
+ # The account id of the buyer this deal is for.
+ # Corresponds to the JSON property `accountId`
+ # @return [Fixnum]
+ attr_accessor :account_id
+
+ # The name of the advertiser this deal is for.
+ # Corresponds to the JSON property `advertiser`
+ # @return [String]
+ attr_accessor :advertiser
+
+ # The currency code that applies to the fixed_cpm value. If not set then assumed
+ # to be USD.
+ # Corresponds to the JSON property `currencyCode`
+ # @return [String]
+ attr_accessor :currency_code
+
+ # End time for when this deal stops being active. If not set then this deal is
+ # valid until manually disabled by the publisher. In seconds since the epoch.
+ # Corresponds to the JSON property `endTime`
+ # @return [String]
+ attr_accessor :end_time
+
+ # The fixed price for this direct deal. In cpm micros of currency according to
+ # currency_code. If set, then this deal is eligible for the fixed price tier of
+ # buying (highest priority, pay exactly the configured fixed price).
+ # Corresponds to the JSON property `fixedCpm`
+ # @return [String]
+ attr_accessor :fixed_cpm
+
+ # Deal id.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Resource type.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Deal name.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The minimum price for this direct deal. In cpm micros of currency according to
+ # currency_code. If set, then this deal is eligible for the private exchange
+ # tier of buying (below fixed price priority, run as a second price auction).
+ # Corresponds to the JSON property `privateExchangeMinCpm`
+ # @return [String]
+ attr_accessor :private_exchange_min_cpm
+
+ # If true, the publisher has opted to have their blocks ignored when a creative
+ # is bid with for this deal.
+ # Corresponds to the JSON property `publisherBlocksOverriden`
+ # @return [Boolean]
+ attr_accessor :publisher_blocks_overriden
+ alias_method :publisher_blocks_overriden?, :publisher_blocks_overriden
+
+ # The name of the publisher offering this direct deal.
+ # Corresponds to the JSON property `sellerNetwork`
+ # @return [String]
+ attr_accessor :seller_network
+
+ # Start time for when this deal becomes active. If not set then this deal is
+ # active immediately upon creation. In seconds since the epoch.
+ # Corresponds to the JSON property `startTime`
+ # @return [String]
+ attr_accessor :start_time
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @account_id = args[:account_id] unless args[:account_id].nil?
+ @advertiser = args[:advertiser] unless args[:advertiser].nil?
+ @currency_code = args[:currency_code] unless args[:currency_code].nil?
+ @end_time = args[:end_time] unless args[:end_time].nil?
+ @fixed_cpm = args[:fixed_cpm] unless args[:fixed_cpm].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @private_exchange_min_cpm = args[:private_exchange_min_cpm] unless args[:private_exchange_min_cpm].nil?
+ @publisher_blocks_overriden = args[:publisher_blocks_overriden] unless args[:publisher_blocks_overriden].nil?
+ @seller_network = args[:seller_network] unless args[:seller_network].nil?
+ @start_time = args[:start_time] unless args[:start_time].nil?
+ end
+ end
+
+ # A direct deals feed lists Direct Deals the Ad Exchange buyer account has
+ # access to. This includes direct deals set up for the buyer account as well as
+ # its merged stream seats.
+ class DirectDealsList
+ include Google::Apis::Core::Hashable
+
+ # A list of direct deals relevant for your account.
+ # Corresponds to the JSON property `directDeals`
+ # @return [Array]
+ attr_accessor :direct_deals
+
+ # Resource type.
+ # 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)
+ @direct_deals = args[:direct_deals] unless args[:direct_deals].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # The configuration data for an Ad Exchange performance report list.
+ class PerformanceReport
+ include Google::Apis::Core::Hashable
+
+ # The number of bid responses with an ad.
+ # Corresponds to the JSON property `bidRate`
+ # @return [Float]
+ attr_accessor :bid_rate
+
+ # The number of bid requests sent to your bidder.
+ # Corresponds to the JSON property `bidRequestRate`
+ # @return [Float]
+ attr_accessor :bid_request_rate
+
+ # Rate of various prefiltering statuses per match. Please refer to the callout-
+ # status-codes.txt file for different statuses.
+ # Corresponds to the JSON property `calloutStatusRate`
+ # @return [Array]
+ attr_accessor :callout_status_rate
+
+ # Average QPS for cookie matcher operations.
+ # Corresponds to the JSON property `cookieMatcherStatusRate`
+ # @return [Array]
+ attr_accessor :cookie_matcher_status_rate
+
+ # Rate of ads with a given status. Please refer to the creative-status-codes.txt
+ # file for different statuses.
+ # Corresponds to the JSON property `creativeStatusRate`
+ # @return [Array]
+ attr_accessor :creative_status_rate
+
+ # The number of bid responses that were filtered due to a policy violation or
+ # other errors.
+ # Corresponds to the JSON property `filteredBidRate`
+ # @return [Float]
+ attr_accessor :filtered_bid_rate
+
+ # Average QPS for hosted match operations.
+ # Corresponds to the JSON property `hostedMatchStatusRate`
+ # @return [Array]
+ attr_accessor :hosted_match_status_rate
+
+ # The number of potential queries based on your pretargeting settings.
+ # Corresponds to the JSON property `inventoryMatchRate`
+ # @return [Float]
+ attr_accessor :inventory_match_rate
+
+ # Resource type.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The 50th percentile round trip latency(ms) as perceived from Google servers
+ # for the duration period covered by the report.
+ # Corresponds to the JSON property `latency50thPercentile`
+ # @return [Float]
+ attr_accessor :latency_50th_percentile
+
+ # The 85th percentile round trip latency(ms) as perceived from Google servers
+ # for the duration period covered by the report.
+ # Corresponds to the JSON property `latency85thPercentile`
+ # @return [Float]
+ attr_accessor :latency_85th_percentile
+
+ # The 95th percentile round trip latency(ms) as perceived from Google servers
+ # for the duration period covered by the report.
+ # Corresponds to the JSON property `latency95thPercentile`
+ # @return [Float]
+ attr_accessor :latency_95th_percentile
+
+ # Rate of various quota account statuses per quota check.
+ # Corresponds to the JSON property `noQuotaInRegion`
+ # @return [Float]
+ attr_accessor :no_quota_in_region
+
+ # Rate of various quota account statuses per quota check.
+ # Corresponds to the JSON property `outOfQuota`
+ # @return [Float]
+ attr_accessor :out_of_quota
+
+ # Average QPS for pixel match requests from clients.
+ # Corresponds to the JSON property `pixelMatchRequests`
+ # @return [Float]
+ attr_accessor :pixel_match_requests
+
+ # Average QPS for pixel match responses from clients.
+ # Corresponds to the JSON property `pixelMatchResponses`
+ # @return [Float]
+ attr_accessor :pixel_match_responses
+
+ # The configured quota limits for this account.
+ # Corresponds to the JSON property `quotaConfiguredLimit`
+ # @return [Float]
+ attr_accessor :quota_configured_limit
+
+ # The throttled quota limits for this account.
+ # Corresponds to the JSON property `quotaThrottledLimit`
+ # @return [Float]
+ attr_accessor :quota_throttled_limit
+
+ # The trading location of this data.
+ # Corresponds to the JSON property `region`
+ # @return [String]
+ attr_accessor :region
+
+ # The number of properly formed bid responses received by our servers within the
+ # deadline.
+ # Corresponds to the JSON property `successfulRequestRate`
+ # @return [Float]
+ attr_accessor :successful_request_rate
+
+ # The unix timestamp of the starting time of this performance data.
+ # Corresponds to the JSON property `timestamp`
+ # @return [String]
+ attr_accessor :timestamp
+
+ # The number of bid responses that were unsuccessful due to timeouts, incorrect
+ # formatting, etc.
+ # Corresponds to the JSON property `unsuccessfulRequestRate`
+ # @return [Float]
+ attr_accessor :unsuccessful_request_rate
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @bid_rate = args[:bid_rate] unless args[:bid_rate].nil?
+ @bid_request_rate = args[:bid_request_rate] unless args[:bid_request_rate].nil?
+ @callout_status_rate = args[:callout_status_rate] unless args[:callout_status_rate].nil?
+ @cookie_matcher_status_rate = args[:cookie_matcher_status_rate] unless args[:cookie_matcher_status_rate].nil?
+ @creative_status_rate = args[:creative_status_rate] unless args[:creative_status_rate].nil?
+ @filtered_bid_rate = args[:filtered_bid_rate] unless args[:filtered_bid_rate].nil?
+ @hosted_match_status_rate = args[:hosted_match_status_rate] unless args[:hosted_match_status_rate].nil?
+ @inventory_match_rate = args[:inventory_match_rate] unless args[:inventory_match_rate].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @latency_50th_percentile = args[:latency_50th_percentile] unless args[:latency_50th_percentile].nil?
+ @latency_85th_percentile = args[:latency_85th_percentile] unless args[:latency_85th_percentile].nil?
+ @latency_95th_percentile = args[:latency_95th_percentile] unless args[:latency_95th_percentile].nil?
+ @no_quota_in_region = args[:no_quota_in_region] unless args[:no_quota_in_region].nil?
+ @out_of_quota = args[:out_of_quota] unless args[:out_of_quota].nil?
+ @pixel_match_requests = args[:pixel_match_requests] unless args[:pixel_match_requests].nil?
+ @pixel_match_responses = args[:pixel_match_responses] unless args[:pixel_match_responses].nil?
+ @quota_configured_limit = args[:quota_configured_limit] unless args[:quota_configured_limit].nil?
+ @quota_throttled_limit = args[:quota_throttled_limit] unless args[:quota_throttled_limit].nil?
+ @region = args[:region] unless args[:region].nil?
+ @successful_request_rate = args[:successful_request_rate] unless args[:successful_request_rate].nil?
+ @timestamp = args[:timestamp] unless args[:timestamp].nil?
+ @unsuccessful_request_rate = args[:unsuccessful_request_rate] unless args[:unsuccessful_request_rate].nil?
+ end
+ end
+
+ # The configuration data for an Ad Exchange performance report list. https://
+ # sites.google.com/a/google.com/adx-integration/Home/engineering/binary-releases/
+ # rtb-api-release https://cs.corp.google.com/#piper///depot/google3/contentads/
+ # adx/tools/rtb_api/adxrtb.py
+ class PerformanceReportList
+ include Google::Apis::Core::Hashable
+
+ # Resource type.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # A list of performance reports relevant for the account.
+ # Corresponds to the JSON property `performanceReport`
+ # @return [Array]
+ attr_accessor :performance_report
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @performance_report = args[:performance_report] unless args[:performance_report].nil?
+ end
+ end
+
+ #
+ class PretargetingConfig
+ include Google::Apis::Core::Hashable
+
+ # The id for billing purposes, provided for reference. Leave this field blank
+ # for insert requests; the id will be generated automatically.
+ # Corresponds to the JSON property `billingId`
+ # @return [String]
+ attr_accessor :billing_id
+
+ # The config id; generated automatically. Leave this field blank for insert
+ # requests.
+ # Corresponds to the JSON property `configId`
+ # @return [String]
+ attr_accessor :config_id
+
+ # The name of the config. Must be unique. Required for all requests.
+ # Corresponds to the JSON property `configName`
+ # @return [String]
+ attr_accessor :config_name
+
+ # List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or
+ # PRETARGETING_CREATIVE_TYPE_VIDEO.
+ # Corresponds to the JSON property `creativeType`
+ # @return [Array]
+ attr_accessor :creative_type
+
+ # Requests which allow one of these (width, height) pairs will match. All pairs
+ # must be supported ad dimensions.
+ # Corresponds to the JSON property `dimensions`
+ # @return [Array]
+ attr_accessor :dimensions
+
+ # Requests with any of these content labels will not match. Values are from
+ # content-labels.txt in the downloadable files section.
+ # Corresponds to the JSON property `excludedContentLabels`
+ # @return [Array]
+ attr_accessor :excluded_content_labels
+
+ # Requests containing any of these geo criteria ids will not match.
+ # Corresponds to the JSON property `excludedGeoCriteriaIds`
+ # @return [Array]
+ attr_accessor :excluded_geo_criteria_ids
+
+ # Requests containing any of these placements will not match.
+ # Corresponds to the JSON property `excludedPlacements`
+ # @return [Array]
+ attr_accessor :excluded_placements
+
+ # Requests containing any of these users list ids will not match.
+ # Corresponds to the JSON property `excludedUserLists`
+ # @return [Array]
+ attr_accessor :excluded_user_lists
+
+ # Requests containing any of these vertical ids will not match. Values are from
+ # the publisher-verticals.txt file in the downloadable files section.
+ # Corresponds to the JSON property `excludedVerticals`
+ # @return [Array]
+ attr_accessor :excluded_verticals
+
+ # Requests containing any of these geo criteria ids will match.
+ # Corresponds to the JSON property `geoCriteriaIds`
+ # @return [Array]
+ attr_accessor :geo_criteria_ids
+
+ # Whether this config is active. Required for all requests.
+ # Corresponds to the JSON property `isActive`
+ # @return [Boolean]
+ attr_accessor :is_active
+ alias_method :is_active?, :is_active
+
+ # The kind of the resource, i.e. "adexchangebuyer#pretargetingConfig".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Request containing any of these language codes will match.
+ # Corresponds to the JSON property `languages`
+ # @return [Array]
+ attr_accessor :languages
+
+ # Requests containing any of these mobile carrier ids will match. Values are
+ # from mobile-carriers.csv in the downloadable files section.
+ # Corresponds to the JSON property `mobileCarriers`
+ # @return [Array]
+ attr_accessor :mobile_carriers
+
+ # Requests containing any of these mobile device ids will match. Values are from
+ # mobile-devices.csv in the downloadable files section.
+ # Corresponds to the JSON property `mobileDevices`
+ # @return [Array]
+ attr_accessor :mobile_devices
+
+ # Requests containing any of these mobile operating system version ids will
+ # match. Values are from mobile-os.csv in the downloadable files section.
+ # Corresponds to the JSON property `mobileOperatingSystemVersions`
+ # @return [Array]
+ attr_accessor :mobile_operating_system_versions
+
+ # Requests containing any of these placements will match.
+ # Corresponds to the JSON property `placements`
+ # @return [Array]
+ attr_accessor :placements
+
+ # Requests matching any of these platforms will match. Possible values are
+ # PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and
+ # PRETARGETING_PLATFORM_TABLET.
+ # Corresponds to the JSON property `platforms`
+ # @return [Array]
+ attr_accessor :platforms
+
+ # Creative attributes should be declared here if all creatives corresponding to
+ # this pretargeting configuration have that creative attribute. Values are from
+ # pretargetable-creative-attributes.txt in the downloadable files section.
+ # Corresponds to the JSON property `supportedCreativeAttributes`
+ # @return [Array]
+ attr_accessor :supported_creative_attributes
+
+ # Requests containing any of these user list ids will match.
+ # Corresponds to the JSON property `userLists`
+ # @return [Array]
+ attr_accessor :user_lists
+
+ # Requests that allow any of these vendor ids will match. Values are from
+ # vendors.txt in the downloadable files section.
+ # Corresponds to the JSON property `vendorTypes`
+ # @return [Array]
+ attr_accessor :vendor_types
+
+ # Requests containing any of these vertical ids will match.
+ # Corresponds to the JSON property `verticals`
+ # @return [Array]
+ attr_accessor :verticals
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @billing_id = args[:billing_id] unless args[:billing_id].nil?
+ @config_id = args[:config_id] unless args[:config_id].nil?
+ @config_name = args[:config_name] unless args[:config_name].nil?
+ @creative_type = args[:creative_type] unless args[:creative_type].nil?
+ @dimensions = args[:dimensions] unless args[:dimensions].nil?
+ @excluded_content_labels = args[:excluded_content_labels] unless args[:excluded_content_labels].nil?
+ @excluded_geo_criteria_ids = args[:excluded_geo_criteria_ids] unless args[:excluded_geo_criteria_ids].nil?
+ @excluded_placements = args[:excluded_placements] unless args[:excluded_placements].nil?
+ @excluded_user_lists = args[:excluded_user_lists] unless args[:excluded_user_lists].nil?
+ @excluded_verticals = args[:excluded_verticals] unless args[:excluded_verticals].nil?
+ @geo_criteria_ids = args[:geo_criteria_ids] unless args[:geo_criteria_ids].nil?
+ @is_active = args[:is_active] unless args[:is_active].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @languages = args[:languages] unless args[:languages].nil?
+ @mobile_carriers = args[:mobile_carriers] unless args[:mobile_carriers].nil?
+ @mobile_devices = args[:mobile_devices] unless args[:mobile_devices].nil?
+ @mobile_operating_system_versions = args[:mobile_operating_system_versions] unless args[:mobile_operating_system_versions].nil?
+ @placements = args[:placements] unless args[:placements].nil?
+ @platforms = args[:platforms] unless args[:platforms].nil?
+ @supported_creative_attributes = args[:supported_creative_attributes] unless args[:supported_creative_attributes].nil?
+ @user_lists = args[:user_lists] unless args[:user_lists].nil?
+ @vendor_types = args[:vendor_types] unless args[:vendor_types].nil?
+ @verticals = args[:verticals] unless args[:verticals].nil?
+ end
+
+ #
+ class Dimension
+ include Google::Apis::Core::Hashable
+
+ # Height in pixels.
+ # Corresponds to the JSON property `height`
+ # @return [String]
+ attr_accessor :height
+
+ # Width in pixels.
+ # Corresponds to the JSON property `width`
+ # @return [String]
+ attr_accessor :width
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @height = args[:height] unless args[:height].nil?
+ @width = args[:width] unless args[:width].nil?
+ end
+ end
+
+ #
+ class ExcludedPlacement
+ include Google::Apis::Core::Hashable
+
+ # The value of the placement. Interpretation depends on the placement type, e.g.
+ # URL for a site placement, channel name for a channel placement, app id for a
+ # mobile app placement.
+ # Corresponds to the JSON property `token`
+ # @return [String]
+ attr_accessor :token
+
+ # The type of the placement.
+ # 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)
+ @token = args[:token] unless args[:token].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ #
+ class Placement
+ include Google::Apis::Core::Hashable
+
+ # The value of the placement. Interpretation depends on the placement type, e.g.
+ # URL for a site placement, channel name for a channel placement, app id for a
+ # mobile app placement.
+ # Corresponds to the JSON property `token`
+ # @return [String]
+ attr_accessor :token
+
+ # The type of the placement.
+ # 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)
+ @token = args[:token] unless args[:token].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+ end
+
+ #
+ class PretargetingConfigList
+ include Google::Apis::Core::Hashable
+
+ # A list of pretargeting configs
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Resource type.
+ # 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)
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adexchangebuyer_v1_3/representations.rb b/generated/google/apis/adexchangebuyer_v1_3/representations.rb
new file mode 100644
index 000000000..2e739ce62
--- /dev/null
+++ b/generated/google/apis/adexchangebuyer_v1_3/representations.rb
@@ -0,0 +1,375 @@
+# 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 AdexchangebuyerV1_3
+
+ class Account
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class BidderLocation
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class AccountsList
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class BillingInfo
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class BillingInfoList
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Budget
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Creative
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Correction
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class DisapprovalReason
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class FilteringReasons
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Reason
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+ end
+
+ class CreativesList
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class DirectDeal
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class DirectDealsList
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class PerformanceReport
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class PerformanceReportList
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class PretargetingConfig
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Dimension
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ExcludedPlacement
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Placement
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class PretargetingConfigList
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ # @private
+ class Account
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :bidder_location, as: 'bidderLocation', class: Google::Apis::AdexchangebuyerV1_3::Account::BidderLocation, decorator: Google::Apis::AdexchangebuyerV1_3::Account::BidderLocation::Representation
+
+ property :cookie_matching_nid, as: 'cookieMatchingNid'
+ property :cookie_matching_url, as: 'cookieMatchingUrl'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :maximum_active_creatives, as: 'maximumActiveCreatives'
+ property :maximum_total_qps, as: 'maximumTotalQps'
+ property :number_active_creatives, as: 'numberActiveCreatives'
+ end
+
+ # @private
+ class BidderLocation
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :maximum_qps, as: 'maximumQps'
+ property :region, as: 'region'
+ property :url, as: 'url'
+ end
+ end
+ end
+
+ # @private
+ class AccountsList
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AdexchangebuyerV1_3::Account, decorator: Google::Apis::AdexchangebuyerV1_3::Account::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class BillingInfo
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :account_name, as: 'accountName'
+ collection :billing_id, as: 'billingId'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class BillingInfoList
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AdexchangebuyerV1_3::BillingInfo, decorator: Google::Apis::AdexchangebuyerV1_3::BillingInfo::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Budget
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :billing_id, as: 'billingId'
+ property :budget_amount, as: 'budgetAmount'
+ property :currency_code, as: 'currencyCode'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Creative
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :html_snippet, as: 'HTMLSnippet'
+ property :account_id, as: 'accountId'
+ collection :advertiser_id, as: 'advertiserId'
+ property :advertiser_name, as: 'advertiserName'
+ property :agency_id, as: 'agencyId'
+ collection :attribute, as: 'attribute'
+ property :buyer_creative_id, as: 'buyerCreativeId'
+ collection :click_through_url, as: 'clickThroughUrl'
+ collection :corrections, as: 'corrections', class: Google::Apis::AdexchangebuyerV1_3::Creative::Correction, decorator: Google::Apis::AdexchangebuyerV1_3::Creative::Correction::Representation
+
+ collection :disapproval_reasons, as: 'disapprovalReasons', class: Google::Apis::AdexchangebuyerV1_3::Creative::DisapprovalReason, decorator: Google::Apis::AdexchangebuyerV1_3::Creative::DisapprovalReason::Representation
+
+ property :filtering_reasons, as: 'filteringReasons', class: Google::Apis::AdexchangebuyerV1_3::Creative::FilteringReasons, decorator: Google::Apis::AdexchangebuyerV1_3::Creative::FilteringReasons::Representation
+
+ property :height, as: 'height'
+ property :kind, as: 'kind'
+ collection :product_categories, as: 'productCategories'
+ collection :restricted_categories, as: 'restrictedCategories'
+ collection :sensitive_categories, as: 'sensitiveCategories'
+ property :status, as: 'status'
+ collection :vendor_type, as: 'vendorType'
+ property :video_url, as: 'videoURL'
+ property :width, as: 'width'
+ end
+
+ # @private
+ class Correction
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :details, as: 'details'
+ property :reason, as: 'reason'
+ end
+ end
+
+ # @private
+ class DisapprovalReason
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :details, as: 'details'
+ property :reason, as: 'reason'
+ end
+ end
+
+ # @private
+ class FilteringReasons
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :date, as: 'date'
+ collection :reasons, as: 'reasons', class: Google::Apis::AdexchangebuyerV1_3::Creative::FilteringReasons::Reason, decorator: Google::Apis::AdexchangebuyerV1_3::Creative::FilteringReasons::Reason::Representation
+
+ end
+
+ # @private
+ class Reason
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :filtering_count, as: 'filteringCount'
+ property :filtering_status, as: 'filteringStatus'
+ end
+ end
+ end
+ end
+
+ # @private
+ class CreativesList
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AdexchangebuyerV1_3::Creative, decorator: Google::Apis::AdexchangebuyerV1_3::Creative::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class DirectDeal
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :advertiser, as: 'advertiser'
+ property :currency_code, as: 'currencyCode'
+ property :end_time, as: 'endTime'
+ property :fixed_cpm, as: 'fixedCpm'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :private_exchange_min_cpm, as: 'privateExchangeMinCpm'
+ property :publisher_blocks_overriden, as: 'publisherBlocksOverriden'
+ property :seller_network, as: 'sellerNetwork'
+ property :start_time, as: 'startTime'
+ end
+ end
+
+ # @private
+ class DirectDealsList
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :direct_deals, as: 'directDeals', class: Google::Apis::AdexchangebuyerV1_3::DirectDeal, decorator: Google::Apis::AdexchangebuyerV1_3::DirectDeal::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class PerformanceReport
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :bid_rate, as: 'bidRate'
+ property :bid_request_rate, as: 'bidRequestRate'
+ collection :callout_status_rate, as: 'calloutStatusRate'
+ collection :cookie_matcher_status_rate, as: 'cookieMatcherStatusRate'
+ collection :creative_status_rate, as: 'creativeStatusRate'
+ property :filtered_bid_rate, as: 'filteredBidRate'
+ collection :hosted_match_status_rate, as: 'hostedMatchStatusRate'
+ property :inventory_match_rate, as: 'inventoryMatchRate'
+ property :kind, as: 'kind'
+ property :latency_50th_percentile, as: 'latency50thPercentile'
+ property :latency_85th_percentile, as: 'latency85thPercentile'
+ property :latency_95th_percentile, as: 'latency95thPercentile'
+ property :no_quota_in_region, as: 'noQuotaInRegion'
+ property :out_of_quota, as: 'outOfQuota'
+ property :pixel_match_requests, as: 'pixelMatchRequests'
+ property :pixel_match_responses, as: 'pixelMatchResponses'
+ property :quota_configured_limit, as: 'quotaConfiguredLimit'
+ property :quota_throttled_limit, as: 'quotaThrottledLimit'
+ property :region, as: 'region'
+ property :successful_request_rate, as: 'successfulRequestRate'
+ property :timestamp, as: 'timestamp'
+ property :unsuccessful_request_rate, as: 'unsuccessfulRequestRate'
+ end
+ end
+
+ # @private
+ class PerformanceReportList
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ collection :performance_report, as: 'performanceReport', class: Google::Apis::AdexchangebuyerV1_3::PerformanceReport, decorator: Google::Apis::AdexchangebuyerV1_3::PerformanceReport::Representation
+
+ end
+ end
+
+ # @private
+ class PretargetingConfig
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :billing_id, as: 'billingId'
+ property :config_id, as: 'configId'
+ property :config_name, as: 'configName'
+ collection :creative_type, as: 'creativeType'
+ collection :dimensions, as: 'dimensions', class: Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Dimension, decorator: Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Dimension::Representation
+
+ collection :excluded_content_labels, as: 'excludedContentLabels'
+ collection :excluded_geo_criteria_ids, as: 'excludedGeoCriteriaIds'
+ collection :excluded_placements, as: 'excludedPlacements', class: Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::ExcludedPlacement, decorator: Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::ExcludedPlacement::Representation
+
+ collection :excluded_user_lists, as: 'excludedUserLists'
+ collection :excluded_verticals, as: 'excludedVerticals'
+ collection :geo_criteria_ids, as: 'geoCriteriaIds'
+ property :is_active, as: 'isActive'
+ property :kind, as: 'kind'
+ collection :languages, as: 'languages'
+ collection :mobile_carriers, as: 'mobileCarriers'
+ collection :mobile_devices, as: 'mobileDevices'
+ collection :mobile_operating_system_versions, as: 'mobileOperatingSystemVersions'
+ collection :placements, as: 'placements', class: Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Placement, decorator: Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Placement::Representation
+
+ collection :platforms, as: 'platforms'
+ collection :supported_creative_attributes, as: 'supportedCreativeAttributes'
+ collection :user_lists, as: 'userLists'
+ collection :vendor_types, as: 'vendorTypes'
+ collection :verticals, as: 'verticals'
+ end
+
+ # @private
+ class Dimension
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :height, as: 'height'
+ property :width, as: 'width'
+ end
+ end
+
+ # @private
+ class ExcludedPlacement
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :token, as: 'token'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class Placement
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :token, as: 'token'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class PretargetingConfigList
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AdexchangebuyerV1_3::PretargetingConfig, decorator: Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adexchangebuyer_v1_3/service.rb b/generated/google/apis/adexchangebuyer_v1_3/service.rb
new file mode 100644
index 000000000..44b938747
--- /dev/null
+++ b/generated/google/apis/adexchangebuyer_v1_3/service.rb
@@ -0,0 +1,893 @@
+# 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 '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 AdexchangebuyerV1_3
+ # Ad Exchange Buyer API
+ #
+ # Accesses your bidding-account information, submits creatives for validation,
+ # finds available direct deals, and retrieves performance reports.
+ #
+ # @example
+ # require 'google/apis/adexchangebuyer_v1_3'
+ #
+ # Adexchangebuyer = Google::Apis::AdexchangebuyerV1_3 # Alias the module
+ # service = Adexchangebuyer::AdExchangeBuyerService.new
+ #
+ # @see https://developers.google.com/ad-exchange/buyer-rest
+ class AdExchangeBuyerService < Google::Apis::Core::BaseService
+ # @return [String]
+ # API key. Your API key identifies your project and provides you with API access,
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
+ attr_accessor :key
+
+ # @return [String]
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ attr_accessor :quota_user
+
+ # @return [String]
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ attr_accessor :user_ip
+
+ def initialize
+ super('https://www.googleapis.com/', 'adexchangebuyer/v1.3/')
+ end
+
+ # Gets one account by ID.
+ # @param [Fixnum] id
+ # The account id
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::Account] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::Account]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account(id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{id}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::Account::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::Account
+ command.params['id'] = id unless id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the authenticated user's list of accounts.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::AccountsList] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::AccountsList]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_accounts(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::AccountsList::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::AccountsList
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing account. This method supports patch semantics.
+ # @param [Fixnum] id
+ # The account id
+ # @param [Google::Apis::AdexchangebuyerV1_3::Account] account_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::Account] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::Account]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_account(id, account_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{id}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdexchangebuyerV1_3::Account::Representation
+ command.request_object = account_object
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::Account::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::Account
+ command.params['id'] = id unless id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing account.
+ # @param [Fixnum] id
+ # The account id
+ # @param [Google::Apis::AdexchangebuyerV1_3::Account] account_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::Account] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::Account]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_account(id, account_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{id}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdexchangebuyerV1_3::Account::Representation
+ command.request_object = account_object
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::Account::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::Account
+ command.params['id'] = id unless id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns the billing information for one account specified by account ID.
+ # @param [Fixnum] account_id
+ # The account id.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::BillingInfo] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::BillingInfo]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_billing_info(account_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'billinginfo/{accountId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::BillingInfo::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::BillingInfo
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves a list of billing information for all accounts of the authenticated
+ # user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::BillingInfoList] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::BillingInfoList]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_billing_infos(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'billinginfo'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::BillingInfoList::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::BillingInfoList
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns the budget information for the adgroup specified by the accountId and
+ # billingId.
+ # @param [String] account_id
+ # The account id to get the budget information for.
+ # @param [String] billing_id
+ # The billing id to get the budget information for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::Budget] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::Budget]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_budget(account_id, billing_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'billinginfo/{accountId}/{billingId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::Budget::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::Budget
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['billingId'] = billing_id unless billing_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates the budget amount for the budget of the adgroup specified by the
+ # accountId and billingId, with the budget amount in the request. This method
+ # supports patch semantics.
+ # @param [String] account_id
+ # The account id associated with the budget being updated.
+ # @param [String] billing_id
+ # The billing id associated with the budget being updated.
+ # @param [Google::Apis::AdexchangebuyerV1_3::Budget] budget_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::Budget] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::Budget]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_budget(account_id, billing_id, budget_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'billinginfo/{accountId}/{billingId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdexchangebuyerV1_3::Budget::Representation
+ command.request_object = budget_object
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::Budget::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::Budget
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['billingId'] = billing_id unless billing_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates the budget amount for the budget of the adgroup specified by the
+ # accountId and billingId, with the budget amount in the request.
+ # @param [String] account_id
+ # The account id associated with the budget being updated.
+ # @param [String] billing_id
+ # The billing id associated with the budget being updated.
+ # @param [Google::Apis::AdexchangebuyerV1_3::Budget] budget_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::Budget] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::Budget]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_budget(account_id, billing_id, budget_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'billinginfo/{accountId}/{billingId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdexchangebuyerV1_3::Budget::Representation
+ command.request_object = budget_object
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::Budget::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::Budget
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['billingId'] = billing_id unless billing_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Gets the status for a single creative. A creative will be available 30-40
+ # minutes after submission.
+ # @param [Fixnum] account_id
+ # The id for the account that will serve this creative.
+ # @param [String] buyer_creative_id
+ # The buyer-specific id for this creative.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::Creative] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::Creative]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_creative(account_id, buyer_creative_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'creatives/{accountId}/{buyerCreativeId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::Creative::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::Creative
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['buyerCreativeId'] = buyer_creative_id unless buyer_creative_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Submit a new creative.
+ # @param [Google::Apis::AdexchangebuyerV1_3::Creative] creative_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::Creative] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::Creative]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_creative(creative_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'creatives'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdexchangebuyerV1_3::Creative::Representation
+ command.request_object = creative_object
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::Creative::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::Creative
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves a list of the authenticated user's active creatives. A creative will
+ # be available 30-40 minutes after submission.
+ # @param [Array, Fixnum] account_id
+ # When specified, only creatives for the given account ids are returned.
+ # @param [Array, String] buyer_creative_id
+ # When specified, only creatives for the given buyer creative ids are returned.
+ # @param [Fixnum] max_results
+ # Maximum number of entries returned on one result page. If not set, the default
+ # is 100. Optional.
+ # @param [String] page_token
+ # A continuation token, used to page through ad clients. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response. Optional.
+ # @param [String] status_filter
+ # When specified, only creatives having the given status are returned.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::CreativesList] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::CreativesList]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_creatives(account_id: nil, buyer_creative_id: nil, max_results: nil, page_token: nil, status_filter: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'creatives'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::CreativesList::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::CreativesList
+ command.query['accountId'] = account_id unless account_id.nil?
+ command.query['buyerCreativeId'] = buyer_creative_id unless buyer_creative_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['statusFilter'] = status_filter unless status_filter.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Gets one direct deal by ID.
+ # @param [String] id
+ # The direct deal id
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::DirectDeal] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::DirectDeal]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_direct_deal(id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'directdeals/{id}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::DirectDeal::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::DirectDeal
+ command.params['id'] = id unless id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the authenticated user's list of direct deals.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::DirectDealsList] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::DirectDealsList]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_direct_deals(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'directdeals'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::DirectDealsList::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::DirectDealsList
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the authenticated user's list of performance metrics.
+ # @param [String] account_id
+ # The account id to get the reports.
+ # @param [String] end_date_time
+ # The end time of the report in ISO 8601 timestamp format using UTC.
+ # @param [Fixnum] max_results
+ # Maximum number of entries returned on one result page. If not set, the default
+ # is 100. Optional.
+ # @param [String] page_token
+ # A continuation token, used to page through performance reports. To retrieve
+ # the next page, set this parameter to the value of "nextPageToken" from the
+ # previous response. Optional.
+ # @param [String] start_date_time
+ # The start time of the report in ISO 8601 timestamp format using UTC.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::PerformanceReportList] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::PerformanceReportList]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_performance_reports(account_id: nil, end_date_time: nil, max_results: nil, page_token: nil, start_date_time: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'performancereport'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::PerformanceReportList::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::PerformanceReportList
+ command.query['accountId'] = account_id unless account_id.nil?
+ command.query['endDateTime'] = end_date_time unless end_date_time.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['startDateTime'] = start_date_time unless start_date_time.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes an existing pretargeting config.
+ # @param [String] account_id
+ # The account id to delete the pretargeting config for.
+ # @param [String] config_id
+ # The specific id of the configuration to delete.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_pretargeting_config(account_id, config_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'pretargetingconfigs/{accountId}/{configId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['configId'] = config_id unless config_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Gets a specific pretargeting configuration
+ # @param [String] account_id
+ # The account id to get the pretargeting config for.
+ # @param [String] config_id
+ # The specific id of the configuration to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_pretargeting_config(account_id, config_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'pretargetingconfigs/{accountId}/{configId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['configId'] = config_id unless config_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Inserts a new pretargeting configuration.
+ # @param [String] account_id
+ # The account id to insert the pretargeting config for.
+ # @param [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig] pretargeting_config_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_pretargeting_config(account_id, pretargeting_config_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'pretargetingconfigs/{accountId}'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Representation
+ command.request_object = pretargeting_config_object
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves a list of the authenticated user's pretargeting configurations.
+ # @param [String] account_id
+ # The account id to get the pretargeting configs for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::PretargetingConfigList] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::PretargetingConfigList]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_pretargeting_configs(account_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'pretargetingconfigs/{accountId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::PretargetingConfigList::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::PretargetingConfigList
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing pretargeting config. This method supports patch semantics.
+ # @param [String] account_id
+ # The account id to update the pretargeting config for.
+ # @param [String] config_id
+ # The specific id of the configuration to update.
+ # @param [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig] pretargeting_config_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_pretargeting_config(account_id, config_id, pretargeting_config_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'pretargetingconfigs/{accountId}/{configId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Representation
+ command.request_object = pretargeting_config_object
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['configId'] = config_id unless config_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing pretargeting config.
+ # @param [String] account_id
+ # The account id to update the pretargeting config for.
+ # @param [String] config_id
+ # The specific id of the configuration to update.
+ # @param [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig] pretargeting_config_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangebuyerV1_3::PretargetingConfig]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_pretargeting_config(account_id, config_id, pretargeting_config_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'pretargetingconfigs/{accountId}/{configId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Representation
+ command.request_object = pretargeting_config_object
+ command.response_representation = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig::Representation
+ command.response_class = Google::Apis::AdexchangebuyerV1_3::PretargetingConfig
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['configId'] = config_id unless config_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ protected
+
+ def apply_command_defaults(command)
+ command.query['key'] = key unless key.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adexchangeseller_v2_0.rb b/generated/google/apis/adexchangeseller_v2_0.rb
new file mode 100644
index 000000000..3bc7b2eff
--- /dev/null
+++ b/generated/google/apis/adexchangeseller_v2_0.rb
@@ -0,0 +1,38 @@
+# 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 'google/apis/adexchangeseller_v2_0/service.rb'
+require 'google/apis/adexchangeseller_v2_0/classes.rb'
+require 'google/apis/adexchangeseller_v2_0/representations.rb'
+
+module Google
+ module Apis
+ # Ad Exchange Seller API
+ #
+ # Gives Ad Exchange seller users access to their inventory and the ability to
+ # generate reports
+ #
+ # @see https://developers.google.com/ad-exchange/seller-rest/
+ module AdexchangesellerV2_0
+ VERSION = 'V2_0'
+ REVISION = '20150420'
+
+ # View and manage your Ad Exchange data
+ AUTH_ADEXCHANGE_SELLER = 'https://www.googleapis.com/auth/adexchange.seller'
+
+ # View your Ad Exchange data
+ AUTH_ADEXCHANGE_SELLER_READONLY = 'https://www.googleapis.com/auth/adexchange.seller.readonly'
+ end
+ end
+end
diff --git a/generated/google/apis/adexchangeseller_v2_0/classes.rb b/generated/google/apis/adexchangeseller_v2_0/classes.rb
new file mode 100644
index 000000000..3c6f838dd
--- /dev/null
+++ b/generated/google/apis/adexchangeseller_v2_0/classes.rb
@@ -0,0 +1,792 @@
+# 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 AdexchangesellerV2_0
+
+ #
+ class Account
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this account.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adexchangeseller#account.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Name of this account.
+ # 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)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ end
+ end
+
+ #
+ class Accounts
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The accounts returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adexchangeseller#accounts.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through accounts. To retrieve the next page of
+ # results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class AdClient
+ include Google::Apis::Core::Hashable
+
+ # Whether this ad client is opted in to ARC.
+ # Corresponds to the JSON property `arcOptIn`
+ # @return [Boolean]
+ attr_accessor :arc_opt_in
+ alias_method :arc_opt_in?, :arc_opt_in
+
+ # Unique identifier of this ad client.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adexchangeseller#adClient.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # This ad client's product code, which corresponds to the PRODUCT_CODE report
+ # dimension.
+ # Corresponds to the JSON property `productCode`
+ # @return [String]
+ attr_accessor :product_code
+
+ # Whether this ad client supports being reported on.
+ # Corresponds to the JSON property `supportsReporting`
+ # @return [Boolean]
+ attr_accessor :supports_reporting
+ alias_method :supports_reporting?, :supports_reporting
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @arc_opt_in = args[:arc_opt_in] unless args[:arc_opt_in].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @product_code = args[:product_code] unless args[:product_code].nil?
+ @supports_reporting = args[:supports_reporting] unless args[:supports_reporting].nil?
+ end
+ end
+
+ #
+ class AdClients
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The ad clients returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adexchangeseller#adClients.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through ad clients. To retrieve the next page
+ # of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class Alert
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this alert. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adexchangeseller#alert.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The localized alert message.
+ # Corresponds to the JSON property `message`
+ # @return [String]
+ attr_accessor :message
+
+ # Severity of this alert. Possible values: INFO, WARNING, SEVERE.
+ # Corresponds to the JSON property `severity`
+ # @return [String]
+ attr_accessor :severity
+
+ # Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3,
+ # ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY,
+ # GRAYLISTED_PUBLISHER, API_HOLD.
+ # 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] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @message = args[:message] unless args[:message].nil?
+ @severity = args[:severity] unless args[:severity].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ #
+ class Alerts
+ include Google::Apis::Core::Hashable
+
+ # The alerts returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adexchangeseller#alerts.
+ # 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)
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class CustomChannel
+ include Google::Apis::Core::Hashable
+
+ # Code of this custom channel, not necessarily unique across ad clients.
+ # Corresponds to the JSON property `code`
+ # @return [String]
+ attr_accessor :code
+
+ # Unique identifier of this custom channel. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adexchangeseller#customChannel.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Name of this custom channel.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The targeting information of this custom channel, if activated.
+ # Corresponds to the JSON property `targetingInfo`
+ # @return [Google::Apis::AdexchangesellerV2_0::CustomChannel::TargetingInfo]
+ attr_accessor :targeting_info
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @code = args[:code] unless args[:code].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @targeting_info = args[:targeting_info] unless args[:targeting_info].nil?
+ end
+
+ # The targeting information of this custom channel, if activated.
+ class TargetingInfo
+ include Google::Apis::Core::Hashable
+
+ # The name used to describe this channel externally.
+ # Corresponds to the JSON property `adsAppearOn`
+ # @return [String]
+ attr_accessor :ads_appear_on
+
+ # The external description of the channel.
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # The locations in which ads appear. (Only valid for content and mobile content
+ # ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT,
+ # MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER,
+ # BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are:
+ # TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
+ # Corresponds to the JSON property `location`
+ # @return [String]
+ attr_accessor :location
+
+ # The language of the sites ads will be displayed on.
+ # Corresponds to the JSON property `siteLanguage`
+ # @return [String]
+ attr_accessor :site_language
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @ads_appear_on = args[:ads_appear_on] unless args[:ads_appear_on].nil?
+ @description = args[:description] unless args[:description].nil?
+ @location = args[:location] unless args[:location].nil?
+ @site_language = args[:site_language] unless args[:site_language].nil?
+ end
+ end
+ end
+
+ #
+ class CustomChannels
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The custom channels returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adexchangeseller#customChannels.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through custom channels. To retrieve the next
+ # page of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class Metadata
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adexchangeseller#metadata.
+ # 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)
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class PreferredDeal
+ include Google::Apis::Core::Hashable
+
+ # The name of the advertiser this deal is for.
+ # Corresponds to the JSON property `advertiserName`
+ # @return [String]
+ attr_accessor :advertiser_name
+
+ # The name of the buyer network this deal is for.
+ # Corresponds to the JSON property `buyerNetworkName`
+ # @return [String]
+ attr_accessor :buyer_network_name
+
+ # The currency code that applies to the fixed_cpm value. If not set then assumed
+ # to be USD.
+ # Corresponds to the JSON property `currencyCode`
+ # @return [String]
+ attr_accessor :currency_code
+
+ # Time when this deal stops being active in seconds since the epoch (GMT). If
+ # not set then this deal is valid until manually disabled by the publisher.
+ # Corresponds to the JSON property `endTime`
+ # @return [String]
+ attr_accessor :end_time
+
+ # The fixed price for this preferred deal. In cpm micros of currency according
+ # to currencyCode. If set, then this preferred deal is eligible for the fixed
+ # price tier of buying (highest priority, pay exactly the configured fixed price)
+ # .
+ # Corresponds to the JSON property `fixedCpm`
+ # @return [String]
+ attr_accessor :fixed_cpm
+
+ # Unique identifier of this preferred deal.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adexchangeseller#preferredDeal.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Time when this deal becomes active in seconds since the epoch (GMT). If not
+ # set then this deal is active immediately upon creation.
+ # Corresponds to the JSON property `startTime`
+ # @return [String]
+ attr_accessor :start_time
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @advertiser_name = args[:advertiser_name] unless args[:advertiser_name].nil?
+ @buyer_network_name = args[:buyer_network_name] unless args[:buyer_network_name].nil?
+ @currency_code = args[:currency_code] unless args[:currency_code].nil?
+ @end_time = args[:end_time] unless args[:end_time].nil?
+ @fixed_cpm = args[:fixed_cpm] unless args[:fixed_cpm].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @start_time = args[:start_time] unless args[:start_time].nil?
+ end
+ end
+
+ #
+ class PreferredDeals
+ include Google::Apis::Core::Hashable
+
+ # The preferred deals returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adexchangeseller#preferredDeals.
+ # 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)
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class Report
+ include Google::Apis::Core::Hashable
+
+ # The averages of the report. This is the same length as any other row in the
+ # report; cells corresponding to dimension columns are empty.
+ # Corresponds to the JSON property `averages`
+ # @return [Array]
+ attr_accessor :averages
+
+ # The header information of the columns requested in the report. This is a list
+ # of headers; one for each dimension in the request, followed by one for each
+ # metric in the request.
+ # Corresponds to the JSON property `headers`
+ # @return [Array]
+ attr_accessor :headers
+
+ # Kind this is, in this case adexchangeseller#report.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The output rows of the report. Each row is a list of cells; one for each
+ # dimension in the request, followed by one for each metric in the request. The
+ # dimension cells contain strings, and the metric cells contain numbers.
+ # Corresponds to the JSON property `rows`
+ # @return [Array>]
+ attr_accessor :rows
+
+ # The total number of rows matched by the report request. Fewer rows may be
+ # returned in the response due to being limited by the row count requested or
+ # the report row limit.
+ # Corresponds to the JSON property `totalMatchedRows`
+ # @return [String]
+ attr_accessor :total_matched_rows
+
+ # The totals of the report. This is the same length as any other row in the
+ # report; cells corresponding to dimension columns are empty.
+ # Corresponds to the JSON property `totals`
+ # @return [Array]
+ attr_accessor :totals
+
+ # Any warnings associated with generation of the report.
+ # Corresponds to the JSON property `warnings`
+ # @return [Array]
+ attr_accessor :warnings
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @averages = args[:averages] unless args[:averages].nil?
+ @headers = args[:headers] unless args[:headers].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @rows = args[:rows] unless args[:rows].nil?
+ @total_matched_rows = args[:total_matched_rows] unless args[:total_matched_rows].nil?
+ @totals = args[:totals] unless args[:totals].nil?
+ @warnings = args[:warnings] unless args[:warnings].nil?
+ end
+
+ #
+ class Header
+ include Google::Apis::Core::Hashable
+
+ # The currency of this column. Only present if the header type is
+ # METRIC_CURRENCY.
+ # Corresponds to the JSON property `currency`
+ # @return [String]
+ attr_accessor :currency
+
+ # The name of the header.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or
+ # METRIC_CURRENCY.
+ # 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)
+ @currency = args[:currency] unless args[:currency].nil?
+ @name = args[:name] unless args[:name].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+ end
+
+ #
+ class ReportingMetadataEntry
+ include Google::Apis::Core::Hashable
+
+ # For metrics this is a list of dimension IDs which the metric is compatible
+ # with, for dimensions it is a list of compatibility groups the dimension
+ # belongs to.
+ # Corresponds to the JSON property `compatibleDimensions`
+ # @return [Array]
+ attr_accessor :compatible_dimensions
+
+ # The names of the metrics the dimension or metric this reporting metadata entry
+ # describes is compatible with.
+ # Corresponds to the JSON property `compatibleMetrics`
+ # @return [Array]
+ attr_accessor :compatible_metrics
+
+ # Unique identifier of this reporting metadata entry, corresponding to the name
+ # of the appropriate dimension or metric.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adexchangeseller#reportingMetadataEntry.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The names of the dimensions which the dimension or metric this reporting
+ # metadata entry describes requires to also be present in order for the report
+ # to be valid. Omitting these will not cause an error or warning, but may result
+ # in data which cannot be correctly interpreted.
+ # Corresponds to the JSON property `requiredDimensions`
+ # @return [Array]
+ attr_accessor :required_dimensions
+
+ # The names of the metrics which the dimension or metric this reporting metadata
+ # entry describes requires to also be present in order for the report to be
+ # valid. Omitting these will not cause an error or warning, but may result in
+ # data which cannot be correctly interpreted.
+ # Corresponds to the JSON property `requiredMetrics`
+ # @return [Array]
+ attr_accessor :required_metrics
+
+ # The codes of the projects supported by the dimension or metric this reporting
+ # metadata entry describes.
+ # Corresponds to the JSON property `supportedProducts`
+ # @return [Array]
+ attr_accessor :supported_products
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @compatible_dimensions = args[:compatible_dimensions] unless args[:compatible_dimensions].nil?
+ @compatible_metrics = args[:compatible_metrics] unless args[:compatible_metrics].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @required_dimensions = args[:required_dimensions] unless args[:required_dimensions].nil?
+ @required_metrics = args[:required_metrics] unless args[:required_metrics].nil?
+ @supported_products = args[:supported_products] unless args[:supported_products].nil?
+ end
+ end
+
+ #
+ class SavedReport
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this saved report.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adexchangeseller#savedReport.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # This saved report's 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)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ end
+ end
+
+ #
+ class SavedReports
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The saved reports returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adexchangeseller#savedReports.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through saved reports. To retrieve the next
+ # page of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class UrlChannel
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this URL channel. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adexchangeseller#urlChannel.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # URL Pattern of this URL channel. Does not include "http://" or "https://".
+ # Example: www.example.com/home
+ # Corresponds to the JSON property `urlPattern`
+ # @return [String]
+ attr_accessor :url_pattern
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @url_pattern = args[:url_pattern] unless args[:url_pattern].nil?
+ end
+ end
+
+ #
+ class UrlChannels
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The URL channels returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adexchangeseller#urlChannels.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through URL channels. To retrieve the next
+ # page of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adexchangeseller_v2_0/representations.rb b/generated/google/apis/adexchangeseller_v2_0/representations.rb
new file mode 100644
index 000000000..564fe91cb
--- /dev/null
+++ b/generated/google/apis/adexchangeseller_v2_0/representations.rb
@@ -0,0 +1,309 @@
+# 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 AdexchangesellerV2_0
+
+ class Account
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Accounts
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdClient
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdClients
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Alert
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Alerts
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class CustomChannel
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class TargetingInfo
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class CustomChannels
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Metadata
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class PreferredDeal
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class PreferredDeals
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Report
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Header
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class ReportingMetadataEntry
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class SavedReport
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class SavedReports
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UrlChannel
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UrlChannels
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ # @private
+ class Account
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class Accounts
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdexchangesellerV2_0::Account, decorator: Google::Apis::AdexchangesellerV2_0::Account::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class AdClient
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :arc_opt_in, as: 'arcOptIn'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :product_code, as: 'productCode'
+ property :supports_reporting, as: 'supportsReporting'
+ end
+ end
+
+ # @private
+ class AdClients
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdexchangesellerV2_0::AdClient, decorator: Google::Apis::AdexchangesellerV2_0::AdClient::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class Alert
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :message, as: 'message'
+ property :severity, as: 'severity'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class Alerts
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AdexchangesellerV2_0::Alert, decorator: Google::Apis::AdexchangesellerV2_0::Alert::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class CustomChannel
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :code, as: 'code'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :targeting_info, as: 'targetingInfo', class: Google::Apis::AdexchangesellerV2_0::CustomChannel::TargetingInfo, decorator: Google::Apis::AdexchangesellerV2_0::CustomChannel::TargetingInfo::Representation
+
+ end
+
+ # @private
+ class TargetingInfo
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :ads_appear_on, as: 'adsAppearOn'
+ property :description, as: 'description'
+ property :location, as: 'location'
+ property :site_language, as: 'siteLanguage'
+ end
+ end
+ end
+
+ # @private
+ class CustomChannels
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdexchangesellerV2_0::CustomChannel, decorator: Google::Apis::AdexchangesellerV2_0::CustomChannel::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class Metadata
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AdexchangesellerV2_0::ReportingMetadataEntry, decorator: Google::Apis::AdexchangesellerV2_0::ReportingMetadataEntry::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class PreferredDeal
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :advertiser_name, as: 'advertiserName'
+ property :buyer_network_name, as: 'buyerNetworkName'
+ property :currency_code, as: 'currencyCode'
+ property :end_time, as: 'endTime'
+ property :fixed_cpm, as: 'fixedCpm'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :start_time, as: 'startTime'
+ end
+ end
+
+ # @private
+ class PreferredDeals
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AdexchangesellerV2_0::PreferredDeal, decorator: Google::Apis::AdexchangesellerV2_0::PreferredDeal::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Report
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :averages, as: 'averages'
+ collection :headers, as: 'headers', class: Google::Apis::AdexchangesellerV2_0::Report::Header, decorator: Google::Apis::AdexchangesellerV2_0::Report::Header::Representation
+
+ property :kind, as: 'kind'
+ collection :rows, as: 'rows', :class => Array do
+ include Representable::JSON::Collection
+ items
+ end
+
+ property :total_matched_rows, as: 'totalMatchedRows'
+ collection :totals, as: 'totals'
+ collection :warnings, as: 'warnings'
+ end
+
+ # @private
+ class Header
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :currency, as: 'currency'
+ property :name, as: 'name'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class ReportingMetadataEntry
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :compatible_dimensions, as: 'compatibleDimensions'
+ collection :compatible_metrics, as: 'compatibleMetrics'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ collection :required_dimensions, as: 'requiredDimensions'
+ collection :required_metrics, as: 'requiredMetrics'
+ collection :supported_products, as: 'supportedProducts'
+ end
+ end
+
+ # @private
+ class SavedReport
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class SavedReports
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdexchangesellerV2_0::SavedReport, decorator: Google::Apis::AdexchangesellerV2_0::SavedReport::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class UrlChannel
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :url_pattern, as: 'urlPattern'
+ end
+ end
+
+ # @private
+ class UrlChannels
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdexchangesellerV2_0::UrlChannel, decorator: Google::Apis::AdexchangesellerV2_0::UrlChannel::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adexchangeseller_v2_0/service.rb b/generated/google/apis/adexchangeseller_v2_0/service.rb
new file mode 100644
index 000000000..9b64189ac
--- /dev/null
+++ b/generated/google/apis/adexchangeseller_v2_0/service.rb
@@ -0,0 +1,682 @@
+# 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 '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 AdexchangesellerV2_0
+ # Ad Exchange Seller API
+ #
+ # Gives Ad Exchange seller users access to their inventory and the ability to
+ # generate reports
+ #
+ # @example
+ # require 'google/apis/adexchangeseller_v2_0'
+ #
+ # Adexchangeseller = Google::Apis::AdexchangesellerV2_0 # Alias the module
+ # service = Adexchangeseller::AdExchangeSellerService.new
+ #
+ # @see https://developers.google.com/ad-exchange/seller-rest/
+ class AdExchangeSellerService < Google::Apis::Core::BaseService
+ # @return [String]
+ # API key. Your API key identifies your project and provides you with API access,
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
+ attr_accessor :key
+
+ # @return [String]
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ attr_accessor :quota_user
+
+ # @return [String]
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ attr_accessor :user_ip
+
+ def initialize
+ super('https://www.googleapis.com/', 'adexchangeseller/v2.0/')
+ end
+
+ # Get information about the selected Ad Exchange account.
+ # @param [String] account_id
+ # Account to get information about. Tip: 'myaccount' is a valid ID.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::Account] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::Account]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account(account_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::Account::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::Account
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all accounts available to this Ad Exchange account.
+ # @param [Fixnum] max_results
+ # The maximum number of accounts to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through accounts. To retrieve the next page,
+ # set this parameter to the value of "nextPageToken" from the previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::Accounts] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::Accounts]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_accounts(max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::Accounts::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::Accounts
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all ad clients in this Ad Exchange account.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [Fixnum] max_results
+ # The maximum number of ad clients to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through ad clients. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::AdClients] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::AdClients]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_ad_clients(account_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::AdClients::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::AdClients
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the alerts for this Ad Exchange account.
+ # @param [String] account_id
+ # Account owning the alerts.
+ # @param [String] locale
+ # The locale to use for translating alert messages. The account locale will be
+ # used if this is not supplied. The AdSense default (English) will be used if
+ # the supplied locale is invalid or unsupported.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::Alerts] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::Alerts]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_alerts(account_id, locale: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/alerts'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::Alerts::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::Alerts
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['locale'] = locale unless locale.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get the specified custom channel from the specified ad client.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [String] ad_client_id
+ # Ad client which contains the custom channel.
+ # @param [String] custom_channel_id
+ # Custom channel to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::CustomChannel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::CustomChannel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account_custom_channel(account_id, ad_client_id, custom_channel_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::CustomChannel::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::CustomChannel
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['customChannelId'] = custom_channel_id unless custom_channel_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all custom channels in the specified ad client for this Ad Exchange
+ # account.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [String] ad_client_id
+ # Ad client for which to list custom channels.
+ # @param [Fixnum] max_results
+ # The maximum number of custom channels to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through custom channels. To retrieve the
+ # next page, set this parameter to the value of "nextPageToken" from the
+ # previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::CustomChannels] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::CustomChannels]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_custom_channels(account_id, ad_client_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/customchannels'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::CustomChannels::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::CustomChannels
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the metadata for the dimensions available to this AdExchange account.
+ # @param [String] account_id
+ # Account with visibility to the dimensions.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::Metadata] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::Metadata]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_metadata_dimensions(account_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/metadata/dimensions'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::Metadata::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::Metadata
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the metadata for the metrics available to this AdExchange account.
+ # @param [String] account_id
+ # Account with visibility to the metrics.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::Metadata] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::Metadata]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_metadata_metrics(account_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/metadata/metrics'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::Metadata::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::Metadata
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get information about the selected Ad Exchange Preferred Deal.
+ # @param [String] account_id
+ # Account owning the deal.
+ # @param [String] deal_id
+ # Preferred deal to get information about.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::PreferredDeal] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::PreferredDeal]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account_preferred_deal(account_id, deal_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/preferreddeals/{dealId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::PreferredDeal::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::PreferredDeal
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['dealId'] = deal_id unless deal_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the preferred deals for this Ad Exchange account.
+ # @param [String] account_id
+ # Account owning the deals.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::PreferredDeals] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::PreferredDeals]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_preferred_deals(account_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/preferreddeals'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::PreferredDeals::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::PreferredDeals
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generate an Ad Exchange report based on the report request sent in the query
+ # parameters. Returns the result as JSON; to retrieve output in CSV format
+ # specify "alt=csv" as a query parameter.
+ # @param [String] account_id
+ # Account which owns the generated report.
+ # @param [Array, String] dimension
+ # Dimensions to base the report on.
+ # @param [String] end_date
+ # End of the date range to report on in "YYYY-MM-DD" format, inclusive.
+ # @param [Array, String] filter
+ # Filters to be run on the report.
+ # @param [String] locale
+ # Optional locale to use for translating report output to a local language.
+ # Defaults to "en_US" if not specified.
+ # @param [Fixnum] max_results
+ # The maximum number of rows of report data to return.
+ # @param [Array, String] metric
+ # Numeric columns to include in the report.
+ # @param [Array, String] sort
+ # The name of a dimension or metric to sort the resulting report on, optionally
+ # prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is
+ # specified, the column is sorted ascending.
+ # @param [String] start_date
+ # Start of the date range to report on in "YYYY-MM-DD" format, inclusive.
+ # @param [Fixnum] start_index
+ # Index of the first row of report data to return.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [IO, String] download_dest
+ # IO stream or filename to receive content download
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::Report] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::Report]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_account_report(account_id, dimension: nil, end_date: nil, filter: nil, locale: nil, max_results: nil, metric: nil, sort: nil, start_date: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, download_dest: nil, options: nil, &block)
+ path = 'accounts/{accountId}/reports'
+ if download_dest.nil?
+ command = make_simple_command(:get, path, options)
+ else
+ command = make_download_command(:get, path, options)
+ command.download_dest = download_dest
+ end
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::Report::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::Report
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['dimension'] = dimension unless dimension.nil?
+ command.query['endDate'] = end_date unless end_date.nil?
+ command.query['filter'] = filter unless filter.nil?
+ command.query['locale'] = locale unless locale.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['metric'] = metric unless metric.nil?
+ command.query['sort'] = sort unless sort.nil?
+ command.query['startDate'] = start_date unless start_date.nil?
+ command.query['startIndex'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generate an Ad Exchange report based on the saved report ID sent in the query
+ # parameters.
+ # @param [String] account_id
+ # Account owning the saved report.
+ # @param [String] saved_report_id
+ # The saved report to retrieve.
+ # @param [String] locale
+ # Optional locale to use for translating report output to a local language.
+ # Defaults to "en_US" if not specified.
+ # @param [Fixnum] max_results
+ # The maximum number of rows of report data to return.
+ # @param [Fixnum] start_index
+ # Index of the first row of report data to return.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::Report] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::Report]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_account_saved_report(account_id, saved_report_id, locale: nil, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/reports/{savedReportId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::Report::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::Report
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['savedReportId'] = saved_report_id unless saved_report_id.nil?
+ command.query['locale'] = locale unless locale.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['startIndex'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all saved reports in this Ad Exchange account.
+ # @param [String] account_id
+ # Account owning the saved reports.
+ # @param [Fixnum] max_results
+ # The maximum number of saved reports to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through saved reports. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::SavedReports] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::SavedReports]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_saved_reports(account_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/reports/saved'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::SavedReports::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::SavedReports
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all URL channels in the specified ad client for this Ad Exchange account.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [String] ad_client_id
+ # Ad client for which to list URL channels.
+ # @param [Fixnum] max_results
+ # The maximum number of URL channels to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through URL channels. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdexchangesellerV2_0::UrlChannels] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdexchangesellerV2_0::UrlChannels]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_url_channels(account_id, ad_client_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/urlchannels'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdexchangesellerV2_0::UrlChannels::Representation
+ command.response_class = Google::Apis::AdexchangesellerV2_0::UrlChannels
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ protected
+
+ def apply_command_defaults(command)
+ command.query['key'] = key unless key.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/admin_directory_v1.rb b/generated/google/apis/admin_directory_v1.rb
new file mode 100644
index 000000000..374940427
--- /dev/null
+++ b/generated/google/apis/admin_directory_v1.rb
@@ -0,0 +1,89 @@
+# 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 'google/apis/admin_directory_v1/service.rb'
+require 'google/apis/admin_directory_v1/classes.rb'
+require 'google/apis/admin_directory_v1/representations.rb'
+
+module Google
+ module Apis
+ # Admin Directory API
+ #
+ # The Admin SDK Directory API lets you view and manage enterprise resources such
+ # as users and groups, administrative notifications, security features, and more.
+ #
+ # @see https://developers.google.com/admin-sdk/directory/
+ module AdminDirectoryV1
+ VERSION = 'DirectoryV1'
+ REVISION = '20150326'
+
+ # View and manage your Chrome OS devices' metadata
+ AUTH_ADMIN_DIRECTORY_DEVICE_CHROMEOS = 'https://www.googleapis.com/auth/admin.directory.device.chromeos'
+
+ # View your Chrome OS devices' metadata
+ AUTH_ADMIN_DIRECTORY_DEVICE_CHROMEOS_READONLY = 'https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly'
+
+ # View and manage your mobile devices' metadata
+ AUTH_ADMIN_DIRECTORY_DEVICE_MOBILE = 'https://www.googleapis.com/auth/admin.directory.device.mobile'
+
+ # Manage your mobile devices by performing administrative tasks
+ AUTH_ADMIN_DIRECTORY_DEVICE_MOBILE_ACTION = 'https://www.googleapis.com/auth/admin.directory.device.mobile.action'
+
+ # View your mobile devices' metadata
+ AUTH_ADMIN_DIRECTORY_DEVICE_MOBILE_READONLY = 'https://www.googleapis.com/auth/admin.directory.device.mobile.readonly'
+
+ # View and manage the provisioning of groups on your domain
+ AUTH_ADMIN_DIRECTORY_GROUP = 'https://www.googleapis.com/auth/admin.directory.group'
+
+ # View and manage group subscriptions on your domain
+ AUTH_ADMIN_DIRECTORY_GROUP_MEMBER = 'https://www.googleapis.com/auth/admin.directory.group.member'
+
+ # View group subscriptions on your domain
+ AUTH_ADMIN_DIRECTORY_GROUP_MEMBER_READONLY = 'https://www.googleapis.com/auth/admin.directory.group.member.readonly'
+
+ # View groups on your domain
+ AUTH_ADMIN_DIRECTORY_GROUP_READONLY = 'https://www.googleapis.com/auth/admin.directory.group.readonly'
+
+ # View and manage notifications received on your domain
+ AUTH_ADMIN_DIRECTORY_NOTIFICATIONS = 'https://www.googleapis.com/auth/admin.directory.notifications'
+
+ # View and manage organization units on your domain
+ AUTH_ADMIN_DIRECTORY_ORGUNIT = 'https://www.googleapis.com/auth/admin.directory.orgunit'
+
+ # View organization units on your domain
+ AUTH_ADMIN_DIRECTORY_ORGUNIT_READONLY = 'https://www.googleapis.com/auth/admin.directory.orgunit.readonly'
+
+ # View and manage the provisioning of users on your domain
+ AUTH_ADMIN_DIRECTORY_USER = 'https://www.googleapis.com/auth/admin.directory.user'
+
+ # View and manage user aliases on your domain
+ AUTH_ADMIN_DIRECTORY_USER_ALIAS = 'https://www.googleapis.com/auth/admin.directory.user.alias'
+
+ # View user aliases on your domain
+ AUTH_ADMIN_DIRECTORY_USER_ALIAS_READONLY = 'https://www.googleapis.com/auth/admin.directory.user.alias.readonly'
+
+ # View users on your domain
+ AUTH_ADMIN_DIRECTORY_USER_READONLY = 'https://www.googleapis.com/auth/admin.directory.user.readonly'
+
+ # Manage data access permissions for users on your domain
+ AUTH_ADMIN_DIRECTORY_USER_SECURITY = 'https://www.googleapis.com/auth/admin.directory.user.security'
+
+ # View and manage the provisioning of user schemas on your domain
+ AUTH_ADMIN_DIRECTORY_USERSCHEMA = 'https://www.googleapis.com/auth/admin.directory.userschema'
+
+ # View user schemas on your domain
+ AUTH_ADMIN_DIRECTORY_USERSCHEMA_READONLY = 'https://www.googleapis.com/auth/admin.directory.userschema.readonly'
+ end
+ end
+end
diff --git a/generated/google/apis/admin_directory_v1/classes.rb b/generated/google/apis/admin_directory_v1/classes.rb
new file mode 100644
index 000000000..6a1530450
--- /dev/null
+++ b/generated/google/apis/admin_directory_v1/classes.rb
@@ -0,0 +1,2389 @@
+# 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 AdminDirectoryV1
+
+ # JSON template for Alias object in Directory API.
+ class Alias
+ include Google::Apis::Core::Hashable
+
+ # A alias email
+ # Corresponds to the JSON property `alias`
+ # @return [String]
+ attr_accessor :alias
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Unique id of the group (Read-only) Unique id of the user (Read-only)
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Group's primary email (Read-only) User's primary email (Read-only)
+ # Corresponds to the JSON property `primaryEmail`
+ # @return [String]
+ attr_accessor :primary_email
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @alias = args[:alias] unless args[:alias].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @primary_email = args[:primary_email] unless args[:primary_email].nil?
+ end
+ end
+
+ # JSON response template to list aliases in Directory API.
+ class Aliases
+ include Google::Apis::Core::Hashable
+
+ # List of alias objects.
+ # Corresponds to the JSON property `aliases`
+ # @return [Array]
+ attr_accessor :aliases
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Kind of resource this is.
+ # 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)
+ @aliases = args[:aliases] unless args[:aliases].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # The template that returns individual ASP (Access Code) data.
+ class Asp
+ include Google::Apis::Core::Hashable
+
+ # The unique ID of the ASP.
+ # Corresponds to the JSON property `codeId`
+ # @return [Fixnum]
+ attr_accessor :code_id
+
+ # The time when the ASP was created. Expressed in Unix time format.
+ # Corresponds to the JSON property `creationTime`
+ # @return [String]
+ attr_accessor :creation_time
+
+ # ETag of the ASP.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The type of the API resource. This is always admin#directory#asp.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The time when the ASP was last used. Expressed in Unix time format.
+ # Corresponds to the JSON property `lastTimeUsed`
+ # @return [String]
+ attr_accessor :last_time_used
+
+ # The name of the application that the user, represented by their userId,
+ # entered when the ASP was created.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The unique ID of the user who issued the ASP.
+ # Corresponds to the JSON property `userKey`
+ # @return [String]
+ attr_accessor :user_key
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @code_id = args[:code_id] unless args[:code_id].nil?
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @last_time_used = args[:last_time_used] unless args[:last_time_used].nil?
+ @name = args[:name] unless args[:name].nil?
+ @user_key = args[:user_key] unless args[:user_key].nil?
+ end
+ end
+
+ #
+ class Asps
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # A list of ASP resources.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # The type of the API resource. This is always admin#directory#aspList.
+ # 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)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # An notification channel used to watch for resource changes.
+ class Channel
+ include Google::Apis::Core::Hashable
+
+ # The address where notifications are delivered for this channel.
+ # Corresponds to the JSON property `address`
+ # @return [String]
+ attr_accessor :address
+
+ # Date and time of notification channel expiration, expressed as a Unix
+ # timestamp, in milliseconds. Optional.
+ # Corresponds to the JSON property `expiration`
+ # @return [String]
+ attr_accessor :expiration
+
+ # A UUID or similar unique string that identifies this channel.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Identifies this as a notification channel used to watch for changes to a
+ # resource. Value: the fixed string "api#channel".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Additional parameters controlling delivery channel behavior. Optional.
+ # Corresponds to the JSON property `params`
+ # @return [Hash]
+ attr_accessor :params
+
+ # A Boolean value to indicate whether payload is wanted. Optional.
+ # Corresponds to the JSON property `payload`
+ # @return [Boolean]
+ attr_accessor :payload
+ alias_method :payload?, :payload
+
+ # An opaque ID that identifies the resource being watched on this channel.
+ # Stable across different API versions.
+ # Corresponds to the JSON property `resourceId`
+ # @return [String]
+ attr_accessor :resource_id
+
+ # A version-specific identifier for the watched resource.
+ # Corresponds to the JSON property `resourceUri`
+ # @return [String]
+ attr_accessor :resource_uri
+
+ # An arbitrary string delivered to the target address with each notification
+ # delivered over this channel. Optional.
+ # Corresponds to the JSON property `token`
+ # @return [String]
+ attr_accessor :token
+
+ # The type of delivery mechanism used for this channel.
+ # 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)
+ @address = args[:address] unless args[:address].nil?
+ @expiration = args[:expiration] unless args[:expiration].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @params = args[:params] unless args[:params].nil?
+ @payload = args[:payload] unless args[:payload].nil?
+ @resource_id = args[:resource_id] unless args[:resource_id].nil?
+ @resource_uri = args[:resource_uri] unless args[:resource_uri].nil?
+ @token = args[:token] unless args[:token].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ # JSON template for Chrome Os Device resource in Directory API.
+ class ChromeOsDevice
+ include Google::Apis::Core::Hashable
+
+ # List of active time ranges (Read-only)
+ # Corresponds to the JSON property `activeTimeRanges`
+ # @return [Array]
+ attr_accessor :active_time_ranges
+
+ # AssetId specified during enrollment or through later annotation
+ # Corresponds to the JSON property `annotatedAssetId`
+ # @return [String]
+ attr_accessor :annotated_asset_id
+
+ # Address or location of the device as noted by the administrator
+ # Corresponds to the JSON property `annotatedLocation`
+ # @return [String]
+ attr_accessor :annotated_location
+
+ # User of the device
+ # Corresponds to the JSON property `annotatedUser`
+ # @return [String]
+ attr_accessor :annotated_user
+
+ # Chromebook boot mode (Read-only)
+ # Corresponds to the JSON property `bootMode`
+ # @return [String]
+ attr_accessor :boot_mode
+
+ # Unique identifier of Chrome OS Device (Read-only)
+ # Corresponds to the JSON property `deviceId`
+ # @return [String]
+ attr_accessor :device_id
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Chromebook Mac Address on ethernet network interface (Read-only)
+ # Corresponds to the JSON property `ethernetMacAddress`
+ # @return [String]
+ attr_accessor :ethernet_mac_address
+
+ # Chromebook firmware version (Read-only)
+ # Corresponds to the JSON property `firmwareVersion`
+ # @return [String]
+ attr_accessor :firmware_version
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Date and time the device was last enrolled (Read-only)
+ # Corresponds to the JSON property `lastEnrollmentTime`
+ # @return [DateTime]
+ attr_accessor :last_enrollment_time
+
+ # Date and time the device was last synchronized with the policy settings in the
+ # Google Apps administrator control panel (Read-only)
+ # Corresponds to the JSON property `lastSync`
+ # @return [DateTime]
+ attr_accessor :last_sync
+
+ # Chromebook Mac Address on wifi network interface (Read-only)
+ # Corresponds to the JSON property `macAddress`
+ # @return [String]
+ attr_accessor :mac_address
+
+ # Mobile Equipment identifier for the 3G mobile card in the Chromebook (Read-
+ # only)
+ # Corresponds to the JSON property `meid`
+ # @return [String]
+ attr_accessor :meid
+
+ # Chromebook Model (Read-only)
+ # Corresponds to the JSON property `model`
+ # @return [String]
+ attr_accessor :model
+
+ # Notes added by the administrator
+ # Corresponds to the JSON property `notes`
+ # @return [String]
+ attr_accessor :notes
+
+ # Chromebook order number (Read-only)
+ # Corresponds to the JSON property `orderNumber`
+ # @return [String]
+ attr_accessor :order_number
+
+ # OrgUnit of the device
+ # Corresponds to the JSON property `orgUnitPath`
+ # @return [String]
+ attr_accessor :org_unit_path
+
+ # Chromebook Os Version (Read-only)
+ # Corresponds to the JSON property `osVersion`
+ # @return [String]
+ attr_accessor :os_version
+
+ # Chromebook platform version (Read-only)
+ # Corresponds to the JSON property `platformVersion`
+ # @return [String]
+ attr_accessor :platform_version
+
+ # List of recent device users, in descending order by last login time (Read-only)
+ # Corresponds to the JSON property `recentUsers`
+ # @return [Array]
+ attr_accessor :recent_users
+
+ # Chromebook serial number (Read-only)
+ # Corresponds to the JSON property `serialNumber`
+ # @return [String]
+ attr_accessor :serial_number
+
+ # status of the device (Read-only)
+ # Corresponds to the JSON property `status`
+ # @return [String]
+ attr_accessor :status
+
+ # Final date the device will be supported (Read-only)
+ # Corresponds to the JSON property `supportEndDate`
+ # @return [DateTime]
+ attr_accessor :support_end_date
+
+ # Will Chromebook auto renew after support end date (Read-only)
+ # Corresponds to the JSON property `willAutoRenew`
+ # @return [Boolean]
+ attr_accessor :will_auto_renew
+ alias_method :will_auto_renew?, :will_auto_renew
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @active_time_ranges = args[:active_time_ranges] unless args[:active_time_ranges].nil?
+ @annotated_asset_id = args[:annotated_asset_id] unless args[:annotated_asset_id].nil?
+ @annotated_location = args[:annotated_location] unless args[:annotated_location].nil?
+ @annotated_user = args[:annotated_user] unless args[:annotated_user].nil?
+ @boot_mode = args[:boot_mode] unless args[:boot_mode].nil?
+ @device_id = args[:device_id] unless args[:device_id].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @ethernet_mac_address = args[:ethernet_mac_address] unless args[:ethernet_mac_address].nil?
+ @firmware_version = args[:firmware_version] unless args[:firmware_version].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @last_enrollment_time = args[:last_enrollment_time] unless args[:last_enrollment_time].nil?
+ @last_sync = args[:last_sync] unless args[:last_sync].nil?
+ @mac_address = args[:mac_address] unless args[:mac_address].nil?
+ @meid = args[:meid] unless args[:meid].nil?
+ @model = args[:model] unless args[:model].nil?
+ @notes = args[:notes] unless args[:notes].nil?
+ @order_number = args[:order_number] unless args[:order_number].nil?
+ @org_unit_path = args[:org_unit_path] unless args[:org_unit_path].nil?
+ @os_version = args[:os_version] unless args[:os_version].nil?
+ @platform_version = args[:platform_version] unless args[:platform_version].nil?
+ @recent_users = args[:recent_users] unless args[:recent_users].nil?
+ @serial_number = args[:serial_number] unless args[:serial_number].nil?
+ @status = args[:status] unless args[:status].nil?
+ @support_end_date = args[:support_end_date] unless args[:support_end_date].nil?
+ @will_auto_renew = args[:will_auto_renew] unless args[:will_auto_renew].nil?
+ end
+
+ #
+ class ActiveTimeRange
+ include Google::Apis::Core::Hashable
+
+ # Duration in milliseconds
+ # Corresponds to the JSON property `activeTime`
+ # @return [Fixnum]
+ attr_accessor :active_time
+
+ # Date of usage
+ # Corresponds to the JSON property `date`
+ # @return [Date]
+ attr_accessor :date
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @active_time = args[:active_time] unless args[:active_time].nil?
+ @date = args[:date] unless args[:date].nil?
+ end
+ end
+
+ #
+ class RecentUser
+ include Google::Apis::Core::Hashable
+
+ # Email address of the user. Present only if the user type is managed
+ # Corresponds to the JSON property `email`
+ # @return [String]
+ attr_accessor :email
+
+ # The type of the user
+ # 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)
+ @email = args[:email] unless args[:email].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+ end
+
+ # JSON response template for List Chrome OS Devices operation in Directory API.
+ class ChromeOsDevices
+ include Google::Apis::Core::Hashable
+
+ # List of Chrome OS Device objects.
+ # Corresponds to the JSON property `chromeosdevices`
+ # @return [Array]
+ attr_accessor :chromeosdevices
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Token used to access next page of this result.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @chromeosdevices = args[:chromeosdevices] unless args[:chromeosdevices].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ # JSON template for Group resource in Directory API.
+ class Group
+ include Google::Apis::Core::Hashable
+
+ # Is the group created by admin (Read-only) *
+ # Corresponds to the JSON property `adminCreated`
+ # @return [Boolean]
+ attr_accessor :admin_created
+ alias_method :admin_created?, :admin_created
+
+ # List of aliases (Read-only)
+ # Corresponds to the JSON property `aliases`
+ # @return [Array]
+ attr_accessor :aliases
+
+ # Description of the group
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # Group direct members count
+ # Corresponds to the JSON property `directMembersCount`
+ # @return [String]
+ attr_accessor :direct_members_count
+
+ # Email of Group
+ # Corresponds to the JSON property `email`
+ # @return [String]
+ attr_accessor :email
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Unique identifier of Group (Read-only)
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Group name
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # List of non editable aliases (Read-only)
+ # Corresponds to the JSON property `nonEditableAliases`
+ # @return [Array]
+ attr_accessor :non_editable_aliases
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @admin_created = args[:admin_created] unless args[:admin_created].nil?
+ @aliases = args[:aliases] unless args[:aliases].nil?
+ @description = args[:description] unless args[:description].nil?
+ @direct_members_count = args[:direct_members_count] unless args[:direct_members_count].nil?
+ @email = args[:email] unless args[:email].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @non_editable_aliases = args[:non_editable_aliases] unless args[:non_editable_aliases].nil?
+ end
+ end
+
+ # JSON response template for List Groups operation in Directory API.
+ class Groups
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # List of group objects.
+ # Corresponds to the JSON property `groups`
+ # @return [Array]
+ attr_accessor :groups
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Token used to access next page of this result.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @groups = args[:groups] unless args[:groups].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ # JSON template for Member resource in Directory API.
+ class Member
+ include Google::Apis::Core::Hashable
+
+ # Email of member (Read-only)
+ # Corresponds to the JSON property `email`
+ # @return [String]
+ attr_accessor :email
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Unique identifier of customer member (Read-only) Unique identifier of group (
+ # Read-only) Unique identifier of member (Read-only)
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Role of member
+ # Corresponds to the JSON property `role`
+ # @return [String]
+ attr_accessor :role
+
+ # Type of member (Immutable)
+ # 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)
+ @email = args[:email] unless args[:email].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @role = args[:role] unless args[:role].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ # JSON response template for List Members operation in Directory API.
+ class Members
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # List of member objects.
+ # Corresponds to the JSON property `members`
+ # @return [Array]
+ attr_accessor :members
+
+ # Token used to access next page of this result.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @members = args[:members] unless args[:members].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ # JSON template for Mobile Device resource in Directory API.
+ class MobileDevice
+ include Google::Apis::Core::Hashable
+
+ # List of applications installed on Mobile Device
+ # Corresponds to the JSON property `applications`
+ # @return [Array]
+ attr_accessor :applications
+
+ # Mobile Device Baseband version (Read-only)
+ # Corresponds to the JSON property `basebandVersion`
+ # @return [String]
+ attr_accessor :baseband_version
+
+ # Mobile Device Build number (Read-only)
+ # Corresponds to the JSON property `buildNumber`
+ # @return [String]
+ attr_accessor :build_number
+
+ # The default locale used on the Mobile Device (Read-only)
+ # Corresponds to the JSON property `defaultLanguage`
+ # @return [String]
+ attr_accessor :default_language
+
+ # Mobile Device compromised status (Read-only)
+ # Corresponds to the JSON property `deviceCompromisedStatus`
+ # @return [String]
+ attr_accessor :device_compromised_status
+
+ # Mobile Device serial number (Read-only)
+ # Corresponds to the JSON property `deviceId`
+ # @return [String]
+ attr_accessor :device_id
+
+ # List of owner user's email addresses (Read-only)
+ # Corresponds to the JSON property `email`
+ # @return [Array]
+ attr_accessor :email
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Date and time the device was first synchronized with the policy settings in
+ # the Google Apps administrator control panel (Read-only)
+ # Corresponds to the JSON property `firstSync`
+ # @return [DateTime]
+ attr_accessor :first_sync
+
+ # Mobile Device Hardware Id (Read-only)
+ # Corresponds to the JSON property `hardwareId`
+ # @return [String]
+ attr_accessor :hardware_id
+
+ # Mobile Device IMEI number (Read-only)
+ # Corresponds to the JSON property `imei`
+ # @return [String]
+ attr_accessor :imei
+
+ # Mobile Device Kernel version (Read-only)
+ # Corresponds to the JSON property `kernelVersion`
+ # @return [String]
+ attr_accessor :kernel_version
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Date and time the device was last synchronized with the policy settings in the
+ # Google Apps administrator control panel (Read-only)
+ # Corresponds to the JSON property `lastSync`
+ # @return [DateTime]
+ attr_accessor :last_sync
+
+ # Boolean indicating if this account is on owner/primary profile or not (Read-
+ # only)
+ # Corresponds to the JSON property `managedAccountIsOnOwnerProfile`
+ # @return [Boolean]
+ attr_accessor :managed_account_is_on_owner_profile
+ alias_method :managed_account_is_on_owner_profile?, :managed_account_is_on_owner_profile
+
+ # Mobile Device MEID number (Read-only)
+ # Corresponds to the JSON property `meid`
+ # @return [String]
+ attr_accessor :meid
+
+ # Name of the model of the device
+ # Corresponds to the JSON property `model`
+ # @return [String]
+ attr_accessor :model
+
+ # List of owner user's names (Read-only)
+ # Corresponds to the JSON property `name`
+ # @return [Array]
+ attr_accessor :name
+
+ # Mobile Device mobile or network operator (if available) (Read-only)
+ # Corresponds to the JSON property `networkOperator`
+ # @return [String]
+ attr_accessor :network_operator
+
+ # Name of the mobile operating system
+ # Corresponds to the JSON property `os`
+ # @return [String]
+ attr_accessor :os
+
+ # Unique identifier of Mobile Device (Read-only)
+ # Corresponds to the JSON property `resourceId`
+ # @return [String]
+ attr_accessor :resource_id
+
+ # Mobile Device SSN or Serial Number (Read-only)
+ # Corresponds to the JSON property `serialNumber`
+ # @return [String]
+ attr_accessor :serial_number
+
+ # Status of the device (Read-only)
+ # Corresponds to the JSON property `status`
+ # @return [String]
+ attr_accessor :status
+
+ # The type of device (Read-only)
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # Mobile Device user agent
+ # Corresponds to the JSON property `userAgent`
+ # @return [String]
+ attr_accessor :user_agent
+
+ # Mobile Device WiFi MAC address (Read-only)
+ # Corresponds to the JSON property `wifiMacAddress`
+ # @return [String]
+ attr_accessor :wifi_mac_address
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @applications = args[:applications] unless args[:applications].nil?
+ @baseband_version = args[:baseband_version] unless args[:baseband_version].nil?
+ @build_number = args[:build_number] unless args[:build_number].nil?
+ @default_language = args[:default_language] unless args[:default_language].nil?
+ @device_compromised_status = args[:device_compromised_status] unless args[:device_compromised_status].nil?
+ @device_id = args[:device_id] unless args[:device_id].nil?
+ @email = args[:email] unless args[:email].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @first_sync = args[:first_sync] unless args[:first_sync].nil?
+ @hardware_id = args[:hardware_id] unless args[:hardware_id].nil?
+ @imei = args[:imei] unless args[:imei].nil?
+ @kernel_version = args[:kernel_version] unless args[:kernel_version].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @last_sync = args[:last_sync] unless args[:last_sync].nil?
+ @managed_account_is_on_owner_profile = args[:managed_account_is_on_owner_profile] unless args[:managed_account_is_on_owner_profile].nil?
+ @meid = args[:meid] unless args[:meid].nil?
+ @model = args[:model] unless args[:model].nil?
+ @name = args[:name] unless args[:name].nil?
+ @network_operator = args[:network_operator] unless args[:network_operator].nil?
+ @os = args[:os] unless args[:os].nil?
+ @resource_id = args[:resource_id] unless args[:resource_id].nil?
+ @serial_number = args[:serial_number] unless args[:serial_number].nil?
+ @status = args[:status] unless args[:status].nil?
+ @type = args[:type] unless args[:type].nil?
+ @user_agent = args[:user_agent] unless args[:user_agent].nil?
+ @wifi_mac_address = args[:wifi_mac_address] unless args[:wifi_mac_address].nil?
+ end
+
+ #
+ class Application
+ include Google::Apis::Core::Hashable
+
+ # Display name of application
+ # Corresponds to the JSON property `displayName`
+ # @return [String]
+ attr_accessor :display_name
+
+ # Package name of application
+ # Corresponds to the JSON property `packageName`
+ # @return [String]
+ attr_accessor :package_name
+
+ # List of Permissions for application
+ # Corresponds to the JSON property `permission`
+ # @return [Array]
+ attr_accessor :permission
+
+ # Version code of application
+ # Corresponds to the JSON property `versionCode`
+ # @return [Fixnum]
+ attr_accessor :version_code
+
+ # Version name of application
+ # Corresponds to the JSON property `versionName`
+ # @return [String]
+ attr_accessor :version_name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @display_name = args[:display_name] unless args[:display_name].nil?
+ @package_name = args[:package_name] unless args[:package_name].nil?
+ @permission = args[:permission] unless args[:permission].nil?
+ @version_code = args[:version_code] unless args[:version_code].nil?
+ @version_name = args[:version_name] unless args[:version_name].nil?
+ end
+ end
+ end
+
+ # JSON request template for firing commands on Mobile Device in Directory
+ # Devices API.
+ class MobileDeviceAction
+ include Google::Apis::Core::Hashable
+
+ # Action to be taken on the Mobile Device
+ # Corresponds to the JSON property `action`
+ # @return [String]
+ attr_accessor :action
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @action = args[:action] unless args[:action].nil?
+ end
+ end
+
+ # JSON response template for List Mobile Devices operation in Directory API.
+ class MobileDevices
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # List of Mobile Device objects.
+ # Corresponds to the JSON property `mobiledevices`
+ # @return [Array]
+ attr_accessor :mobiledevices
+
+ # Token used to access next page of this result.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @mobiledevices = args[:mobiledevices] unless args[:mobiledevices].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ # Template for a notification resource.
+ class Notification
+ include Google::Apis::Core::Hashable
+
+ # Body of the notification (Read-only)
+ # Corresponds to the JSON property `body`
+ # @return [String]
+ attr_accessor :body
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Address from which the notification is received (Read-only)
+ # Corresponds to the JSON property `fromAddress`
+ # @return [String]
+ attr_accessor :from_address
+
+ # Boolean indicating whether the notification is unread or not.
+ # Corresponds to the JSON property `isUnread`
+ # @return [Boolean]
+ attr_accessor :is_unread
+ alias_method :is_unread?, :is_unread
+
+ # The type of the resource.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ #
+ # Corresponds to the JSON property `notificationId`
+ # @return [String]
+ attr_accessor :notification_id
+
+ # Time at which notification was sent (Read-only)
+ # Corresponds to the JSON property `sendTime`
+ # @return [DateTime]
+ attr_accessor :send_time
+
+ # Subject of the notification (Read-only)
+ # Corresponds to the JSON property `subject`
+ # @return [String]
+ attr_accessor :subject
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @body = args[:body] unless args[:body].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @from_address = args[:from_address] unless args[:from_address].nil?
+ @is_unread = args[:is_unread] unless args[:is_unread].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @notification_id = args[:notification_id] unless args[:notification_id].nil?
+ @send_time = args[:send_time] unless args[:send_time].nil?
+ @subject = args[:subject] unless args[:subject].nil?
+ end
+ end
+
+ # Template for notifications list response.
+ class Notifications
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # List of notifications in this page.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # The type of the resource.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Token for fetching the next page of notifications.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ # Number of unread notification for the domain.
+ # Corresponds to the JSON property `unreadNotificationsCount`
+ # @return [Fixnum]
+ attr_accessor :unread_notifications_count
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ @unread_notifications_count = args[:unread_notifications_count] unless args[:unread_notifications_count].nil?
+ end
+ end
+
+ # JSON template for Org Unit resource in Directory API.
+ class OrgUnit
+ include Google::Apis::Core::Hashable
+
+ # Should block inheritance
+ # Corresponds to the JSON property `blockInheritance`
+ # @return [Boolean]
+ attr_accessor :block_inheritance
+ alias_method :block_inheritance?, :block_inheritance
+
+ # Description of OrgUnit
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Name of OrgUnit
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # Id of OrgUnit
+ # Corresponds to the JSON property `orgUnitId`
+ # @return [String]
+ attr_accessor :org_unit_id
+
+ # Path of OrgUnit
+ # Corresponds to the JSON property `orgUnitPath`
+ # @return [String]
+ attr_accessor :org_unit_path
+
+ # Id of parent OrgUnit
+ # Corresponds to the JSON property `parentOrgUnitId`
+ # @return [String]
+ attr_accessor :parent_org_unit_id
+
+ # Path of parent OrgUnit
+ # Corresponds to the JSON property `parentOrgUnitPath`
+ # @return [String]
+ attr_accessor :parent_org_unit_path
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @block_inheritance = args[:block_inheritance] unless args[:block_inheritance].nil?
+ @description = args[:description] unless args[:description].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @org_unit_id = args[:org_unit_id] unless args[:org_unit_id].nil?
+ @org_unit_path = args[:org_unit_path] unless args[:org_unit_path].nil?
+ @parent_org_unit_id = args[:parent_org_unit_id] unless args[:parent_org_unit_id].nil?
+ @parent_org_unit_path = args[:parent_org_unit_path] unless args[:parent_org_unit_path].nil?
+ end
+ end
+
+ # JSON response template for List Organization Units operation in Directory API.
+ class OrgUnits
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # List of user objects.
+ # Corresponds to the JSON property `organizationUnits`
+ # @return [Array]
+ attr_accessor :organization_units
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @organization_units = args[:organization_units] unless args[:organization_units].nil?
+ end
+ end
+
+ # JSON template for Schema resource in Directory API.
+ class Schema
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Fields of Schema
+ # Corresponds to the JSON property `fields`
+ # @return [Array]
+ attr_accessor :fields
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Unique identifier of Schema (Read-only)
+ # Corresponds to the JSON property `schemaId`
+ # @return [String]
+ attr_accessor :schema_id
+
+ # Schema name
+ # Corresponds to the JSON property `schemaName`
+ # @return [String]
+ attr_accessor :schema_name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @fields = args[:fields] unless args[:fields].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @schema_id = args[:schema_id] unless args[:schema_id].nil?
+ @schema_name = args[:schema_name] unless args[:schema_name].nil?
+ end
+ end
+
+ # JSON template for FieldSpec resource for Schemas in Directory API.
+ class SchemaFieldSpec
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Unique identifier of Field (Read-only)
+ # Corresponds to the JSON property `fieldId`
+ # @return [String]
+ attr_accessor :field_id
+
+ # Name of the field.
+ # Corresponds to the JSON property `fieldName`
+ # @return [String]
+ attr_accessor :field_name
+
+ # Type of the field.
+ # Corresponds to the JSON property `fieldType`
+ # @return [String]
+ attr_accessor :field_type
+
+ # Boolean specifying whether the field is indexed or not.
+ # Corresponds to the JSON property `indexed`
+ # @return [Boolean]
+ attr_accessor :indexed
+ alias_method :indexed?, :indexed
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Boolean specifying whether this is a multi-valued field or not.
+ # Corresponds to the JSON property `multiValued`
+ # @return [Boolean]
+ attr_accessor :multi_valued
+ alias_method :multi_valued?, :multi_valued
+
+ # Indexing spec for a numeric field. By default, only exact match queries will
+ # be supported for numeric fields. Setting the numericIndexingSpec allows range
+ # queries to be supported.
+ # Corresponds to the JSON property `numericIndexingSpec`
+ # @return [Google::Apis::AdminDirectoryV1::SchemaFieldSpec::NumericIndexingSpec]
+ attr_accessor :numeric_indexing_spec
+
+ # Read ACLs on the field specifying who can view values of this field. Valid
+ # values are "ALL_DOMAIN_USERS" and "ADMINS_AND_SELF".
+ # Corresponds to the JSON property `readAccessType`
+ # @return [String]
+ attr_accessor :read_access_type
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @field_id = args[:field_id] unless args[:field_id].nil?
+ @field_name = args[:field_name] unless args[:field_name].nil?
+ @field_type = args[:field_type] unless args[:field_type].nil?
+ @indexed = args[:indexed] unless args[:indexed].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @multi_valued = args[:multi_valued] unless args[:multi_valued].nil?
+ @numeric_indexing_spec = args[:numeric_indexing_spec] unless args[:numeric_indexing_spec].nil?
+ @read_access_type = args[:read_access_type] unless args[:read_access_type].nil?
+ end
+
+ # Indexing spec for a numeric field. By default, only exact match queries will
+ # be supported for numeric fields. Setting the numericIndexingSpec allows range
+ # queries to be supported.
+ class NumericIndexingSpec
+ include Google::Apis::Core::Hashable
+
+ # Maximum value of this field. This is meant to be indicative rather than
+ # enforced. Values outside this range will still be indexed, but search may not
+ # be as performant.
+ # Corresponds to the JSON property `maxValue`
+ # @return [Float]
+ attr_accessor :max_value
+
+ # Minimum value of this field. This is meant to be indicative rather than
+ # enforced. Values outside this range will still be indexed, but search may not
+ # be as performant.
+ # Corresponds to the JSON property `minValue`
+ # @return [Float]
+ attr_accessor :min_value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @max_value = args[:max_value] unless args[:max_value].nil?
+ @min_value = args[:min_value] unless args[:min_value].nil?
+ end
+ end
+ end
+
+ # JSON response template for List Schema operation in Directory API.
+ class Schemas
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # List of UserSchema objects.
+ # Corresponds to the JSON property `schemas`
+ # @return [Array]
+ attr_accessor :schemas
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @schemas = args[:schemas] unless args[:schemas].nil?
+ end
+ end
+
+ # JSON template for token resource in Directory API.
+ class Token
+ include Google::Apis::Core::Hashable
+
+ # Whether the application is registered with Google. The value is true if the
+ # application has an anonymous Client ID.
+ # Corresponds to the JSON property `anonymous`
+ # @return [Boolean]
+ attr_accessor :anonymous
+ alias_method :anonymous?, :anonymous
+
+ # The Client ID of the application the token is issued to.
+ # Corresponds to the JSON property `clientId`
+ # @return [String]
+ attr_accessor :client_id
+
+ # The displayable name of the application the token is issued to.
+ # Corresponds to the JSON property `displayText`
+ # @return [String]
+ attr_accessor :display_text
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The type of the API resource. This is always admin#directory#token.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Whether the token is issued to an installed application. The value is true if
+ # the application is installed to a desktop or mobile device.
+ # Corresponds to the JSON property `nativeApp`
+ # @return [Boolean]
+ attr_accessor :native_app
+ alias_method :native_app?, :native_app
+
+ # A list of authorization scopes the application is granted.
+ # Corresponds to the JSON property `scopes`
+ # @return [Array]
+ attr_accessor :scopes
+
+ # The unique ID of the user that issued the token.
+ # Corresponds to the JSON property `userKey`
+ # @return [String]
+ attr_accessor :user_key
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @anonymous = args[:anonymous] unless args[:anonymous].nil?
+ @client_id = args[:client_id] unless args[:client_id].nil?
+ @display_text = args[:display_text] unless args[:display_text].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @native_app = args[:native_app] unless args[:native_app].nil?
+ @scopes = args[:scopes] unless args[:scopes].nil?
+ @user_key = args[:user_key] unless args[:user_key].nil?
+ end
+ end
+
+ # JSON response template for List tokens operation in Directory API.
+ class Tokens
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # A list of Token resources.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # The type of the API resource. This is always admin#directory#tokenList.
+ # 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)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # JSON template for User object in Directory API.
+ class User
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `addresses`
+ # @return [Object]
+ attr_accessor :addresses
+
+ # Indicates if user has agreed to terms (Read-only)
+ # Corresponds to the JSON property `agreedToTerms`
+ # @return [Boolean]
+ attr_accessor :agreed_to_terms
+ alias_method :agreed_to_terms?, :agreed_to_terms
+
+ # List of aliases (Read-only)
+ # Corresponds to the JSON property `aliases`
+ # @return [Array]
+ attr_accessor :aliases
+
+ # Boolean indicating if the user should change password in next login
+ # Corresponds to the JSON property `changePasswordAtNextLogin`
+ # @return [Boolean]
+ attr_accessor :change_password_at_next_login
+ alias_method :change_password_at_next_login?, :change_password_at_next_login
+
+ # User's Google account creation time. (Read-only)
+ # Corresponds to the JSON property `creationTime`
+ # @return [DateTime]
+ attr_accessor :creation_time
+
+ # Custom fields of the user.
+ # Corresponds to the JSON property `customSchemas`
+ # @return [Hash>]
+ attr_accessor :custom_schemas
+
+ # CustomerId of User (Read-only)
+ # Corresponds to the JSON property `customerId`
+ # @return [String]
+ attr_accessor :customer_id
+
+ #
+ # Corresponds to the JSON property `deletionTime`
+ # @return [DateTime]
+ attr_accessor :deletion_time
+
+ #
+ # Corresponds to the JSON property `emails`
+ # @return [Object]
+ attr_accessor :emails
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ #
+ # Corresponds to the JSON property `externalIds`
+ # @return [Object]
+ attr_accessor :external_ids
+
+ # Hash function name for password. Supported are MD5, SHA-1 and crypt
+ # Corresponds to the JSON property `hashFunction`
+ # @return [String]
+ attr_accessor :hash_function
+
+ # Unique identifier of User (Read-only)
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ #
+ # Corresponds to the JSON property `ims`
+ # @return [Object]
+ attr_accessor :ims
+
+ # Boolean indicating if user is included in Global Address List
+ # Corresponds to the JSON property `includeInGlobalAddressList`
+ # @return [Boolean]
+ attr_accessor :include_in_global_address_list
+ alias_method :include_in_global_address_list?, :include_in_global_address_list
+
+ # Boolean indicating if ip is whitelisted
+ # Corresponds to the JSON property `ipWhitelisted`
+ # @return [Boolean]
+ attr_accessor :ip_whitelisted
+ alias_method :ip_whitelisted?, :ip_whitelisted
+
+ # Boolean indicating if the user is admin (Read-only)
+ # Corresponds to the JSON property `isAdmin`
+ # @return [Boolean]
+ attr_accessor :is_admin
+ alias_method :is_admin?, :is_admin
+
+ # Boolean indicating if the user is delegated admin (Read-only)
+ # Corresponds to the JSON property `isDelegatedAdmin`
+ # @return [Boolean]
+ attr_accessor :is_delegated_admin
+ alias_method :is_delegated_admin?, :is_delegated_admin
+
+ # Is mailbox setup (Read-only)
+ # Corresponds to the JSON property `isMailboxSetup`
+ # @return [Boolean]
+ attr_accessor :is_mailbox_setup
+ alias_method :is_mailbox_setup?, :is_mailbox_setup
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # User's last login time. (Read-only)
+ # Corresponds to the JSON property `lastLoginTime`
+ # @return [DateTime]
+ attr_accessor :last_login_time
+
+ # JSON template for name of a user in Directory API.
+ # Corresponds to the JSON property `name`
+ # @return [Google::Apis::AdminDirectoryV1::UserName]
+ attr_accessor :name
+
+ # List of non editable aliases (Read-only)
+ # Corresponds to the JSON property `nonEditableAliases`
+ # @return [Array]
+ attr_accessor :non_editable_aliases
+
+ #
+ # Corresponds to the JSON property `notes`
+ # @return [Object]
+ attr_accessor :notes
+
+ # OrgUnit of User
+ # Corresponds to the JSON property `orgUnitPath`
+ # @return [String]
+ attr_accessor :org_unit_path
+
+ #
+ # Corresponds to the JSON property `organizations`
+ # @return [Object]
+ attr_accessor :organizations
+
+ # User's password
+ # Corresponds to the JSON property `password`
+ # @return [String]
+ attr_accessor :password
+
+ #
+ # Corresponds to the JSON property `phones`
+ # @return [Object]
+ attr_accessor :phones
+
+ # username of User
+ # Corresponds to the JSON property `primaryEmail`
+ # @return [String]
+ attr_accessor :primary_email
+
+ #
+ # Corresponds to the JSON property `relations`
+ # @return [Object]
+ attr_accessor :relations
+
+ # Indicates if user is suspended
+ # Corresponds to the JSON property `suspended`
+ # @return [Boolean]
+ attr_accessor :suspended
+ alias_method :suspended?, :suspended
+
+ # Suspension reason if user is suspended (Read-only)
+ # Corresponds to the JSON property `suspensionReason`
+ # @return [String]
+ attr_accessor :suspension_reason
+
+ # ETag of the user's photo (Read-only)
+ # Corresponds to the JSON property `thumbnailPhotoEtag`
+ # @return [String]
+ attr_accessor :thumbnail_photo_etag
+
+ # Photo Url of the user (Read-only)
+ # Corresponds to the JSON property `thumbnailPhotoUrl`
+ # @return [String]
+ attr_accessor :thumbnail_photo_url
+
+ #
+ # Corresponds to the JSON property `websites`
+ # @return [Object]
+ attr_accessor :websites
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @addresses = args[:addresses] unless args[:addresses].nil?
+ @agreed_to_terms = args[:agreed_to_terms] unless args[:agreed_to_terms].nil?
+ @aliases = args[:aliases] unless args[:aliases].nil?
+ @change_password_at_next_login = args[:change_password_at_next_login] unless args[:change_password_at_next_login].nil?
+ @creation_time = args[:creation_time] unless args[:creation_time].nil?
+ @custom_schemas = args[:custom_schemas] unless args[:custom_schemas].nil?
+ @customer_id = args[:customer_id] unless args[:customer_id].nil?
+ @deletion_time = args[:deletion_time] unless args[:deletion_time].nil?
+ @emails = args[:emails] unless args[:emails].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @external_ids = args[:external_ids] unless args[:external_ids].nil?
+ @hash_function = args[:hash_function] unless args[:hash_function].nil?
+ @id = args[:id] unless args[:id].nil?
+ @ims = args[:ims] unless args[:ims].nil?
+ @include_in_global_address_list = args[:include_in_global_address_list] unless args[:include_in_global_address_list].nil?
+ @ip_whitelisted = args[:ip_whitelisted] unless args[:ip_whitelisted].nil?
+ @is_admin = args[:is_admin] unless args[:is_admin].nil?
+ @is_delegated_admin = args[:is_delegated_admin] unless args[:is_delegated_admin].nil?
+ @is_mailbox_setup = args[:is_mailbox_setup] unless args[:is_mailbox_setup].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @last_login_time = args[:last_login_time] unless args[:last_login_time].nil?
+ @name = args[:name] unless args[:name].nil?
+ @non_editable_aliases = args[:non_editable_aliases] unless args[:non_editable_aliases].nil?
+ @notes = args[:notes] unless args[:notes].nil?
+ @org_unit_path = args[:org_unit_path] unless args[:org_unit_path].nil?
+ @organizations = args[:organizations] unless args[:organizations].nil?
+ @password = args[:password] unless args[:password].nil?
+ @phones = args[:phones] unless args[:phones].nil?
+ @primary_email = args[:primary_email] unless args[:primary_email].nil?
+ @relations = args[:relations] unless args[:relations].nil?
+ @suspended = args[:suspended] unless args[:suspended].nil?
+ @suspension_reason = args[:suspension_reason] unless args[:suspension_reason].nil?
+ @thumbnail_photo_etag = args[:thumbnail_photo_etag] unless args[:thumbnail_photo_etag].nil?
+ @thumbnail_photo_url = args[:thumbnail_photo_url] unless args[:thumbnail_photo_url].nil?
+ @websites = args[:websites] unless args[:websites].nil?
+ end
+ end
+
+ # JSON template for About (notes) of a user in Directory API.
+ class UserAbout
+ include Google::Apis::Core::Hashable
+
+ # About entry can have a type which indicates the content type. It can either be
+ # plain or html. By default, notes contents are assumed to contain plain text.
+ # Corresponds to the JSON property `contentType`
+ # @return [String]
+ attr_accessor :content_type
+
+ # Actual value of notes.
+ # Corresponds to the JSON property `value`
+ # @return [String]
+ attr_accessor :value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @content_type = args[:content_type] unless args[:content_type].nil?
+ @value = args[:value] unless args[:value].nil?
+ end
+ end
+
+ # JSON template for address.
+ class UserAddress
+ include Google::Apis::Core::Hashable
+
+ # Country.
+ # Corresponds to the JSON property `country`
+ # @return [String]
+ attr_accessor :country
+
+ # Country code.
+ # Corresponds to the JSON property `countryCode`
+ # @return [String]
+ attr_accessor :country_code
+
+ # Custom type.
+ # Corresponds to the JSON property `customType`
+ # @return [String]
+ attr_accessor :custom_type
+
+ # Extended Address.
+ # Corresponds to the JSON property `extendedAddress`
+ # @return [String]
+ attr_accessor :extended_address
+
+ # Formatted address.
+ # Corresponds to the JSON property `formatted`
+ # @return [String]
+ attr_accessor :formatted
+
+ # Locality.
+ # Corresponds to the JSON property `locality`
+ # @return [String]
+ attr_accessor :locality
+
+ # Other parts of address.
+ # Corresponds to the JSON property `poBox`
+ # @return [String]
+ attr_accessor :po_box
+
+ # Postal code.
+ # Corresponds to the JSON property `postalCode`
+ # @return [String]
+ attr_accessor :postal_code
+
+ # If this is user's primary address. Only one entry could be marked as primary.
+ # Corresponds to the JSON property `primary`
+ # @return [Boolean]
+ attr_accessor :primary
+ alias_method :primary?, :primary
+
+ # Region.
+ # Corresponds to the JSON property `region`
+ # @return [String]
+ attr_accessor :region
+
+ # User supplied address was structured. Structured addresses are NOT supported
+ # at this time. You might be able to write structured addresses, but any values
+ # will eventually be clobbered.
+ # Corresponds to the JSON property `sourceIsStructured`
+ # @return [Boolean]
+ attr_accessor :source_is_structured
+ alias_method :source_is_structured?, :source_is_structured
+
+ # Street.
+ # Corresponds to the JSON property `streetAddress`
+ # @return [String]
+ attr_accessor :street_address
+
+ # Each entry can have a type which indicates standard values of that entry. For
+ # example address could be of home, work etc. In addition to the standard type,
+ # an entry can have a custom type and can take any value. Such type should have
+ # the CUSTOM value as type and also have a customType 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)
+ @country = args[:country] unless args[:country].nil?
+ @country_code = args[:country_code] unless args[:country_code].nil?
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
+ @extended_address = args[:extended_address] unless args[:extended_address].nil?
+ @formatted = args[:formatted] unless args[:formatted].nil?
+ @locality = args[:locality] unless args[:locality].nil?
+ @po_box = args[:po_box] unless args[:po_box].nil?
+ @postal_code = args[:postal_code] unless args[:postal_code].nil?
+ @primary = args[:primary] unless args[:primary].nil?
+ @region = args[:region] unless args[:region].nil?
+ @source_is_structured = args[:source_is_structured] unless args[:source_is_structured].nil?
+ @street_address = args[:street_address] unless args[:street_address].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ # JSON template for an email.
+ class UserEmail
+ include Google::Apis::Core::Hashable
+
+ # Email id of the user.
+ # Corresponds to the JSON property `address`
+ # @return [String]
+ attr_accessor :address
+
+ # Custom Type.
+ # Corresponds to the JSON property `customType`
+ # @return [String]
+ attr_accessor :custom_type
+
+ # If this is user's primary email. Only one entry could be marked as primary.
+ # Corresponds to the JSON property `primary`
+ # @return [Boolean]
+ attr_accessor :primary
+ alias_method :primary?, :primary
+
+ # Each entry can have a type which indicates standard types of that entry. For
+ # example email could be of home, work etc. In addition to the standard type, an
+ # entry can have a custom type and can take any value Such types should have the
+ # CUSTOM value as type and also have a customType 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)
+ @address = args[:address] unless args[:address].nil?
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
+ @primary = args[:primary] unless args[:primary].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ # JSON template for an externalId entry.
+ class UserExternalId
+ include Google::Apis::Core::Hashable
+
+ # Custom type.
+ # Corresponds to the JSON property `customType`
+ # @return [String]
+ attr_accessor :custom_type
+
+ # The type of the Id.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # The value of the id.
+ # Corresponds to the JSON property `value`
+ # @return [String]
+ attr_accessor :value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
+ @type = args[:type] unless args[:type].nil?
+ @value = args[:value] unless args[:value].nil?
+ end
+ end
+
+ # JSON template for instant messenger of an user.
+ class UserIm
+ include Google::Apis::Core::Hashable
+
+ # Custom protocol.
+ # Corresponds to the JSON property `customProtocol`
+ # @return [String]
+ attr_accessor :custom_protocol
+
+ # Custom type.
+ # Corresponds to the JSON property `customType`
+ # @return [String]
+ attr_accessor :custom_type
+
+ # Instant messenger id.
+ # Corresponds to the JSON property `im`
+ # @return [String]
+ attr_accessor :im
+
+ # If this is user's primary im. Only one entry could be marked as primary.
+ # Corresponds to the JSON property `primary`
+ # @return [Boolean]
+ attr_accessor :primary
+ alias_method :primary?, :primary
+
+ # Protocol used in the instant messenger. It should be one of the values from
+ # ImProtocolTypes map. Similar to type, it can take a CUSTOM value and specify
+ # the custom name in customProtocol field.
+ # Corresponds to the JSON property `protocol`
+ # @return [String]
+ attr_accessor :protocol
+
+ # Each entry can have a type which indicates standard types of that entry. For
+ # example instant messengers could be of home, work etc. In addition to the
+ # standard type, an entry can have a custom type and can take any value. Such
+ # types should have the CUSTOM value as type and also have a customType 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)
+ @custom_protocol = args[:custom_protocol] unless args[:custom_protocol].nil?
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
+ @im = args[:im] unless args[:im].nil?
+ @primary = args[:primary] unless args[:primary].nil?
+ @protocol = args[:protocol] unless args[:protocol].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ # JSON request template for setting/revoking admin status of a user in Directory
+ # API.
+ class UserMakeAdmin
+ include Google::Apis::Core::Hashable
+
+ # Boolean indicating new admin status of the user
+ # Corresponds to the JSON property `status`
+ # @return [Boolean]
+ attr_accessor :status
+ alias_method :status?, :status
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @status = args[:status] unless args[:status].nil?
+ end
+ end
+
+ # JSON template for name of a user in Directory API.
+ class UserName
+ include Google::Apis::Core::Hashable
+
+ # Last Name
+ # Corresponds to the JSON property `familyName`
+ # @return [String]
+ attr_accessor :family_name
+
+ # Full Name
+ # Corresponds to the JSON property `fullName`
+ # @return [String]
+ attr_accessor :full_name
+
+ # First Name
+ # Corresponds to the JSON property `givenName`
+ # @return [String]
+ attr_accessor :given_name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @family_name = args[:family_name] unless args[:family_name].nil?
+ @full_name = args[:full_name] unless args[:full_name].nil?
+ @given_name = args[:given_name] unless args[:given_name].nil?
+ end
+ end
+
+ # JSON template for an organization entry.
+ class UserOrganization
+ include Google::Apis::Core::Hashable
+
+ # The cost center of the users department.
+ # Corresponds to the JSON property `costCenter`
+ # @return [String]
+ attr_accessor :cost_center
+
+ # Custom type.
+ # Corresponds to the JSON property `customType`
+ # @return [String]
+ attr_accessor :custom_type
+
+ # Department within the organization.
+ # Corresponds to the JSON property `department`
+ # @return [String]
+ attr_accessor :department
+
+ # Description of the organization.
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # The domain to which the organization belongs to.
+ # Corresponds to the JSON property `domain`
+ # @return [String]
+ attr_accessor :domain
+
+ # Location of the organization. This need not be fully qualified address.
+ # Corresponds to the JSON property `location`
+ # @return [String]
+ attr_accessor :location
+
+ # Name of the organization
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # If it user's primary organization.
+ # Corresponds to the JSON property `primary`
+ # @return [Boolean]
+ attr_accessor :primary
+ alias_method :primary?, :primary
+
+ # Symbol of the organization.
+ # Corresponds to the JSON property `symbol`
+ # @return [String]
+ attr_accessor :symbol
+
+ # Title (designation) of the user in the organization.
+ # Corresponds to the JSON property `title`
+ # @return [String]
+ attr_accessor :title
+
+ # Each entry can have a type which indicates standard types of that entry. For
+ # example organization could be of school, work etc. In addition to the standard
+ # type, an entry can have a custom type and can give it any name. Such types
+ # should have the CUSTOM value as type and also have a CustomType 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)
+ @cost_center = args[:cost_center] unless args[:cost_center].nil?
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
+ @department = args[:department] unless args[:department].nil?
+ @description = args[:description] unless args[:description].nil?
+ @domain = args[:domain] unless args[:domain].nil?
+ @location = args[:location] unless args[:location].nil?
+ @name = args[:name] unless args[:name].nil?
+ @primary = args[:primary] unless args[:primary].nil?
+ @symbol = args[:symbol] unless args[:symbol].nil?
+ @title = args[:title] unless args[:title].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ # JSON template for a phone entry.
+ class UserPhone
+ include Google::Apis::Core::Hashable
+
+ # Custom Type.
+ # Corresponds to the JSON property `customType`
+ # @return [String]
+ attr_accessor :custom_type
+
+ # If this is user's primary phone or not.
+ # Corresponds to the JSON property `primary`
+ # @return [Boolean]
+ attr_accessor :primary
+ alias_method :primary?, :primary
+
+ # Each entry can have a type which indicates standard types of that entry. For
+ # example phone could be of home_fax, work, mobile etc. In addition to the
+ # standard type, an entry can have a custom type and can give it any name. Such
+ # types should have the CUSTOM value as type and also have a customType value.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # Phone number.
+ # Corresponds to the JSON property `value`
+ # @return [String]
+ attr_accessor :value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
+ @primary = args[:primary] unless args[:primary].nil?
+ @type = args[:type] unless args[:type].nil?
+ @value = args[:value] unless args[:value].nil?
+ end
+ end
+
+ # JSON template for Photo object in Directory API.
+ class UserPhoto
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Height in pixels of the photo
+ # Corresponds to the JSON property `height`
+ # @return [Fixnum]
+ attr_accessor :height
+
+ # Unique identifier of User (Read-only)
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Mime Type of the photo
+ # Corresponds to the JSON property `mimeType`
+ # @return [String]
+ attr_accessor :mime_type
+
+ # Base64 encoded photo data
+ # Corresponds to the JSON property `photoData`
+ # @return [String]
+ attr_accessor :photo_data
+
+ # Primary email of User (Read-only)
+ # Corresponds to the JSON property `primaryEmail`
+ # @return [String]
+ attr_accessor :primary_email
+
+ # Width in pixels of the photo
+ # Corresponds to the JSON property `width`
+ # @return [Fixnum]
+ attr_accessor :width
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @height = args[:height] unless args[:height].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @mime_type = args[:mime_type] unless args[:mime_type].nil?
+ @photo_data = args[:photo_data] unless args[:photo_data].nil?
+ @primary_email = args[:primary_email] unless args[:primary_email].nil?
+ @width = args[:width] unless args[:width].nil?
+ end
+ end
+
+ # JSON template for a relation entry.
+ class UserRelation
+ include Google::Apis::Core::Hashable
+
+ # Custom Type.
+ # Corresponds to the JSON property `customType`
+ # @return [String]
+ attr_accessor :custom_type
+
+ # The relation of the user. Some of the possible values are mother, father,
+ # sister, brother, manager, assistant, partner.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # The name of the relation.
+ # Corresponds to the JSON property `value`
+ # @return [String]
+ attr_accessor :value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
+ @type = args[:type] unless args[:type].nil?
+ @value = args[:value] unless args[:value].nil?
+ end
+ end
+
+ # JSON request template to undelete a user in Directory API.
+ class UserUndelete
+ include Google::Apis::Core::Hashable
+
+ # OrgUnit of User
+ # Corresponds to the JSON property `orgUnitPath`
+ # @return [String]
+ attr_accessor :org_unit_path
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @org_unit_path = args[:org_unit_path] unless args[:org_unit_path].nil?
+ end
+ end
+
+ # JSON template for a website entry.
+ class UserWebsite
+ include Google::Apis::Core::Hashable
+
+ # Custom Type.
+ # Corresponds to the JSON property `customType`
+ # @return [String]
+ attr_accessor :custom_type
+
+ # If this is user's primary website or not.
+ # Corresponds to the JSON property `primary`
+ # @return [Boolean]
+ attr_accessor :primary
+ alias_method :primary?, :primary
+
+ # Each entry can have a type which indicates standard types of that entry. For
+ # example website could be of home, work, blog etc. In addition to the standard
+ # type, an entry can have a custom type and can give it any name. Such types
+ # should have the CUSTOM value as type and also have a customType value.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # Website.
+ # Corresponds to the JSON property `value`
+ # @return [String]
+ attr_accessor :value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @custom_type = args[:custom_type] unless args[:custom_type].nil?
+ @primary = args[:primary] unless args[:primary].nil?
+ @type = args[:type] unless args[:type].nil?
+ @value = args[:value] unless args[:value].nil?
+ end
+ end
+
+ # JSON response template for List Users operation in Apps Directory API.
+ class Users
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Token used to access next page of this result.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ # Event that triggered this response (only used in case of Push Response)
+ # Corresponds to the JSON property `trigger_event`
+ # @return [String]
+ attr_accessor :trigger_event
+
+ # List of user objects.
+ # Corresponds to the JSON property `users`
+ # @return [Array]
+ attr_accessor :users
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ @trigger_event = args[:trigger_event] unless args[:trigger_event].nil?
+ @users = args[:users] unless args[:users].nil?
+ end
+ end
+
+ # JSON template for verification codes in Directory API.
+ class VerificationCode
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The type of the resource. This is always admin#directory#verificationCode.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The obfuscated unique ID of the user.
+ # Corresponds to the JSON property `userId`
+ # @return [String]
+ attr_accessor :user_id
+
+ # A current verification code for the user. Invalidated or used verification
+ # codes are not returned as part of the result.
+ # Corresponds to the JSON property `verificationCode`
+ # @return [String]
+ attr_accessor :verification_code
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @user_id = args[:user_id] unless args[:user_id].nil?
+ @verification_code = args[:verification_code] unless args[:verification_code].nil?
+ end
+ end
+
+ # JSON response template for List verification codes operation in Directory API.
+ class VerificationCodes
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # A list of verification code resources.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # The type of the resource. This is always admin#directory#verificationCodesList.
+ # 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)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/admin_directory_v1/representations.rb b/generated/google/apis/admin_directory_v1/representations.rb
new file mode 100644
index 000000000..65e5e1fa5
--- /dev/null
+++ b/generated/google/apis/admin_directory_v1/representations.rb
@@ -0,0 +1,780 @@
+# 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 AdminDirectoryV1
+
+ class Alias
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Aliases
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Asp
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Asps
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Channel
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ChromeOsDevice
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ActiveTimeRange
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class RecentUser
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class ChromeOsDevices
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Group
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Groups
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Member
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Members
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class MobileDevice
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Application
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class MobileDeviceAction
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class MobileDevices
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Notification
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Notifications
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class OrgUnit
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class OrgUnits
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Schema
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class SchemaFieldSpec
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class NumericIndexingSpec
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class Schemas
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Token
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Tokens
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class User
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserAbout
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserAddress
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserEmail
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserExternalId
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserIm
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserMakeAdmin
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserName
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserOrganization
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserPhone
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserPhoto
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserRelation
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserUndelete
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserWebsite
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Users
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class VerificationCode
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class VerificationCodes
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ # @private
+ class Alias
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :alias, as: 'alias'
+ property :etag, as: 'etag'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :primary_email, as: 'primaryEmail'
+ end
+ end
+
+ # @private
+ class Aliases
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :aliases, as: 'aliases', class: Google::Apis::AdminDirectoryV1::Alias, decorator: Google::Apis::AdminDirectoryV1::Alias::Representation
+
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Asp
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :code_id, as: 'codeId'
+ property :creation_time, as: 'creationTime'
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ property :last_time_used, as: 'lastTimeUsed'
+ property :name, as: 'name'
+ property :user_key, as: 'userKey'
+ end
+ end
+
+ # @private
+ class Asps
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdminDirectoryV1::Asp, decorator: Google::Apis::AdminDirectoryV1::Asp::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Channel
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :address, as: 'address'
+ property :expiration, as: 'expiration'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ hash :params, as: 'params'
+ property :payload, as: 'payload'
+ property :resource_id, as: 'resourceId'
+ property :resource_uri, as: 'resourceUri'
+ property :token, as: 'token'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class ChromeOsDevice
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :active_time_ranges, as: 'activeTimeRanges', class: Google::Apis::AdminDirectoryV1::ChromeOsDevice::ActiveTimeRange, decorator: Google::Apis::AdminDirectoryV1::ChromeOsDevice::ActiveTimeRange::Representation
+
+ property :annotated_asset_id, as: 'annotatedAssetId'
+ property :annotated_location, as: 'annotatedLocation'
+ property :annotated_user, as: 'annotatedUser'
+ property :boot_mode, as: 'bootMode'
+ property :device_id, as: 'deviceId'
+ property :etag, as: 'etag'
+ property :ethernet_mac_address, as: 'ethernetMacAddress'
+ property :firmware_version, as: 'firmwareVersion'
+ property :kind, as: 'kind'
+ property :last_enrollment_time, as: 'lastEnrollmentTime', type: DateTime
+
+ property :last_sync, as: 'lastSync', type: DateTime
+
+ property :mac_address, as: 'macAddress'
+ property :meid, as: 'meid'
+ property :model, as: 'model'
+ property :notes, as: 'notes'
+ property :order_number, as: 'orderNumber'
+ property :org_unit_path, as: 'orgUnitPath'
+ property :os_version, as: 'osVersion'
+ property :platform_version, as: 'platformVersion'
+ collection :recent_users, as: 'recentUsers', class: Google::Apis::AdminDirectoryV1::ChromeOsDevice::RecentUser, decorator: Google::Apis::AdminDirectoryV1::ChromeOsDevice::RecentUser::Representation
+
+ property :serial_number, as: 'serialNumber'
+ property :status, as: 'status'
+ property :support_end_date, as: 'supportEndDate', type: DateTime
+
+ property :will_auto_renew, as: 'willAutoRenew'
+ end
+
+ # @private
+ class ActiveTimeRange
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :active_time, as: 'activeTime'
+ property :date, as: 'date', type: Date
+
+ end
+ end
+
+ # @private
+ class RecentUser
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :email, as: 'email'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class ChromeOsDevices
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :chromeosdevices, as: 'chromeosdevices', class: Google::Apis::AdminDirectoryV1::ChromeOsDevice, decorator: Google::Apis::AdminDirectoryV1::ChromeOsDevice::Representation
+
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class Group
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :admin_created, as: 'adminCreated'
+ collection :aliases, as: 'aliases'
+ property :description, as: 'description'
+ property :direct_members_count, as: 'directMembersCount'
+ property :email, as: 'email'
+ property :etag, as: 'etag'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ collection :non_editable_aliases, as: 'nonEditableAliases'
+ end
+ end
+
+ # @private
+ class Groups
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :groups, as: 'groups', class: Google::Apis::AdminDirectoryV1::Group, decorator: Google::Apis::AdminDirectoryV1::Group::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class Member
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :email, as: 'email'
+ property :etag, as: 'etag'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :role, as: 'role'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class Members
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ collection :members, as: 'members', class: Google::Apis::AdminDirectoryV1::Member, decorator: Google::Apis::AdminDirectoryV1::Member::Representation
+
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class MobileDevice
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :applications, as: 'applications', class: Google::Apis::AdminDirectoryV1::MobileDevice::Application, decorator: Google::Apis::AdminDirectoryV1::MobileDevice::Application::Representation
+
+ property :baseband_version, as: 'basebandVersion'
+ property :build_number, as: 'buildNumber'
+ property :default_language, as: 'defaultLanguage'
+ property :device_compromised_status, as: 'deviceCompromisedStatus'
+ property :device_id, as: 'deviceId'
+ collection :email, as: 'email'
+ property :etag, as: 'etag'
+ property :first_sync, as: 'firstSync', type: DateTime
+
+ property :hardware_id, as: 'hardwareId'
+ property :imei, as: 'imei'
+ property :kernel_version, as: 'kernelVersion'
+ property :kind, as: 'kind'
+ property :last_sync, as: 'lastSync', type: DateTime
+
+ property :managed_account_is_on_owner_profile, as: 'managedAccountIsOnOwnerProfile'
+ property :meid, as: 'meid'
+ property :model, as: 'model'
+ collection :name, as: 'name'
+ property :network_operator, as: 'networkOperator'
+ property :os, as: 'os'
+ property :resource_id, as: 'resourceId'
+ property :serial_number, as: 'serialNumber'
+ property :status, as: 'status'
+ property :type, as: 'type'
+ property :user_agent, as: 'userAgent'
+ property :wifi_mac_address, as: 'wifiMacAddress'
+ end
+
+ # @private
+ class Application
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :display_name, as: 'displayName'
+ property :package_name, as: 'packageName'
+ collection :permission, as: 'permission'
+ property :version_code, as: 'versionCode'
+ property :version_name, as: 'versionName'
+ end
+ end
+ end
+
+ # @private
+ class MobileDeviceAction
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :action, as: 'action'
+ end
+ end
+
+ # @private
+ class MobileDevices
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ collection :mobiledevices, as: 'mobiledevices', class: Google::Apis::AdminDirectoryV1::MobileDevice, decorator: Google::Apis::AdminDirectoryV1::MobileDevice::Representation
+
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class Notification
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :body, as: 'body'
+ property :etag, as: 'etag'
+ property :from_address, as: 'fromAddress'
+ property :is_unread, as: 'isUnread'
+ property :kind, as: 'kind'
+ property :notification_id, as: 'notificationId'
+ property :send_time, as: 'sendTime', type: DateTime
+
+ property :subject, as: 'subject'
+ end
+ end
+
+ # @private
+ class Notifications
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdminDirectoryV1::Notification, decorator: Google::Apis::AdminDirectoryV1::Notification::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ property :unread_notifications_count, as: 'unreadNotificationsCount'
+ end
+ end
+
+ # @private
+ class OrgUnit
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :block_inheritance, as: 'blockInheritance'
+ property :description, as: 'description'
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :org_unit_id, as: 'orgUnitId'
+ property :org_unit_path, as: 'orgUnitPath'
+ property :parent_org_unit_id, as: 'parentOrgUnitId'
+ property :parent_org_unit_path, as: 'parentOrgUnitPath'
+ end
+ end
+
+ # @private
+ class OrgUnits
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ collection :organization_units, as: 'organizationUnits', class: Google::Apis::AdminDirectoryV1::OrgUnit, decorator: Google::Apis::AdminDirectoryV1::OrgUnit::Representation
+
+ end
+ end
+
+ # @private
+ class Schema
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :fields, as: 'fields', class: Google::Apis::AdminDirectoryV1::SchemaFieldSpec, decorator: Google::Apis::AdminDirectoryV1::SchemaFieldSpec::Representation
+
+ property :kind, as: 'kind'
+ property :schema_id, as: 'schemaId'
+ property :schema_name, as: 'schemaName'
+ end
+ end
+
+ # @private
+ class SchemaFieldSpec
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ property :field_id, as: 'fieldId'
+ property :field_name, as: 'fieldName'
+ property :field_type, as: 'fieldType'
+ property :indexed, as: 'indexed'
+ property :kind, as: 'kind'
+ property :multi_valued, as: 'multiValued'
+ property :numeric_indexing_spec, as: 'numericIndexingSpec', class: Google::Apis::AdminDirectoryV1::SchemaFieldSpec::NumericIndexingSpec, decorator: Google::Apis::AdminDirectoryV1::SchemaFieldSpec::NumericIndexingSpec::Representation
+
+ property :read_access_type, as: 'readAccessType'
+ end
+
+ # @private
+ class NumericIndexingSpec
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :max_value, as: 'maxValue'
+ property :min_value, as: 'minValue'
+ end
+ end
+ end
+
+ # @private
+ class Schemas
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ collection :schemas, as: 'schemas', class: Google::Apis::AdminDirectoryV1::Schema, decorator: Google::Apis::AdminDirectoryV1::Schema::Representation
+
+ end
+ end
+
+ # @private
+ class Token
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :anonymous, as: 'anonymous'
+ property :client_id, as: 'clientId'
+ property :display_text, as: 'displayText'
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ property :native_app, as: 'nativeApp'
+ collection :scopes, as: 'scopes'
+ property :user_key, as: 'userKey'
+ end
+ end
+
+ # @private
+ class Tokens
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdminDirectoryV1::Token, decorator: Google::Apis::AdminDirectoryV1::Token::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class User
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :addresses, as: 'addresses'
+ property :agreed_to_terms, as: 'agreedToTerms'
+ collection :aliases, as: 'aliases'
+ property :change_password_at_next_login, as: 'changePasswordAtNextLogin'
+ property :creation_time, as: 'creationTime', type: DateTime
+
+ hash :custom_schemas, as: 'customSchemas'
+ property :customer_id, as: 'customerId'
+ property :deletion_time, as: 'deletionTime', type: DateTime
+
+ property :emails, as: 'emails'
+ property :etag, as: 'etag'
+ property :external_ids, as: 'externalIds'
+ property :hash_function, as: 'hashFunction'
+ property :id, as: 'id'
+ property :ims, as: 'ims'
+ property :include_in_global_address_list, as: 'includeInGlobalAddressList'
+ property :ip_whitelisted, as: 'ipWhitelisted'
+ property :is_admin, as: 'isAdmin'
+ property :is_delegated_admin, as: 'isDelegatedAdmin'
+ property :is_mailbox_setup, as: 'isMailboxSetup'
+ property :kind, as: 'kind'
+ property :last_login_time, as: 'lastLoginTime', type: DateTime
+
+ property :name, as: 'name', class: Google::Apis::AdminDirectoryV1::UserName, decorator: Google::Apis::AdminDirectoryV1::UserName::Representation
+
+ collection :non_editable_aliases, as: 'nonEditableAliases'
+ property :notes, as: 'notes'
+ property :org_unit_path, as: 'orgUnitPath'
+ property :organizations, as: 'organizations'
+ property :password, as: 'password'
+ property :phones, as: 'phones'
+ property :primary_email, as: 'primaryEmail'
+ property :relations, as: 'relations'
+ property :suspended, as: 'suspended'
+ property :suspension_reason, as: 'suspensionReason'
+ property :thumbnail_photo_etag, as: 'thumbnailPhotoEtag'
+ property :thumbnail_photo_url, as: 'thumbnailPhotoUrl'
+ property :websites, as: 'websites'
+ end
+ end
+
+ # @private
+ class UserAbout
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :content_type, as: 'contentType'
+ property :value, as: 'value'
+ end
+ end
+
+ # @private
+ class UserAddress
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :country, as: 'country'
+ property :country_code, as: 'countryCode'
+ property :custom_type, as: 'customType'
+ property :extended_address, as: 'extendedAddress'
+ property :formatted, as: 'formatted'
+ property :locality, as: 'locality'
+ property :po_box, as: 'poBox'
+ property :postal_code, as: 'postalCode'
+ property :primary, as: 'primary'
+ property :region, as: 'region'
+ property :source_is_structured, as: 'sourceIsStructured'
+ property :street_address, as: 'streetAddress'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class UserEmail
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :address, as: 'address'
+ property :custom_type, as: 'customType'
+ property :primary, as: 'primary'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class UserExternalId
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :custom_type, as: 'customType'
+ property :type, as: 'type'
+ property :value, as: 'value'
+ end
+ end
+
+ # @private
+ class UserIm
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :custom_protocol, as: 'customProtocol'
+ property :custom_type, as: 'customType'
+ property :im, as: 'im'
+ property :primary, as: 'primary'
+ property :protocol, as: 'protocol'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class UserMakeAdmin
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :status, as: 'status'
+ end
+ end
+
+ # @private
+ class UserName
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :family_name, as: 'familyName'
+ property :full_name, as: 'fullName'
+ property :given_name, as: 'givenName'
+ end
+ end
+
+ # @private
+ class UserOrganization
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :cost_center, as: 'costCenter'
+ property :custom_type, as: 'customType'
+ property :department, as: 'department'
+ property :description, as: 'description'
+ property :domain, as: 'domain'
+ property :location, as: 'location'
+ property :name, as: 'name'
+ property :primary, as: 'primary'
+ property :symbol, as: 'symbol'
+ property :title, as: 'title'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class UserPhone
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :custom_type, as: 'customType'
+ property :primary, as: 'primary'
+ property :type, as: 'type'
+ property :value, as: 'value'
+ end
+ end
+
+ # @private
+ class UserPhoto
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ property :height, as: 'height'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :mime_type, as: 'mimeType'
+ property :photo_data, :base64 => true, as: 'photoData'
+ property :primary_email, as: 'primaryEmail'
+ property :width, as: 'width'
+ end
+ end
+
+ # @private
+ class UserRelation
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :custom_type, as: 'customType'
+ property :type, as: 'type'
+ property :value, as: 'value'
+ end
+ end
+
+ # @private
+ class UserUndelete
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :org_unit_path, as: 'orgUnitPath'
+ end
+ end
+
+ # @private
+ class UserWebsite
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :custom_type, as: 'customType'
+ property :primary, as: 'primary'
+ property :type, as: 'type'
+ property :value, as: 'value'
+ end
+ end
+
+ # @private
+ class Users
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ property :trigger_event, as: 'trigger_event'
+ collection :users, as: 'users', class: Google::Apis::AdminDirectoryV1::User, decorator: Google::Apis::AdminDirectoryV1::User::Representation
+
+ end
+ end
+
+ # @private
+ class VerificationCode
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ property :user_id, as: 'userId'
+ property :verification_code, as: 'verificationCode'
+ end
+ end
+
+ # @private
+ class VerificationCodes
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdminDirectoryV1::VerificationCode, decorator: Google::Apis::AdminDirectoryV1::VerificationCode::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/admin_directory_v1/service.rb b/generated/google/apis/admin_directory_v1/service.rb
new file mode 100644
index 000000000..bd6bd4289
--- /dev/null
+++ b/generated/google/apis/admin_directory_v1/service.rb
@@ -0,0 +1,2805 @@
+# 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 '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 AdminDirectoryV1
+ # Admin Directory API
+ #
+ # The Admin SDK Directory API lets you view and manage enterprise resources such
+ # as users and groups, administrative notifications, security features, and more.
+ #
+ # @example
+ # require 'google/apis/admin_directory_v1'
+ #
+ # Admin = Google::Apis::AdminDirectoryV1 # Alias the module
+ # service = Admin::DirectoryService.new
+ #
+ # @see https://developers.google.com/admin-sdk/directory/
+ class DirectoryService < Google::Apis::Core::BaseService
+ # @return [String]
+ # API key. Your API key identifies your project and provides you with API access,
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
+ attr_accessor :key
+
+ # @return [String]
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ attr_accessor :quota_user
+
+ # @return [String]
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ attr_accessor :user_ip
+
+ def initialize
+ super('https://www.googleapis.com/', 'admin/directory/v1/')
+ end
+
+ # Delete an ASP issued by a user.
+ # @param [String] user_key
+ # Identifies the user in the API request. The value can be the user's primary
+ # email address, alias email address, or unique user ID.
+ # @param [Fixnum] code_id
+ # The unique ID of the ASP to be deleted.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_asp(user_key, code_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/asps/{codeId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.params['codeId'] = code_id unless code_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get information about an ASP issued by a user.
+ # @param [String] user_key
+ # Identifies the user in the API request. The value can be the user's primary
+ # email address, alias email address, or unique user ID.
+ # @param [Fixnum] code_id
+ # The unique ID of the ASP.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Asp] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Asp]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_asp(user_key, code_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/asps/{codeId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Asp::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Asp
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.params['codeId'] = code_id unless code_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the ASPs issued by a user.
+ # @param [String] user_key
+ # Identifies the user in the API request. The value can be the user's primary
+ # email address, alias email address, or unique user ID.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Asps] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Asps]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_asps(user_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/asps'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Asps::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Asps
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Stop watching resources through this channel
+ # @param [Google::Apis::AdminDirectoryV1::Channel] channel_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def stop_channel(channel_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '/admin/directory_v1/channels/stop'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Channel::Representation
+ command.request_object = channel_object
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve Chrome OS Device
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] device_id
+ # Immutable id of Chrome OS Device
+ # @param [String] projection
+ # Restrict information returned to a set of selected fields.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::ChromeOsDevice] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::ChromeOsDevice]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_chrome_os_device(customer_id, device_id, projection: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/devices/chromeos/{deviceId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::ChromeOsDevice::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::ChromeOsDevice
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.query['projection'] = projection unless projection.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve all Chrome OS Devices of a customer (paginated)
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [Fixnum] max_results
+ # Maximum number of results to return. Default is 100
+ # @param [String] order_by
+ # Column to use for sorting results
+ # @param [String] page_token
+ # Token to specify next page in the list
+ # @param [String] projection
+ # Restrict information returned to a set of selected fields.
+ # @param [String] query
+ # Search string in the format given at http://support.google.com/chromeos/a/bin/
+ # answer.py?hl=en&answer=1698333
+ # @param [String] sort_order
+ # Whether to return results in ascending or descending order. Only of use when
+ # orderBy is also used
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::ChromeOsDevices] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::ChromeOsDevices]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_chrome_os_devices(customer_id, max_results: nil, order_by: nil, page_token: nil, projection: nil, query: nil, sort_order: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/devices/chromeos'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::ChromeOsDevices::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::ChromeOsDevices
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['orderBy'] = order_by unless order_by.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['projection'] = projection unless projection.nil?
+ command.query['query'] = query unless query.nil?
+ command.query['sortOrder'] = sort_order unless sort_order.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update Chrome OS Device. This method supports patch semantics.
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] device_id
+ # Immutable id of Chrome OS Device
+ # @param [Google::Apis::AdminDirectoryV1::ChromeOsDevice] chrome_os_device_object
+ # @param [String] projection
+ # Restrict information returned to a set of selected fields.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::ChromeOsDevice] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::ChromeOsDevice]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_chrome_os_device(customer_id, device_id, chrome_os_device_object = nil, projection: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/devices/chromeos/{deviceId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::ChromeOsDevice::Representation
+ command.request_object = chrome_os_device_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::ChromeOsDevice::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::ChromeOsDevice
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.query['projection'] = projection unless projection.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update Chrome OS Device
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] device_id
+ # Immutable id of Chrome OS Device
+ # @param [Google::Apis::AdminDirectoryV1::ChromeOsDevice] chrome_os_device_object
+ # @param [String] projection
+ # Restrict information returned to a set of selected fields.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::ChromeOsDevice] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::ChromeOsDevice]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_chrome_os_device(customer_id, device_id, chrome_os_device_object = nil, projection: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/devices/chromeos/{deviceId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::ChromeOsDevice::Representation
+ command.request_object = chrome_os_device_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::ChromeOsDevice::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::ChromeOsDevice
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.query['projection'] = projection unless projection.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete Group
+ # @param [String] group_key
+ # Email or immutable Id of the group
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_group(group_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}'
+ command = make_simple_command(:delete, path, options)
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve Group
+ # @param [String] group_key
+ # Email or immutable Id of the group
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Group] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Group]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_group(group_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Group::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Group
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create Group
+ # @param [Google::Apis::AdminDirectoryV1::Group] group_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Group] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Group]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_group(group_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Group::Representation
+ command.request_object = group_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Group::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Group
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve all groups in a domain (paginated)
+ # @param [String] customer
+ # Immutable id of the Google Apps account. In case of multi-domain, to fetch all
+ # groups for a customer, fill this field instead of domain.
+ # @param [String] domain
+ # Name of the domain. Fill this field to get groups from only this domain. To
+ # return all groups in a multi-domain fill customer field instead.
+ # @param [Fixnum] max_results
+ # Maximum number of results to return. Default is 200
+ # @param [String] page_token
+ # Token to specify next page in the list
+ # @param [String] user_key
+ # Email or immutable Id of the user if only those groups are to be listed, the
+ # given user is a member of. If Id, it should match with id of user object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Groups] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Groups]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_groups(customer: nil, domain: nil, max_results: nil, page_token: nil, user_key: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Groups::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Groups
+ command.query['customer'] = customer unless customer.nil?
+ command.query['domain'] = domain unless domain.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update Group. This method supports patch semantics.
+ # @param [String] group_key
+ # Email or immutable Id of the group. If Id, it should match with id of group
+ # object
+ # @param [Google::Apis::AdminDirectoryV1::Group] group_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Group] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Group]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_group(group_key, group_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Group::Representation
+ command.request_object = group_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Group::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Group
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update Group
+ # @param [String] group_key
+ # Email or immutable Id of the group. If Id, it should match with id of group
+ # object
+ # @param [Google::Apis::AdminDirectoryV1::Group] group_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Group] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Group]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_group(group_key, group_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Group::Representation
+ command.request_object = group_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Group::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Group
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Remove a alias for the group
+ # @param [String] group_key
+ # Email or immutable Id of the group
+ # @param [String] group_alias
+ # The alias to be removed
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_group_alias(group_key, group_alias, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}/aliases/{alias}'
+ command = make_simple_command(:delete, path, options)
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.params['alias'] = group_alias unless group_alias.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Add a alias for the group
+ # @param [String] group_key
+ # Email or immutable Id of the group
+ # @param [Google::Apis::AdminDirectoryV1::Alias] alias_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Alias] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Alias]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_group_alias(group_key, alias_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}/aliases'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Alias::Representation
+ command.request_object = alias_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Alias::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Alias
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all aliases for a group
+ # @param [String] group_key
+ # Email or immutable Id of the group
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Aliases] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Aliases]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_group_aliases(group_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}/aliases'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Aliases::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Aliases
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Remove membership.
+ # @param [String] group_key
+ # Email or immutable Id of the group
+ # @param [String] member_key
+ # Email or immutable Id of the member
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_member(group_key, member_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}/members/{memberKey}'
+ command = make_simple_command(:delete, path, options)
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.params['memberKey'] = member_key unless member_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve Group Member
+ # @param [String] group_key
+ # Email or immutable Id of the group
+ # @param [String] member_key
+ # Email or immutable Id of the member
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Member] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Member]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_member(group_key, member_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}/members/{memberKey}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Member::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Member
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.params['memberKey'] = member_key unless member_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Add user to the specified group.
+ # @param [String] group_key
+ # Email or immutable Id of the group
+ # @param [Google::Apis::AdminDirectoryV1::Member] member_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Member] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Member]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_member(group_key, member_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}/members'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Member::Representation
+ command.request_object = member_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Member::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Member
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve all members in a group (paginated)
+ # @param [String] group_key
+ # Email or immutable Id of the group
+ # @param [Fixnum] max_results
+ # Maximum number of results to return. Default is 200
+ # @param [String] page_token
+ # Token to specify next page in the list
+ # @param [String] roles
+ # Comma separated role values to filter list results on.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Members] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Members]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_members(group_key, max_results: nil, page_token: nil, roles: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}/members'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Members::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Members
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['roles'] = roles unless roles.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update membership of a user in the specified group. This method supports patch
+ # semantics.
+ # @param [String] group_key
+ # Email or immutable Id of the group. If Id, it should match with id of group
+ # object
+ # @param [String] member_key
+ # Email or immutable Id of the user. If Id, it should match with id of member
+ # object
+ # @param [Google::Apis::AdminDirectoryV1::Member] member_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Member] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Member]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_member(group_key, member_key, member_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}/members/{memberKey}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Member::Representation
+ command.request_object = member_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Member::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Member
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.params['memberKey'] = member_key unless member_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update membership of a user in the specified group.
+ # @param [String] group_key
+ # Email or immutable Id of the group. If Id, it should match with id of group
+ # object
+ # @param [String] member_key
+ # Email or immutable Id of the user. If Id, it should match with id of member
+ # object
+ # @param [Google::Apis::AdminDirectoryV1::Member] member_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Member] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Member]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_member(group_key, member_key, member_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'groups/{groupKey}/members/{memberKey}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Member::Representation
+ command.request_object = member_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Member::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Member
+ command.params['groupKey'] = group_key unless group_key.nil?
+ command.params['memberKey'] = member_key unless member_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Take action on Mobile Device
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] resource_id
+ # Immutable id of Mobile Device
+ # @param [Google::Apis::AdminDirectoryV1::MobileDeviceAction] mobile_device_action_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def action_mobile_device(customer_id, resource_id, mobile_device_action_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/devices/mobile/{resourceId}/action'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::MobileDeviceAction::Representation
+ command.request_object = mobile_device_action_object
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['resourceId'] = resource_id unless resource_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete Mobile Device
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] resource_id
+ # Immutable id of Mobile Device
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_mobile_device(customer_id, resource_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/devices/mobile/{resourceId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['resourceId'] = resource_id unless resource_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve Mobile Device
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] resource_id
+ # Immutable id of Mobile Device
+ # @param [String] projection
+ # Restrict information returned to a set of selected fields.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::MobileDevice] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::MobileDevice]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_mobile_device(customer_id, resource_id, projection: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/devices/mobile/{resourceId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::MobileDevice::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::MobileDevice
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['resourceId'] = resource_id unless resource_id.nil?
+ command.query['projection'] = projection unless projection.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve all Mobile Devices of a customer (paginated)
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [Fixnum] max_results
+ # Maximum number of results to return. Default is 100
+ # @param [String] order_by
+ # Column to use for sorting results
+ # @param [String] page_token
+ # Token to specify next page in the list
+ # @param [String] projection
+ # Restrict information returned to a set of selected fields.
+ # @param [String] query
+ # Search string in the format given at http://support.google.com/a/bin/answer.py?
+ # hl=en&answer=1408863#search
+ # @param [String] sort_order
+ # Whether to return results in ascending or descending order. Only of use when
+ # orderBy is also used
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::MobileDevices] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::MobileDevices]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_mobile_devices(customer_id, max_results: nil, order_by: nil, page_token: nil, projection: nil, query: nil, sort_order: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/devices/mobile'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::MobileDevices::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::MobileDevices
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['orderBy'] = order_by unless order_by.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['projection'] = projection unless projection.nil?
+ command.query['query'] = query unless query.nil?
+ command.query['sortOrder'] = sort_order unless sort_order.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes a notification
+ # @param [String] customer
+ # The unique ID for the customer's Google account. The customerId is also
+ # returned as part of the Users resource.
+ # @param [String] notification_id
+ # The unique ID of the notification.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_notification(customer, notification_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customer}/notifications/{notificationId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['customer'] = customer unless customer.nil?
+ command.params['notificationId'] = notification_id unless notification_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves a notification.
+ # @param [String] customer
+ # The unique ID for the customer's Google account. The customerId is also
+ # returned as part of the Users resource.
+ # @param [String] notification_id
+ # The unique ID of the notification.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Notification] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Notification]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_notification(customer, notification_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customer}/notifications/{notificationId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Notification::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Notification
+ command.params['customer'] = customer unless customer.nil?
+ command.params['notificationId'] = notification_id unless notification_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves a list of notifications.
+ # @param [String] customer
+ # The unique ID for the customer's Google account.
+ # @param [String] language
+ # The ISO 639-1 code of the language notifications are returned in. The default
+ # is English (en).
+ # @param [Fixnum] max_results
+ # Maximum number of notifications to return per page. The default is 100.
+ # @param [String] page_token
+ # The token to specify the page of results to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Notifications] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Notifications]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_notifications(customer, language: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customer}/notifications'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Notifications::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Notifications
+ command.params['customer'] = customer unless customer.nil?
+ command.query['language'] = language unless language.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates a notification. This method supports patch semantics.
+ # @param [String] customer
+ # The unique ID for the customer's Google account.
+ # @param [String] notification_id
+ # The unique ID of the notification.
+ # @param [Google::Apis::AdminDirectoryV1::Notification] notification_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Notification] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Notification]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_notification(customer, notification_id, notification_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customer}/notifications/{notificationId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Notification::Representation
+ command.request_object = notification_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Notification::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Notification
+ command.params['customer'] = customer unless customer.nil?
+ command.params['notificationId'] = notification_id unless notification_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates a notification.
+ # @param [String] customer
+ # The unique ID for the customer's Google account.
+ # @param [String] notification_id
+ # The unique ID of the notification.
+ # @param [Google::Apis::AdminDirectoryV1::Notification] notification_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Notification] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Notification]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_notification(customer, notification_id, notification_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customer}/notifications/{notificationId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Notification::Representation
+ command.request_object = notification_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Notification::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Notification
+ command.params['customer'] = customer unless customer.nil?
+ command.params['notificationId'] = notification_id unless notification_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Remove Organization Unit
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [Array, String] org_unit_path
+ # Full path of the organization unit or its Id
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_org_unit(customer_id, org_unit_path, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/orgunits{/orgUnitPath*}'
+ command = make_simple_command(:delete, path, options)
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['orgUnitPath'] = org_unit_path unless org_unit_path.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve Organization Unit
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [Array, String] org_unit_path
+ # Full path of the organization unit or its Id
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::OrgUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::OrgUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_org_unit(customer_id, org_unit_path, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/orgunits{/orgUnitPath*}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::OrgUnit::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::OrgUnit
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['orgUnitPath'] = org_unit_path unless org_unit_path.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Add Organization Unit
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [Google::Apis::AdminDirectoryV1::OrgUnit] org_unit_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::OrgUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::OrgUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_org_unit(customer_id, org_unit_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/orgunits'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::OrgUnit::Representation
+ command.request_object = org_unit_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::OrgUnit::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::OrgUnit
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve all Organization Units
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] org_unit_path
+ # the URL-encoded organization unit's path or its Id
+ # @param [String] type
+ # Whether to return all sub-organizations or just immediate children
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::OrgUnits] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::OrgUnits]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_org_units(customer_id, org_unit_path: nil, type: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/orgunits'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::OrgUnits::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::OrgUnits
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.query['orgUnitPath'] = org_unit_path unless org_unit_path.nil?
+ command.query['type'] = type unless type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update Organization Unit. This method supports patch semantics.
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [Array, String] org_unit_path
+ # Full path of the organization unit or its Id
+ # @param [Google::Apis::AdminDirectoryV1::OrgUnit] org_unit_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::OrgUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::OrgUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_org_unit(customer_id, org_unit_path, org_unit_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/orgunits{/orgUnitPath*}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::OrgUnit::Representation
+ command.request_object = org_unit_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::OrgUnit::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::OrgUnit
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['orgUnitPath'] = org_unit_path unless org_unit_path.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update Organization Unit
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [Array, String] org_unit_path
+ # Full path of the organization unit or its Id
+ # @param [Google::Apis::AdminDirectoryV1::OrgUnit] org_unit_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::OrgUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::OrgUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_org_unit(customer_id, org_unit_path, org_unit_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/orgunits{/orgUnitPath*}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::OrgUnit::Representation
+ command.request_object = org_unit_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::OrgUnit::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::OrgUnit
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['orgUnitPath'] = org_unit_path unless org_unit_path.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete schema
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] schema_key
+ # Name or immutable Id of the schema
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_schema(customer_id, schema_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/schemas/{schemaKey}'
+ command = make_simple_command(:delete, path, options)
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['schemaKey'] = schema_key unless schema_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve schema
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] schema_key
+ # Name or immutable Id of the schema
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Schema] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Schema]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_schema(customer_id, schema_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/schemas/{schemaKey}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Schema::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Schema
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['schemaKey'] = schema_key unless schema_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create schema.
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [Google::Apis::AdminDirectoryV1::Schema] schema_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Schema] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Schema]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_schema(customer_id, schema_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/schemas'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Schema::Representation
+ command.request_object = schema_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Schema::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Schema
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve all schemas for a customer
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Schemas] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Schemas]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_schemas(customer_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/schemas'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Schemas::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Schemas
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update schema. This method supports patch semantics.
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] schema_key
+ # Name or immutable Id of the schema.
+ # @param [Google::Apis::AdminDirectoryV1::Schema] schema_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Schema] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Schema]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_schema(customer_id, schema_key, schema_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/schemas/{schemaKey}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Schema::Representation
+ command.request_object = schema_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Schema::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Schema
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['schemaKey'] = schema_key unless schema_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update schema
+ # @param [String] customer_id
+ # Immutable id of the Google Apps account
+ # @param [String] schema_key
+ # Name or immutable Id of the schema.
+ # @param [Google::Apis::AdminDirectoryV1::Schema] schema_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Schema] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Schema]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_schema(customer_id, schema_key, schema_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'customer/{customerId}/schemas/{schemaKey}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Schema::Representation
+ command.request_object = schema_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Schema::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Schema
+ command.params['customerId'] = customer_id unless customer_id.nil?
+ command.params['schemaKey'] = schema_key unless schema_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete all access tokens issued by a user for an application.
+ # @param [String] user_key
+ # Identifies the user in the API request. The value can be the user's primary
+ # email address, alias email address, or unique user ID.
+ # @param [String] client_id
+ # The Client ID of the application the token is issued to.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_token(user_key, client_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/tokens/{clientId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.params['clientId'] = client_id unless client_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get information about an access token issued by a user.
+ # @param [String] user_key
+ # Identifies the user in the API request. The value can be the user's primary
+ # email address, alias email address, or unique user ID.
+ # @param [String] client_id
+ # The Client ID of the application the token is issued to.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Token] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Token]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_token(user_key, client_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/tokens/{clientId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Token::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Token
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.params['clientId'] = client_id unless client_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns the set of tokens specified user has issued to 3rd party applications.
+ # @param [String] user_key
+ # Identifies the user in the API request. The value can be the user's primary
+ # email address, alias email address, or unique user ID.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Tokens] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Tokens]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_tokens(user_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/tokens'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Tokens::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Tokens
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete user
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_user(user_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}'
+ command = make_simple_command(:delete, path, options)
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # retrieve user
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [String] custom_field_mask
+ # Comma-separated list of schema names. All fields from these schemas are
+ # fetched. This should only be set when projection=custom.
+ # @param [String] projection
+ # What subset of fields to fetch for this user.
+ # @param [String] view_type
+ # Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::User] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::User]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_user(user_key, custom_field_mask: nil, projection: nil, view_type: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::User::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::User
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['customFieldMask'] = custom_field_mask unless custom_field_mask.nil?
+ command.query['projection'] = projection unless projection.nil?
+ command.query['viewType'] = view_type unless view_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # create user.
+ # @param [Google::Apis::AdminDirectoryV1::User] user_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::User] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::User]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_user(user_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::User::Representation
+ command.request_object = user_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::User::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::User
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve either deleted users or all users in a domain (paginated)
+ # @param [String] custom_field_mask
+ # Comma-separated list of schema names. All fields from these schemas are
+ # fetched. This should only be set when projection=custom.
+ # @param [String] customer
+ # Immutable id of the Google Apps account. In case of multi-domain, to fetch all
+ # users for a customer, fill this field instead of domain.
+ # @param [String] domain
+ # Name of the domain. Fill this field to get users from only this domain. To
+ # return all users in a multi-domain fill customer field instead.
+ # @param [String] event
+ # Event on which subscription is intended (if subscribing)
+ # @param [Fixnum] max_results
+ # Maximum number of results to return. Default is 100. Max allowed is 500
+ # @param [String] order_by
+ # Column to use for sorting results
+ # @param [String] page_token
+ # Token to specify next page in the list
+ # @param [String] projection
+ # What subset of fields to fetch for this user.
+ # @param [String] query
+ # Query string search. Should be of the form "". Complete documentation is at
+ # https://developers.google.com/admin-sdk/directory/v1/guides/search-users
+ # @param [String] show_deleted
+ # If set to true retrieves the list of deleted users. Default is false
+ # @param [String] sort_order
+ # Whether to return results in ascending or descending order.
+ # @param [String] view_type
+ # Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Users] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Users]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_users(custom_field_mask: nil, customer: nil, domain: nil, event: nil, max_results: nil, order_by: nil, page_token: nil, projection: nil, query: nil, show_deleted: nil, sort_order: nil, view_type: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Users::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Users
+ command.query['customFieldMask'] = custom_field_mask unless custom_field_mask.nil?
+ command.query['customer'] = customer unless customer.nil?
+ command.query['domain'] = domain unless domain.nil?
+ command.query['event'] = event unless event.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['orderBy'] = order_by unless order_by.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['projection'] = projection unless projection.nil?
+ command.query['query'] = query unless query.nil?
+ command.query['showDeleted'] = show_deleted unless show_deleted.nil?
+ command.query['sortOrder'] = sort_order unless sort_order.nil?
+ command.query['viewType'] = view_type unless view_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # change admin status of a user
+ # @param [String] user_key
+ # Email or immutable Id of the user as admin
+ # @param [Google::Apis::AdminDirectoryV1::UserMakeAdmin] user_make_admin_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def make_admin_user(user_key, user_make_admin_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/makeAdmin'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::UserMakeAdmin::Representation
+ command.request_object = user_make_admin_object
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # update user. This method supports patch semantics.
+ # @param [String] user_key
+ # Email or immutable Id of the user. If Id, it should match with id of user
+ # object
+ # @param [Google::Apis::AdminDirectoryV1::User] user_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::User] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::User]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_user(user_key, user_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::User::Representation
+ command.request_object = user_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::User::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::User
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Undelete a deleted user
+ # @param [String] user_key
+ # The immutable id of the user
+ # @param [Google::Apis::AdminDirectoryV1::UserUndelete] user_undelete_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def undelete_user(user_key, user_undelete_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/undelete'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::UserUndelete::Representation
+ command.request_object = user_undelete_object
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # update user
+ # @param [String] user_key
+ # Email or immutable Id of the user. If Id, it should match with id of user
+ # object
+ # @param [Google::Apis::AdminDirectoryV1::User] user_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::User] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::User]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_user(user_key, user_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::User::Representation
+ command.request_object = user_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::User::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::User
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Watch for changes in users list
+ # @param [Google::Apis::AdminDirectoryV1::Channel] channel_object
+ # @param [String] custom_field_mask
+ # Comma-separated list of schema names. All fields from these schemas are
+ # fetched. This should only be set when projection=custom.
+ # @param [String] customer
+ # Immutable id of the Google Apps account. In case of multi-domain, to fetch all
+ # users for a customer, fill this field instead of domain.
+ # @param [String] domain
+ # Name of the domain. Fill this field to get users from only this domain. To
+ # return all users in a multi-domain fill customer field instead.
+ # @param [String] event
+ # Event on which subscription is intended (if subscribing)
+ # @param [Fixnum] max_results
+ # Maximum number of results to return. Default is 100. Max allowed is 500
+ # @param [String] order_by
+ # Column to use for sorting results
+ # @param [String] page_token
+ # Token to specify next page in the list
+ # @param [String] projection
+ # What subset of fields to fetch for this user.
+ # @param [String] query
+ # Query string search. Should be of the form "". Complete documentation is at
+ # https://developers.google.com/admin-sdk/directory/v1/guides/search-users
+ # @param [String] show_deleted
+ # If set to true retrieves the list of deleted users. Default is false
+ # @param [String] sort_order
+ # Whether to return results in ascending or descending order.
+ # @param [String] view_type
+ # Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Channel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Channel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def watch_user(channel_object = nil, custom_field_mask: nil, customer: nil, domain: nil, event: nil, max_results: nil, order_by: nil, page_token: nil, projection: nil, query: nil, show_deleted: nil, sort_order: nil, view_type: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/watch'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Channel::Representation
+ command.request_object = channel_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Channel::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Channel
+ command.query['customFieldMask'] = custom_field_mask unless custom_field_mask.nil?
+ command.query['customer'] = customer unless customer.nil?
+ command.query['domain'] = domain unless domain.nil?
+ command.query['event'] = event unless event.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['orderBy'] = order_by unless order_by.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['projection'] = projection unless projection.nil?
+ command.query['query'] = query unless query.nil?
+ command.query['showDeleted'] = show_deleted unless show_deleted.nil?
+ command.query['sortOrder'] = sort_order unless sort_order.nil?
+ command.query['viewType'] = view_type unless view_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Remove a alias for the user
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [String] user_alias
+ # The alias to be removed
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_user_alias(user_key, user_alias, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/aliases/{alias}'
+ command = make_simple_command(:delete, path, options)
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.params['alias'] = user_alias unless user_alias.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Add a alias for the user
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [Google::Apis::AdminDirectoryV1::Alias] alias_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Alias] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Alias]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_user_alias(user_key, alias_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/aliases'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Alias::Representation
+ command.request_object = alias_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Alias::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Alias
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all aliases for a user
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [String] event
+ # Event on which subscription is intended (if subscribing)
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Aliases] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Aliases]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_user_aliases(user_key, event: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/aliases'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::Aliases::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Aliases
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['event'] = event unless event.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Watch for changes in user aliases list
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [Google::Apis::AdminDirectoryV1::Channel] channel_object
+ # @param [String] event
+ # Event on which subscription is intended (if subscribing)
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::Channel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::Channel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def watch_user_alias(user_key, channel_object = nil, event: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/aliases/watch'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::Channel::Representation
+ command.request_object = channel_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::Channel::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::Channel
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['event'] = event unless event.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Remove photos for the user
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_user_photo(user_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/photos/thumbnail'
+ command = make_simple_command(:delete, path, options)
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieve photo of a user
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::UserPhoto] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::UserPhoto]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_user_photo(user_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/photos/thumbnail'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::UserPhoto::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::UserPhoto
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Add a photo for the user. This method supports patch semantics.
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [Google::Apis::AdminDirectoryV1::UserPhoto] user_photo_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::UserPhoto] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::UserPhoto]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_user_photo(user_key, user_photo_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/photos/thumbnail'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::UserPhoto::Representation
+ command.request_object = user_photo_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::UserPhoto::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::UserPhoto
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Add a photo for the user
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [Google::Apis::AdminDirectoryV1::UserPhoto] user_photo_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::UserPhoto] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::UserPhoto]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_user_photo(user_key, user_photo_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/photos/thumbnail'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdminDirectoryV1::UserPhoto::Representation
+ command.request_object = user_photo_object
+ command.response_representation = Google::Apis::AdminDirectoryV1::UserPhoto::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::UserPhoto
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generate new backup verification codes for the user.
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_verification_code(user_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/verificationCodes/generate'
+ command = make_simple_command(:post, path, options)
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Invalidate the current backup verification codes for the user.
+ # @param [String] user_key
+ # Email or immutable Id of the user
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def invalidate_verification_code(user_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/verificationCodes/invalidate'
+ command = make_simple_command(:post, path, options)
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns the current set of valid backup verification codes for the specified
+ # user.
+ # @param [String] user_key
+ # Identifies the user in the API request. The value can be the user's primary
+ # email address, alias email address, or unique user ID.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminDirectoryV1::VerificationCodes] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminDirectoryV1::VerificationCodes]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_verification_codes(user_key, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'users/{userKey}/verificationCodes'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminDirectoryV1::VerificationCodes::Representation
+ command.response_class = Google::Apis::AdminDirectoryV1::VerificationCodes
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ protected
+
+ def apply_command_defaults(command)
+ command.query['key'] = key unless key.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/admin_reports_v1.rb b/generated/google/apis/admin_reports_v1.rb
new file mode 100644
index 000000000..59ccddb05
--- /dev/null
+++ b/generated/google/apis/admin_reports_v1.rb
@@ -0,0 +1,38 @@
+# 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 'google/apis/admin_reports_v1/service.rb'
+require 'google/apis/admin_reports_v1/classes.rb'
+require 'google/apis/admin_reports_v1/representations.rb'
+
+module Google
+ module Apis
+ # Admin Reports API
+ #
+ # Allows the administrators of Google Apps customers to fetch reports about the
+ # usage, collaboration, security and risk for their users.
+ #
+ # @see https://developers.google.com/admin-sdk/reports/
+ module AdminReportsV1
+ VERSION = 'ReportsV1'
+ REVISION = '20150429'
+
+ # View audit reports of Google Apps for your domain
+ AUTH_ADMIN_REPORTS_AUDIT_READONLY = 'https://www.googleapis.com/auth/admin.reports.audit.readonly'
+
+ # View usage reports of Google Apps for your domain
+ AUTH_ADMIN_REPORTS_USAGE_READONLY = 'https://www.googleapis.com/auth/admin.reports.usage.readonly'
+ end
+ end
+end
diff --git a/generated/google/apis/admin_reports_v1/classes.rb b/generated/google/apis/admin_reports_v1/classes.rb
new file mode 100644
index 000000000..17fd1d02b
--- /dev/null
+++ b/generated/google/apis/admin_reports_v1/classes.rb
@@ -0,0 +1,582 @@
+# 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 AdminReportsV1
+
+ # JSON template for a collection of activites.
+ class Activities
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Each record in read response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list response this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Token for retrieving the next page
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ # JSON template for the activity resource.
+ class Activity
+ include Google::Apis::Core::Hashable
+
+ # User doing the action.
+ # Corresponds to the JSON property `actor`
+ # @return [Google::Apis::AdminReportsV1::Activity::Actor]
+ attr_accessor :actor
+
+ # ETag of the entry.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # Activity events.
+ # Corresponds to the JSON property `events`
+ # @return [Array]
+ attr_accessor :events
+
+ # Unique identifier for each activity record.
+ # Corresponds to the JSON property `id`
+ # @return [Google::Apis::AdminReportsV1::Activity::Id]
+ attr_accessor :id
+
+ # IP Address of the user doing the action.
+ # Corresponds to the JSON property `ipAddress`
+ # @return [String]
+ attr_accessor :ip_address
+
+ # Kind of resource this is.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Domain of source customer.
+ # Corresponds to the JSON property `ownerDomain`
+ # @return [String]
+ attr_accessor :owner_domain
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @actor = args[:actor] unless args[:actor].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @events = args[:events] unless args[:events].nil?
+ @id = args[:id] unless args[:id].nil?
+ @ip_address = args[:ip_address] unless args[:ip_address].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @owner_domain = args[:owner_domain] unless args[:owner_domain].nil?
+ end
+
+ # User doing the action.
+ class Actor
+ include Google::Apis::Core::Hashable
+
+ # User or OAuth 2LO request.
+ # Corresponds to the JSON property `callerType`
+ # @return [String]
+ attr_accessor :caller_type
+
+ # Email address of the user.
+ # Corresponds to the JSON property `email`
+ # @return [String]
+ attr_accessor :email
+
+ # For OAuth 2LO API requests, consumer_key of the requestor.
+ # Corresponds to the JSON property `key`
+ # @return [String]
+ attr_accessor :key
+
+ # Obfuscated user id of the user.
+ # Corresponds to the JSON property `profileId`
+ # @return [String]
+ attr_accessor :profile_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @caller_type = args[:caller_type] unless args[:caller_type].nil?
+ @email = args[:email] unless args[:email].nil?
+ @key = args[:key] unless args[:key].nil?
+ @profile_id = args[:profile_id] unless args[:profile_id].nil?
+ end
+ end
+
+ #
+ class Event
+ include Google::Apis::Core::Hashable
+
+ # Name of event.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # Parameter value pairs for various applications.
+ # Corresponds to the JSON property `parameters`
+ # @return [Array]
+ attr_accessor :parameters
+
+ # Type of event.
+ # 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)
+ @name = args[:name] unless args[:name].nil?
+ @parameters = args[:parameters] unless args[:parameters].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+
+ #
+ class Parameter
+ include Google::Apis::Core::Hashable
+
+ # Boolean value of the parameter.
+ # Corresponds to the JSON property `boolValue`
+ # @return [Boolean]
+ attr_accessor :bool_value
+ alias_method :bool_value?, :bool_value
+
+ # Integral value of the parameter.
+ # Corresponds to the JSON property `intValue`
+ # @return [String]
+ attr_accessor :int_value
+
+ # Multi-int value of the parameter.
+ # Corresponds to the JSON property `multiIntValue`
+ # @return [Array]
+ attr_accessor :multi_int_value
+
+ # Multi-string value of the parameter.
+ # Corresponds to the JSON property `multiValue`
+ # @return [Array]
+ attr_accessor :multi_value
+
+ # The name of the parameter.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # String value of the parameter.
+ # Corresponds to the JSON property `value`
+ # @return [String]
+ attr_accessor :value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @bool_value = args[:bool_value] unless args[:bool_value].nil?
+ @int_value = args[:int_value] unless args[:int_value].nil?
+ @multi_int_value = args[:multi_int_value] unless args[:multi_int_value].nil?
+ @multi_value = args[:multi_value] unless args[:multi_value].nil?
+ @name = args[:name] unless args[:name].nil?
+ @value = args[:value] unless args[:value].nil?
+ end
+ end
+ end
+
+ # Unique identifier for each activity record.
+ class Id
+ include Google::Apis::Core::Hashable
+
+ # Application name to which the event belongs.
+ # Corresponds to the JSON property `applicationName`
+ # @return [String]
+ attr_accessor :application_name
+
+ # Obfuscated customer ID of the source customer.
+ # Corresponds to the JSON property `customerId`
+ # @return [String]
+ attr_accessor :customer_id
+
+ # Time of occurrence of the activity.
+ # Corresponds to the JSON property `time`
+ # @return [DateTime]
+ attr_accessor :time
+
+ # Unique qualifier if multiple events have the same time.
+ # Corresponds to the JSON property `uniqueQualifier`
+ # @return [String]
+ attr_accessor :unique_qualifier
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @application_name = args[:application_name] unless args[:application_name].nil?
+ @customer_id = args[:customer_id] unless args[:customer_id].nil?
+ @time = args[:time] unless args[:time].nil?
+ @unique_qualifier = args[:unique_qualifier] unless args[:unique_qualifier].nil?
+ end
+ end
+ end
+
+ # An notification channel used to watch for resource changes.
+ class Channel
+ include Google::Apis::Core::Hashable
+
+ # The address where notifications are delivered for this channel.
+ # Corresponds to the JSON property `address`
+ # @return [String]
+ attr_accessor :address
+
+ # Date and time of notification channel expiration, expressed as a Unix
+ # timestamp, in milliseconds. Optional.
+ # Corresponds to the JSON property `expiration`
+ # @return [String]
+ attr_accessor :expiration
+
+ # A UUID or similar unique string that identifies this channel.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Identifies this as a notification channel used to watch for changes to a
+ # resource. Value: the fixed string "api#channel".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Additional parameters controlling delivery channel behavior. Optional.
+ # Corresponds to the JSON property `params`
+ # @return [Hash]
+ attr_accessor :params
+
+ # A Boolean value to indicate whether payload is wanted. Optional.
+ # Corresponds to the JSON property `payload`
+ # @return [Boolean]
+ attr_accessor :payload
+ alias_method :payload?, :payload
+
+ # An opaque ID that identifies the resource being watched on this channel.
+ # Stable across different API versions.
+ # Corresponds to the JSON property `resourceId`
+ # @return [String]
+ attr_accessor :resource_id
+
+ # A version-specific identifier for the watched resource.
+ # Corresponds to the JSON property `resourceUri`
+ # @return [String]
+ attr_accessor :resource_uri
+
+ # An arbitrary string delivered to the target address with each notification
+ # delivered over this channel. Optional.
+ # Corresponds to the JSON property `token`
+ # @return [String]
+ attr_accessor :token
+
+ # The type of delivery mechanism used for this channel.
+ # 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)
+ @address = args[:address] unless args[:address].nil?
+ @expiration = args[:expiration] unless args[:expiration].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @params = args[:params] unless args[:params].nil?
+ @payload = args[:payload] unless args[:payload].nil?
+ @resource_id = args[:resource_id] unless args[:resource_id].nil?
+ @resource_uri = args[:resource_uri] unless args[:resource_uri].nil?
+ @token = args[:token] unless args[:token].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ # JSON template for a usage report.
+ class UsageReport
+ include Google::Apis::Core::Hashable
+
+ # The date to which the record belongs.
+ # Corresponds to the JSON property `date`
+ # @return [String]
+ attr_accessor :date
+
+ # Information about the type of the item.
+ # Corresponds to the JSON property `entity`
+ # @return [Google::Apis::AdminReportsV1::UsageReport::Entity]
+ attr_accessor :entity
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The kind of object.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Parameter value pairs for various applications.
+ # Corresponds to the JSON property `parameters`
+ # @return [Array]
+ attr_accessor :parameters
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @date = args[:date] unless args[:date].nil?
+ @entity = args[:entity] unless args[:entity].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @parameters = args[:parameters] unless args[:parameters].nil?
+ end
+
+ # Information about the type of the item.
+ class Entity
+ include Google::Apis::Core::Hashable
+
+ # Obfuscated customer id for the record.
+ # Corresponds to the JSON property `customerId`
+ # @return [String]
+ attr_accessor :customer_id
+
+ # Obfuscated user id for the record.
+ # Corresponds to the JSON property `profileId`
+ # @return [String]
+ attr_accessor :profile_id
+
+ # The type of item, can be a customer or user.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # user's email.
+ # Corresponds to the JSON property `userEmail`
+ # @return [String]
+ attr_accessor :user_email
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @customer_id = args[:customer_id] unless args[:customer_id].nil?
+ @profile_id = args[:profile_id] unless args[:profile_id].nil?
+ @type = args[:type] unless args[:type].nil?
+ @user_email = args[:user_email] unless args[:user_email].nil?
+ end
+ end
+
+ #
+ class Parameter
+ include Google::Apis::Core::Hashable
+
+ # Boolean value of the parameter.
+ # Corresponds to the JSON property `boolValue`
+ # @return [Boolean]
+ attr_accessor :bool_value
+ alias_method :bool_value?, :bool_value
+
+ # RFC 3339 formatted value of the parameter.
+ # Corresponds to the JSON property `datetimeValue`
+ # @return [DateTime]
+ attr_accessor :datetime_value
+
+ # Integral value of the parameter.
+ # Corresponds to the JSON property `intValue`
+ # @return [String]
+ attr_accessor :int_value
+
+ # Nested message value of the parameter.
+ # Corresponds to the JSON property `msgValue`
+ # @return [Array>]
+ attr_accessor :msg_value
+
+ # The name of the parameter.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # String value of the parameter.
+ # Corresponds to the JSON property `stringValue`
+ # @return [String]
+ attr_accessor :string_value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @bool_value = args[:bool_value] unless args[:bool_value].nil?
+ @datetime_value = args[:datetime_value] unless args[:datetime_value].nil?
+ @int_value = args[:int_value] unless args[:int_value].nil?
+ @msg_value = args[:msg_value] unless args[:msg_value].nil?
+ @name = args[:name] unless args[:name].nil?
+ @string_value = args[:string_value] unless args[:string_value].nil?
+ end
+ end
+ end
+
+ # JSON template for a collection of usage reports.
+ class UsageReports
+ include Google::Apis::Core::Hashable
+
+ # ETag of the resource.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The kind of object.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Token for retrieving the next page
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ # Various application parameter records.
+ # Corresponds to the JSON property `usageReports`
+ # @return [Array]
+ attr_accessor :usage_reports
+
+ # Warnings if any.
+ # Corresponds to the JSON property `warnings`
+ # @return [Array]
+ attr_accessor :warnings
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ @usage_reports = args[:usage_reports] unless args[:usage_reports].nil?
+ @warnings = args[:warnings] unless args[:warnings].nil?
+ end
+
+ #
+ class Warning
+ include Google::Apis::Core::Hashable
+
+ # Machine readable code / warning type.
+ # Corresponds to the JSON property `code`
+ # @return [String]
+ attr_accessor :code
+
+ # Key-Value pairs to give detailed information on the warning.
+ # Corresponds to the JSON property `data`
+ # @return [Array]
+ attr_accessor :data
+
+ # Human readable message for the warning.
+ # Corresponds to the JSON property `message`
+ # @return [String]
+ attr_accessor :message
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @code = args[:code] unless args[:code].nil?
+ @data = args[:data] unless args[:data].nil?
+ @message = args[:message] unless args[:message].nil?
+ end
+
+ #
+ class Datum
+ include Google::Apis::Core::Hashable
+
+ # Key associated with a key-value pair to give detailed information on the
+ # warning.
+ # Corresponds to the JSON property `key`
+ # @return [String]
+ attr_accessor :key
+
+ # Value associated with a key-value pair to give detailed information on the
+ # warning.
+ # Corresponds to the JSON property `value`
+ # @return [String]
+ attr_accessor :value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @key = args[:key] unless args[:key].nil?
+ @value = args[:value] unless args[:value].nil?
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/admin_reports_v1/representations.rb b/generated/google/apis/admin_reports_v1/representations.rb
new file mode 100644
index 000000000..dccc8c3b1
--- /dev/null
+++ b/generated/google/apis/admin_reports_v1/representations.rb
@@ -0,0 +1,231 @@
+# 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 AdminReportsV1
+
+ class Activities
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Activity
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Actor
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Event
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Parameter
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class Id
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class Channel
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UsageReport
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Entity
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Parameter
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class UsageReports
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Warning
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Datum
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+ end
+
+ # @private
+ class Activities
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdminReportsV1::Activity, decorator: Google::Apis::AdminReportsV1::Activity::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class Activity
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :actor, as: 'actor', class: Google::Apis::AdminReportsV1::Activity::Actor, decorator: Google::Apis::AdminReportsV1::Activity::Actor::Representation
+
+ property :etag, as: 'etag'
+ collection :events, as: 'events', class: Google::Apis::AdminReportsV1::Activity::Event, decorator: Google::Apis::AdminReportsV1::Activity::Event::Representation
+
+ property :id, as: 'id', class: Google::Apis::AdminReportsV1::Activity::Id, decorator: Google::Apis::AdminReportsV1::Activity::Id::Representation
+
+ property :ip_address, as: 'ipAddress'
+ property :kind, as: 'kind'
+ property :owner_domain, as: 'ownerDomain'
+ end
+
+ # @private
+ class Actor
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :caller_type, as: 'callerType'
+ property :email, as: 'email'
+ property :key, as: 'key'
+ property :profile_id, as: 'profileId'
+ end
+ end
+
+ # @private
+ class Event
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :name, as: 'name'
+ collection :parameters, as: 'parameters', class: Google::Apis::AdminReportsV1::Activity::Event::Parameter, decorator: Google::Apis::AdminReportsV1::Activity::Event::Parameter::Representation
+
+ property :type, as: 'type'
+ end
+
+ # @private
+ class Parameter
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :bool_value, as: 'boolValue'
+ property :int_value, as: 'intValue'
+ collection :multi_int_value, as: 'multiIntValue'
+ collection :multi_value, as: 'multiValue'
+ property :name, as: 'name'
+ property :value, as: 'value'
+ end
+ end
+ end
+
+ # @private
+ class Id
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :application_name, as: 'applicationName'
+ property :customer_id, as: 'customerId'
+ property :time, as: 'time', type: DateTime
+
+ property :unique_qualifier, as: 'uniqueQualifier'
+ end
+ end
+ end
+
+ # @private
+ class Channel
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :address, as: 'address'
+ property :expiration, as: 'expiration'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ hash :params, as: 'params'
+ property :payload, as: 'payload'
+ property :resource_id, as: 'resourceId'
+ property :resource_uri, as: 'resourceUri'
+ property :token, as: 'token'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class UsageReport
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :date, as: 'date'
+ property :entity, as: 'entity', class: Google::Apis::AdminReportsV1::UsageReport::Entity, decorator: Google::Apis::AdminReportsV1::UsageReport::Entity::Representation
+
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ collection :parameters, as: 'parameters', class: Google::Apis::AdminReportsV1::UsageReport::Parameter, decorator: Google::Apis::AdminReportsV1::UsageReport::Parameter::Representation
+
+ end
+
+ # @private
+ class Entity
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :customer_id, as: 'customerId'
+ property :profile_id, as: 'profileId'
+ property :type, as: 'type'
+ property :user_email, as: 'userEmail'
+ end
+ end
+
+ # @private
+ class Parameter
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :bool_value, as: 'boolValue'
+ property :datetime_value, as: 'datetimeValue', type: DateTime
+
+ property :int_value, as: 'intValue'
+ collection :msg_value, as: 'msgValue'
+ property :name, as: 'name'
+ property :string_value, as: 'stringValue'
+ end
+ end
+ end
+
+ # @private
+ class UsageReports
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ collection :usage_reports, as: 'usageReports', class: Google::Apis::AdminReportsV1::UsageReport, decorator: Google::Apis::AdminReportsV1::UsageReport::Representation
+
+ collection :warnings, as: 'warnings', class: Google::Apis::AdminReportsV1::UsageReports::Warning, decorator: Google::Apis::AdminReportsV1::UsageReports::Warning::Representation
+
+ end
+
+ # @private
+ class Warning
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :code, as: 'code'
+ collection :data, as: 'data', class: Google::Apis::AdminReportsV1::UsageReports::Warning::Datum, decorator: Google::Apis::AdminReportsV1::UsageReports::Warning::Datum::Representation
+
+ property :message, as: 'message'
+ end
+
+ # @private
+ class Datum
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :key, as: 'key'
+ property :value, as: 'value'
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/admin_reports_v1/service.rb b/generated/google/apis/admin_reports_v1/service.rb
new file mode 100644
index 000000000..d4052a259
--- /dev/null
+++ b/generated/google/apis/admin_reports_v1/service.rb
@@ -0,0 +1,341 @@
+# 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 '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 AdminReportsV1
+ # Admin Reports API
+ #
+ # Allows the administrators of Google Apps customers to fetch reports about the
+ # usage, collaboration, security and risk for their users.
+ #
+ # @example
+ # require 'google/apis/admin_reports_v1'
+ #
+ # Admin = Google::Apis::AdminReportsV1 # Alias the module
+ # service = Admin::ReportsService.new
+ #
+ # @see https://developers.google.com/admin-sdk/reports/
+ class ReportsService < Google::Apis::Core::BaseService
+ # @return [String]
+ # API key. Your API key identifies your project and provides you with API access,
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
+ attr_accessor :key
+
+ # @return [String]
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ attr_accessor :quota_user
+
+ # @return [String]
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ attr_accessor :user_ip
+
+ def initialize
+ super('https://www.googleapis.com/', 'admin/reports/v1/')
+ end
+
+ # Retrieves a list of activities for a specific customer and application.
+ # @param [String] user_key
+ # Represents the profile id or the user email for which the data should be
+ # filtered. When 'all' is specified as the userKey, it returns usageReports for
+ # all users.
+ # @param [String] application_name
+ # Application name for which the events are to be retrieved.
+ # @param [String] actor_ip_address
+ # IP Address of host where the event was performed. Supports both IPv4 and IPv6
+ # addresses.
+ # @param [String] customer_id
+ # Represents the customer for which the data is to be fetched.
+ # @param [String] end_time
+ # Return events which occured at or before this time.
+ # @param [String] event_name
+ # Name of the event being queried.
+ # @param [String] filters
+ # Event parameters in the form [parameter1 name][operator][parameter1 value],[
+ # parameter2 name][operator][parameter2 value],...
+ # @param [Fixnum] max_results
+ # Number of activity records to be shown in each page.
+ # @param [String] page_token
+ # Token to specify next page.
+ # @param [String] start_time
+ # Return events which occured at or after this time.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminReportsV1::Activities] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminReportsV1::Activities]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_activities(user_key, application_name, actor_ip_address: nil, customer_id: nil, end_time: nil, event_name: nil, filters: nil, max_results: nil, page_token: nil, start_time: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'activity/users/{userKey}/applications/{applicationName}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminReportsV1::Activities::Representation
+ command.response_class = Google::Apis::AdminReportsV1::Activities
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.params['applicationName'] = application_name unless application_name.nil?
+ command.query['actorIpAddress'] = actor_ip_address unless actor_ip_address.nil?
+ command.query['customerId'] = customer_id unless customer_id.nil?
+ command.query['endTime'] = end_time unless end_time.nil?
+ command.query['eventName'] = event_name unless event_name.nil?
+ command.query['filters'] = filters unless filters.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['startTime'] = start_time unless start_time.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Push changes to activities
+ # @param [String] user_key
+ # Represents the profile id or the user email for which the data should be
+ # filtered. When 'all' is specified as the userKey, it returns usageReports for
+ # all users.
+ # @param [String] application_name
+ # Application name for which the events are to be retrieved.
+ # @param [Google::Apis::AdminReportsV1::Channel] channel_object
+ # @param [String] actor_ip_address
+ # IP Address of host where the event was performed. Supports both IPv4 and IPv6
+ # addresses.
+ # @param [String] customer_id
+ # Represents the customer for which the data is to be fetched.
+ # @param [String] end_time
+ # Return events which occured at or before this time.
+ # @param [String] event_name
+ # Name of the event being queried.
+ # @param [String] filters
+ # Event parameters in the form [parameter1 name][operator][parameter1 value],[
+ # parameter2 name][operator][parameter2 value],...
+ # @param [Fixnum] max_results
+ # Number of activity records to be shown in each page.
+ # @param [String] page_token
+ # Token to specify next page.
+ # @param [String] start_time
+ # Return events which occured at or after this time.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminReportsV1::Channel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminReportsV1::Channel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def watch_activity(user_key, application_name, channel_object = nil, actor_ip_address: nil, customer_id: nil, end_time: nil, event_name: nil, filters: nil, max_results: nil, page_token: nil, start_time: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'activity/users/{userKey}/applications/{applicationName}/watch'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminReportsV1::Channel::Representation
+ command.request_object = channel_object
+ command.response_representation = Google::Apis::AdminReportsV1::Channel::Representation
+ command.response_class = Google::Apis::AdminReportsV1::Channel
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.params['applicationName'] = application_name unless application_name.nil?
+ command.query['actorIpAddress'] = actor_ip_address unless actor_ip_address.nil?
+ command.query['customerId'] = customer_id unless customer_id.nil?
+ command.query['endTime'] = end_time unless end_time.nil?
+ command.query['eventName'] = event_name unless event_name.nil?
+ command.query['filters'] = filters unless filters.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['startTime'] = start_time unless start_time.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Stop watching resources through this channel
+ # @param [Google::Apis::AdminReportsV1::Channel] channel_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def stop_channel(channel_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '/admin/reports_v1/channels/stop'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdminReportsV1::Channel::Representation
+ command.request_object = channel_object
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves a report which is a collection of properties / statistics for a
+ # specific customer.
+ # @param [String] date
+ # Represents the date in yyyy-mm-dd format for which the data is to be fetched.
+ # @param [String] customer_id
+ # Represents the customer for which the data is to be fetched.
+ # @param [String] page_token
+ # Token to specify next page.
+ # @param [String] parameters
+ # Represents the application name, parameter name pairs to fetch in csv as
+ # app_name1:param_name1, app_name2:param_name2.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminReportsV1::UsageReports] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminReportsV1::UsageReports]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_customer_usage_report(date, customer_id: nil, page_token: nil, parameters: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'usage/dates/{date}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminReportsV1::UsageReports::Representation
+ command.response_class = Google::Apis::AdminReportsV1::UsageReports
+ command.params['date'] = date unless date.nil?
+ command.query['customerId'] = customer_id unless customer_id.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['parameters'] = parameters unless parameters.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves a report which is a collection of properties / statistics for a set
+ # of users.
+ # @param [String] user_key
+ # Represents the profile id or the user email for which the data should be
+ # filtered.
+ # @param [String] date
+ # Represents the date in yyyy-mm-dd format for which the data is to be fetched.
+ # @param [String] customer_id
+ # Represents the customer for which the data is to be fetched.
+ # @param [String] filters
+ # Represents the set of filters including parameter operator value.
+ # @param [Fixnum] max_results
+ # Maximum number of results to return. Maximum allowed is 1000
+ # @param [String] page_token
+ # Token to specify next page.
+ # @param [String] parameters
+ # Represents the application name, parameter name pairs to fetch in csv as
+ # app_name1:param_name1, app_name2:param_name2.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdminReportsV1::UsageReports] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdminReportsV1::UsageReports]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_user_usage_report(user_key, date, customer_id: nil, filters: nil, max_results: nil, page_token: nil, parameters: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'usage/users/{userKey}/dates/{date}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdminReportsV1::UsageReports::Representation
+ command.response_class = Google::Apis::AdminReportsV1::UsageReports
+ command.params['userKey'] = user_key unless user_key.nil?
+ command.params['date'] = date unless date.nil?
+ command.query['customerId'] = customer_id unless customer_id.nil?
+ command.query['filters'] = filters unless filters.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['parameters'] = parameters unless parameters.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ protected
+
+ def apply_command_defaults(command)
+ command.query['key'] = key unless key.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adsense_v1_4.rb b/generated/google/apis/adsense_v1_4.rb
new file mode 100644
index 000000000..038f13b30
--- /dev/null
+++ b/generated/google/apis/adsense_v1_4.rb
@@ -0,0 +1,38 @@
+# 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 'google/apis/adsense_v1_4/service.rb'
+require 'google/apis/adsense_v1_4/classes.rb'
+require 'google/apis/adsense_v1_4/representations.rb'
+
+module Google
+ module Apis
+ # AdSense Management API
+ #
+ # Gives AdSense publishers access to their inventory and the ability to generate
+ # reports
+ #
+ # @see https://developers.google.com/adsense/management/
+ module AdsenseV1_4
+ VERSION = 'V1_4'
+ REVISION = '20150519'
+
+ # View and manage your AdSense data
+ AUTH_ADSENSE = 'https://www.googleapis.com/auth/adsense'
+
+ # View your AdSense data
+ AUTH_ADSENSE_READONLY = 'https://www.googleapis.com/auth/adsense.readonly'
+ end
+ end
+end
diff --git a/generated/google/apis/adsense_v1_4/classes.rb b/generated/google/apis/adsense_v1_4/classes.rb
new file mode 100644
index 000000000..5e0928a10
--- /dev/null
+++ b/generated/google/apis/adsense_v1_4/classes.rb
@@ -0,0 +1,1279 @@
+# 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 AdsenseV1_4
+
+ #
+ class Account
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this account.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsense#account.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Name of this account.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # Whether this account is premium.
+ # Corresponds to the JSON property `premium`
+ # @return [Boolean]
+ attr_accessor :premium
+ alias_method :premium?, :premium
+
+ # Sub accounts of the this account.
+ # Corresponds to the JSON property `subAccounts`
+ # @return [Array]
+ attr_accessor :sub_accounts
+
+ # AdSense timezone of this account.
+ # Corresponds to the JSON property `timezone`
+ # @return [String]
+ attr_accessor :timezone
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @premium = args[:premium] unless args[:premium].nil?
+ @sub_accounts = args[:sub_accounts] unless args[:sub_accounts].nil?
+ @timezone = args[:timezone] unless args[:timezone].nil?
+ end
+ end
+
+ #
+ class Accounts
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The accounts returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsense#accounts.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through accounts. To retrieve the next page of
+ # results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class AdClient
+ include Google::Apis::Core::Hashable
+
+ # Whether this ad client is opted in to ARC.
+ # Corresponds to the JSON property `arcOptIn`
+ # @return [Boolean]
+ attr_accessor :arc_opt_in
+ alias_method :arc_opt_in?, :arc_opt_in
+
+ # ARC review mode this ad client is in. Empty if the client is not opted in to
+ # ARC. Possible values: POST_REVIEW, AUTOMATIC_PRE_REVIEW.
+ # Corresponds to the JSON property `arcReviewMode`
+ # @return [String]
+ attr_accessor :arc_review_mode
+
+ # Unique identifier of this ad client.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsense#adClient.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # This ad client's product code, which corresponds to the PRODUCT_CODE report
+ # dimension.
+ # Corresponds to the JSON property `productCode`
+ # @return [String]
+ attr_accessor :product_code
+
+ # Whether this ad client supports being reported on.
+ # Corresponds to the JSON property `supportsReporting`
+ # @return [Boolean]
+ attr_accessor :supports_reporting
+ alias_method :supports_reporting?, :supports_reporting
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @arc_opt_in = args[:arc_opt_in] unless args[:arc_opt_in].nil?
+ @arc_review_mode = args[:arc_review_mode] unless args[:arc_review_mode].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @product_code = args[:product_code] unless args[:product_code].nil?
+ @supports_reporting = args[:supports_reporting] unless args[:supports_reporting].nil?
+ end
+ end
+
+ #
+ class AdClients
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The ad clients returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsense#adClients.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through ad clients. To retrieve the next page
+ # of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class AdCode
+ include Google::Apis::Core::Hashable
+
+ # The ad code snippet.
+ # Corresponds to the JSON property `adCode`
+ # @return [String]
+ attr_accessor :ad_code
+
+ # Kind this is, in this case adsense#adCode.
+ # 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)
+ @ad_code = args[:ad_code] unless args[:ad_code].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class AdStyle
+ include Google::Apis::Core::Hashable
+
+ # The colors which are included in the style. These are represented as six
+ # hexadecimal characters, similar to HTML color codes, but without the leading
+ # hash.
+ # Corresponds to the JSON property `colors`
+ # @return [Google::Apis::AdsenseV1_4::AdStyle::Colors]
+ attr_accessor :colors
+
+ # The style of the corners in the ad.
+ # Corresponds to the JSON property `corners`
+ # @return [String]
+ attr_accessor :corners
+
+ # The font which is included in the style.
+ # Corresponds to the JSON property `font`
+ # @return [Google::Apis::AdsenseV1_4::AdStyle::Font]
+ attr_accessor :font
+
+ # Kind this is, in this case adsense#adStyle.
+ # 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)
+ @colors = args[:colors] unless args[:colors].nil?
+ @corners = args[:corners] unless args[:corners].nil?
+ @font = args[:font] unless args[:font].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+
+ # The colors which are included in the style. These are represented as six
+ # hexadecimal characters, similar to HTML color codes, but without the leading
+ # hash.
+ class Colors
+ include Google::Apis::Core::Hashable
+
+ # The color of the ad background.
+ # Corresponds to the JSON property `background`
+ # @return [String]
+ attr_accessor :background
+
+ # The color of the ad border.
+ # Corresponds to the JSON property `border`
+ # @return [String]
+ attr_accessor :border
+
+ # The color of the ad text.
+ # Corresponds to the JSON property `text`
+ # @return [String]
+ attr_accessor :text
+
+ # The color of the ad title.
+ # Corresponds to the JSON property `title`
+ # @return [String]
+ attr_accessor :title
+
+ # The color of the ad url.
+ # 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)
+ @background = args[:background] unless args[:background].nil?
+ @border = args[:border] unless args[:border].nil?
+ @text = args[:text] unless args[:text].nil?
+ @title = args[:title] unless args[:title].nil?
+ @url = args[:url] unless args[:url].nil?
+ end
+ end
+
+ # The font which is included in the style.
+ class Font
+ include Google::Apis::Core::Hashable
+
+ # The family of the font.
+ # Corresponds to the JSON property `family`
+ # @return [String]
+ attr_accessor :family
+
+ # The size of the font.
+ # Corresponds to the JSON property `size`
+ # @return [String]
+ attr_accessor :size
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @family = args[:family] unless args[:family].nil?
+ @size = args[:size] unless args[:size].nil?
+ end
+ end
+ end
+
+ #
+ class AdUnit
+ include Google::Apis::Core::Hashable
+
+ # Identity code of this ad unit, not necessarily unique across ad clients.
+ # Corresponds to the JSON property `code`
+ # @return [String]
+ attr_accessor :code
+
+ # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+ # Corresponds to the JSON property `contentAdsSettings`
+ # @return [Google::Apis::AdsenseV1_4::AdUnit::ContentAdsSettings]
+ attr_accessor :content_ads_settings
+
+ # Custom style information specific to this ad unit.
+ # Corresponds to the JSON property `customStyle`
+ # @return [Google::Apis::AdsenseV1_4::AdStyle]
+ attr_accessor :custom_style
+
+ # Settings specific to feed ads (AFF).
+ # Corresponds to the JSON property `feedAdsSettings`
+ # @return [Google::Apis::AdsenseV1_4::AdUnit::FeedAdsSettings]
+ attr_accessor :feed_ads_settings
+
+ # Unique identifier of this ad unit. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsense#adUnit.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Settings specific to WAP mobile content ads (AFMC).
+ # Corresponds to the JSON property `mobileContentAdsSettings`
+ # @return [Google::Apis::AdsenseV1_4::AdUnit::MobileContentAdsSettings]
+ attr_accessor :mobile_content_ads_settings
+
+ # Name of this ad unit.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # ID of the saved ad style which holds this ad unit's style information.
+ # Corresponds to the JSON property `savedStyleId`
+ # @return [String]
+ attr_accessor :saved_style_id
+
+ # Status of this ad unit. Possible values are:
+ # NEW: Indicates that the ad unit was created within the last seven days and
+ # does not yet have any activity associated with it.
+ # ACTIVE: Indicates that there has been activity on this ad unit in the last
+ # seven days.
+ # INACTIVE: Indicates that there has been no activity on this ad unit in the
+ # last seven days.
+ # Corresponds to the JSON property `status`
+ # @return [String]
+ attr_accessor :status
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @code = args[:code] unless args[:code].nil?
+ @content_ads_settings = args[:content_ads_settings] unless args[:content_ads_settings].nil?
+ @custom_style = args[:custom_style] unless args[:custom_style].nil?
+ @feed_ads_settings = args[:feed_ads_settings] unless args[:feed_ads_settings].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @mobile_content_ads_settings = args[:mobile_content_ads_settings] unless args[:mobile_content_ads_settings].nil?
+ @name = args[:name] unless args[:name].nil?
+ @saved_style_id = args[:saved_style_id] unless args[:saved_style_id].nil?
+ @status = args[:status] unless args[:status].nil?
+ end
+
+ # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+ class ContentAdsSettings
+ include Google::Apis::Core::Hashable
+
+ # The backup option to be used in instances where no ad is available.
+ # Corresponds to the JSON property `backupOption`
+ # @return [Google::Apis::AdsenseV1_4::AdUnit::ContentAdsSettings::BackupOption]
+ attr_accessor :backup_option
+
+ # Size of this ad unit.
+ # Corresponds to the JSON property `size`
+ # @return [String]
+ attr_accessor :size
+
+ # Type of this ad unit.
+ # 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)
+ @backup_option = args[:backup_option] unless args[:backup_option].nil?
+ @size = args[:size] unless args[:size].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+
+ # The backup option to be used in instances where no ad is available.
+ class BackupOption
+ include Google::Apis::Core::Hashable
+
+ # Color to use when type is set to COLOR.
+ # Corresponds to the JSON property `color`
+ # @return [String]
+ attr_accessor :color
+
+ # Type of the backup option. Possible values are BLANK, COLOR and URL.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # URL to use when type is set to URL.
+ # 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)
+ @color = args[:color] unless args[:color].nil?
+ @type = args[:type] unless args[:type].nil?
+ @url = args[:url] unless args[:url].nil?
+ end
+ end
+ end
+
+ # Settings specific to feed ads (AFF).
+ class FeedAdsSettings
+ include Google::Apis::Core::Hashable
+
+ # The position of the ads relative to the feed entries.
+ # Corresponds to the JSON property `adPosition`
+ # @return [String]
+ attr_accessor :ad_position
+
+ # The frequency at which ads should appear in the feed (i.e. every N entries).
+ # Corresponds to the JSON property `frequency`
+ # @return [Fixnum]
+ attr_accessor :frequency
+
+ # The minimum length an entry should be in order to have attached ads.
+ # Corresponds to the JSON property `minimumWordCount`
+ # @return [Fixnum]
+ attr_accessor :minimum_word_count
+
+ # The type of ads which should appear.
+ # 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)
+ @ad_position = args[:ad_position] unless args[:ad_position].nil?
+ @frequency = args[:frequency] unless args[:frequency].nil?
+ @minimum_word_count = args[:minimum_word_count] unless args[:minimum_word_count].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ # Settings specific to WAP mobile content ads (AFMC).
+ class MobileContentAdsSettings
+ include Google::Apis::Core::Hashable
+
+ # The markup language to use for this ad unit.
+ # Corresponds to the JSON property `markupLanguage`
+ # @return [String]
+ attr_accessor :markup_language
+
+ # The scripting language to use for this ad unit.
+ # Corresponds to the JSON property `scriptingLanguage`
+ # @return [String]
+ attr_accessor :scripting_language
+
+ # Size of this ad unit.
+ # Corresponds to the JSON property `size`
+ # @return [String]
+ attr_accessor :size
+
+ # Type of this ad unit.
+ # 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)
+ @markup_language = args[:markup_language] unless args[:markup_language].nil?
+ @scripting_language = args[:scripting_language] unless args[:scripting_language].nil?
+ @size = args[:size] unless args[:size].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+ end
+
+ #
+ class AdUnits
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The ad units returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsense#adUnits.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through ad units. To retrieve the next page of
+ # results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class GenerateReportResponse
+ include Google::Apis::Core::Hashable
+
+ # The averages of the report. This is the same length as any other row in the
+ # report; cells corresponding to dimension columns are empty.
+ # Corresponds to the JSON property `averages`
+ # @return [Array]
+ attr_accessor :averages
+
+ # The requested end date in yyyy-mm-dd format.
+ # Corresponds to the JSON property `endDate`
+ # @return [String]
+ attr_accessor :end_date
+
+ # The header information of the columns requested in the report. This is a list
+ # of headers; one for each dimension in the request, followed by one for each
+ # metric in the request.
+ # Corresponds to the JSON property `headers`
+ # @return [Array]
+ attr_accessor :headers
+
+ # Kind this is, in this case adsense#report.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The output rows of the report. Each row is a list of cells; one for each
+ # dimension in the request, followed by one for each metric in the request. The
+ # dimension cells contain strings, and the metric cells contain numbers.
+ # Corresponds to the JSON property `rows`
+ # @return [Array>]
+ attr_accessor :rows
+
+ # The requested start date in yyyy-mm-dd format.
+ # Corresponds to the JSON property `startDate`
+ # @return [String]
+ attr_accessor :start_date
+
+ # The total number of rows matched by the report request. Fewer rows may be
+ # returned in the response due to being limited by the row count requested or
+ # the report row limit.
+ # Corresponds to the JSON property `totalMatchedRows`
+ # @return [String]
+ attr_accessor :total_matched_rows
+
+ # The totals of the report. This is the same length as any other row in the
+ # report; cells corresponding to dimension columns are empty.
+ # Corresponds to the JSON property `totals`
+ # @return [Array]
+ attr_accessor :totals
+
+ # Any warnings associated with generation of the report.
+ # Corresponds to the JSON property `warnings`
+ # @return [Array]
+ attr_accessor :warnings
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @averages = args[:averages] unless args[:averages].nil?
+ @end_date = args[:end_date] unless args[:end_date].nil?
+ @headers = args[:headers] unless args[:headers].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @rows = args[:rows] unless args[:rows].nil?
+ @start_date = args[:start_date] unless args[:start_date].nil?
+ @total_matched_rows = args[:total_matched_rows] unless args[:total_matched_rows].nil?
+ @totals = args[:totals] unless args[:totals].nil?
+ @warnings = args[:warnings] unless args[:warnings].nil?
+ end
+
+ #
+ class Header
+ include Google::Apis::Core::Hashable
+
+ # The currency of this column. Only present if the header type is
+ # METRIC_CURRENCY.
+ # Corresponds to the JSON property `currency`
+ # @return [String]
+ attr_accessor :currency
+
+ # The name of the header.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or
+ # METRIC_CURRENCY.
+ # 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)
+ @currency = args[:currency] unless args[:currency].nil?
+ @name = args[:name] unless args[:name].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+ end
+
+ #
+ class Alert
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this alert. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Whether this alert can be dismissed.
+ # Corresponds to the JSON property `isDismissible`
+ # @return [Boolean]
+ attr_accessor :is_dismissible
+ alias_method :is_dismissible?, :is_dismissible
+
+ # Kind of resource this is, in this case adsense#alert.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The localized alert message.
+ # Corresponds to the JSON property `message`
+ # @return [String]
+ attr_accessor :message
+
+ # Severity of this alert. Possible values: INFO, WARNING, SEVERE.
+ # Corresponds to the JSON property `severity`
+ # @return [String]
+ attr_accessor :severity
+
+ # Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3,
+ # ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY,
+ # GRAYLISTED_PUBLISHER, API_HOLD.
+ # 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] unless args[:id].nil?
+ @is_dismissible = args[:is_dismissible] unless args[:is_dismissible].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @message = args[:message] unless args[:message].nil?
+ @severity = args[:severity] unless args[:severity].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ #
+ class Alerts
+ include Google::Apis::Core::Hashable
+
+ # The alerts returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsense#alerts.
+ # 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)
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class CustomChannel
+ include Google::Apis::Core::Hashable
+
+ # Code of this custom channel, not necessarily unique across ad clients.
+ # Corresponds to the JSON property `code`
+ # @return [String]
+ attr_accessor :code
+
+ # Unique identifier of this custom channel. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsense#customChannel.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Name of this custom channel.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The targeting information of this custom channel, if activated.
+ # Corresponds to the JSON property `targetingInfo`
+ # @return [Google::Apis::AdsenseV1_4::CustomChannel::TargetingInfo]
+ attr_accessor :targeting_info
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @code = args[:code] unless args[:code].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @targeting_info = args[:targeting_info] unless args[:targeting_info].nil?
+ end
+
+ # The targeting information of this custom channel, if activated.
+ class TargetingInfo
+ include Google::Apis::Core::Hashable
+
+ # The name used to describe this channel externally.
+ # Corresponds to the JSON property `adsAppearOn`
+ # @return [String]
+ attr_accessor :ads_appear_on
+
+ # The external description of the channel.
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # The locations in which ads appear. (Only valid for content and mobile content
+ # ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT,
+ # MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER,
+ # BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are:
+ # TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
+ # Corresponds to the JSON property `location`
+ # @return [String]
+ attr_accessor :location
+
+ # The language of the sites ads will be displayed on.
+ # Corresponds to the JSON property `siteLanguage`
+ # @return [String]
+ attr_accessor :site_language
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @ads_appear_on = args[:ads_appear_on] unless args[:ads_appear_on].nil?
+ @description = args[:description] unless args[:description].nil?
+ @location = args[:location] unless args[:location].nil?
+ @site_language = args[:site_language] unless args[:site_language].nil?
+ end
+ end
+ end
+
+ #
+ class CustomChannels
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The custom channels returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsense#customChannels.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through custom channels. To retrieve the next
+ # page of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class Metadata
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsense#metadata.
+ # 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)
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class Payment
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this Payment.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsense#payment.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The amount to be paid.
+ # Corresponds to the JSON property `paymentAmount`
+ # @return [String]
+ attr_accessor :payment_amount
+
+ # The currency code for the amount to be paid.
+ # Corresponds to the JSON property `paymentAmountCurrencyCode`
+ # @return [String]
+ attr_accessor :payment_amount_currency_code
+
+ # The date this payment was/will be credited to the user, or none if the payment
+ # threshold has not been met.
+ # Corresponds to the JSON property `paymentDate`
+ # @return [String]
+ attr_accessor :payment_date
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @payment_amount = args[:payment_amount] unless args[:payment_amount].nil?
+ @payment_amount_currency_code = args[:payment_amount_currency_code] unless args[:payment_amount_currency_code].nil?
+ @payment_date = args[:payment_date] unless args[:payment_date].nil?
+ end
+ end
+
+ #
+ class Payments
+ include Google::Apis::Core::Hashable
+
+ # The list of Payments for the account. One or both of a) the account's most
+ # recent payment; and b) the account's upcoming payment.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsense#payments.
+ # 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)
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class ReportingMetadataEntry
+ include Google::Apis::Core::Hashable
+
+ # For metrics this is a list of dimension IDs which the metric is compatible
+ # with, for dimensions it is a list of compatibility groups the dimension
+ # belongs to.
+ # Corresponds to the JSON property `compatibleDimensions`
+ # @return [Array]
+ attr_accessor :compatible_dimensions
+
+ # The names of the metrics the dimension or metric this reporting metadata entry
+ # describes is compatible with.
+ # Corresponds to the JSON property `compatibleMetrics`
+ # @return [Array]
+ attr_accessor :compatible_metrics
+
+ # Unique identifier of this reporting metadata entry, corresponding to the name
+ # of the appropriate dimension or metric.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsense#reportingMetadataEntry.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The names of the dimensions which the dimension or metric this reporting
+ # metadata entry describes requires to also be present in order for the report
+ # to be valid. Omitting these will not cause an error or warning, but may result
+ # in data which cannot be correctly interpreted.
+ # Corresponds to the JSON property `requiredDimensions`
+ # @return [Array]
+ attr_accessor :required_dimensions
+
+ # The names of the metrics which the dimension or metric this reporting metadata
+ # entry describes requires to also be present in order for the report to be
+ # valid. Omitting these will not cause an error or warning, but may result in
+ # data which cannot be correctly interpreted.
+ # Corresponds to the JSON property `requiredMetrics`
+ # @return [Array]
+ attr_accessor :required_metrics
+
+ # The codes of the projects supported by the dimension or metric this reporting
+ # metadata entry describes.
+ # Corresponds to the JSON property `supportedProducts`
+ # @return [Array]
+ attr_accessor :supported_products
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @compatible_dimensions = args[:compatible_dimensions] unless args[:compatible_dimensions].nil?
+ @compatible_metrics = args[:compatible_metrics] unless args[:compatible_metrics].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @required_dimensions = args[:required_dimensions] unless args[:required_dimensions].nil?
+ @required_metrics = args[:required_metrics] unless args[:required_metrics].nil?
+ @supported_products = args[:supported_products] unless args[:supported_products].nil?
+ end
+ end
+
+ #
+ class SavedAdStyle
+ include Google::Apis::Core::Hashable
+
+ # The AdStyle itself.
+ # Corresponds to the JSON property `adStyle`
+ # @return [Google::Apis::AdsenseV1_4::AdStyle]
+ attr_accessor :ad_style
+
+ # Unique identifier of this saved ad style. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsense#savedAdStyle.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The user selected name of this SavedAdStyle.
+ # 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)
+ @ad_style = args[:ad_style] unless args[:ad_style].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ end
+ end
+
+ #
+ class SavedAdStyles
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The saved ad styles returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsense#savedAdStyles.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through ad units. To retrieve the next page of
+ # results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class SavedReport
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this saved report.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsense#savedReport.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # This saved report's 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)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ end
+ end
+
+ #
+ class SavedReports
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The saved reports returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsense#savedReports.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through saved reports. To retrieve the next
+ # page of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class UrlChannel
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this URL channel. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsense#urlChannel.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # URL Pattern of this URL channel. Does not include "http://" or "https://".
+ # Example: www.example.com/home
+ # Corresponds to the JSON property `urlPattern`
+ # @return [String]
+ attr_accessor :url_pattern
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @url_pattern = args[:url_pattern] unless args[:url_pattern].nil?
+ end
+ end
+
+ #
+ class UrlChannels
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The URL channels returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsense#urlChannels.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through URL channels. To retrieve the next
+ # page of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adsense_v1_4/representations.rb b/generated/google/apis/adsense_v1_4/representations.rb
new file mode 100644
index 000000000..d2ca753ba
--- /dev/null
+++ b/generated/google/apis/adsense_v1_4/representations.rb
@@ -0,0 +1,493 @@
+# 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 AdsenseV1_4
+
+ class Account
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Accounts
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdClient
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdClients
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdCode
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdStyle
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Colors
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Font
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class AdUnit
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ContentAdsSettings
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class BackupOption
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class FeedAdsSettings
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class MobileContentAdsSettings
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class AdUnits
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class GenerateReportResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Header
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class Alert
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Alerts
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class CustomChannel
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class TargetingInfo
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class CustomChannels
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Metadata
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Payment
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Payments
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ReportingMetadataEntry
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class SavedAdStyle
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class SavedAdStyles
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class SavedReport
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class SavedReports
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UrlChannel
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UrlChannels
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ # @private
+ class Account
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :premium, as: 'premium'
+ collection :sub_accounts, as: 'subAccounts', class: Google::Apis::AdsenseV1_4::Account, decorator: Google::Apis::AdsenseV1_4::Account::Representation
+
+ property :timezone, as: 'timezone'
+ end
+ end
+
+ # @private
+ class Accounts
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsenseV1_4::Account, decorator: Google::Apis::AdsenseV1_4::Account::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class AdClient
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :arc_opt_in, as: 'arcOptIn'
+ property :arc_review_mode, as: 'arcReviewMode'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :product_code, as: 'productCode'
+ property :supports_reporting, as: 'supportsReporting'
+ end
+ end
+
+ # @private
+ class AdClients
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsenseV1_4::AdClient, decorator: Google::Apis::AdsenseV1_4::AdClient::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class AdCode
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :ad_code, as: 'adCode'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class AdStyle
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :colors, as: 'colors', class: Google::Apis::AdsenseV1_4::AdStyle::Colors, decorator: Google::Apis::AdsenseV1_4::AdStyle::Colors::Representation
+
+ property :corners, as: 'corners'
+ property :font, as: 'font', class: Google::Apis::AdsenseV1_4::AdStyle::Font, decorator: Google::Apis::AdsenseV1_4::AdStyle::Font::Representation
+
+ property :kind, as: 'kind'
+ end
+
+ # @private
+ class Colors
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :background, as: 'background'
+ property :border, as: 'border'
+ property :text, as: 'text'
+ property :title, as: 'title'
+ property :url, as: 'url'
+ end
+ end
+
+ # @private
+ class Font
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :family, as: 'family'
+ property :size, as: 'size'
+ end
+ end
+ end
+
+ # @private
+ class AdUnit
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :code, as: 'code'
+ property :content_ads_settings, as: 'contentAdsSettings', class: Google::Apis::AdsenseV1_4::AdUnit::ContentAdsSettings, decorator: Google::Apis::AdsenseV1_4::AdUnit::ContentAdsSettings::Representation
+
+ property :custom_style, as: 'customStyle', class: Google::Apis::AdsenseV1_4::AdStyle, decorator: Google::Apis::AdsenseV1_4::AdStyle::Representation
+
+ property :feed_ads_settings, as: 'feedAdsSettings', class: Google::Apis::AdsenseV1_4::AdUnit::FeedAdsSettings, decorator: Google::Apis::AdsenseV1_4::AdUnit::FeedAdsSettings::Representation
+
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :mobile_content_ads_settings, as: 'mobileContentAdsSettings', class: Google::Apis::AdsenseV1_4::AdUnit::MobileContentAdsSettings, decorator: Google::Apis::AdsenseV1_4::AdUnit::MobileContentAdsSettings::Representation
+
+ property :name, as: 'name'
+ property :saved_style_id, as: 'savedStyleId'
+ property :status, as: 'status'
+ end
+
+ # @private
+ class ContentAdsSettings
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :backup_option, as: 'backupOption', class: Google::Apis::AdsenseV1_4::AdUnit::ContentAdsSettings::BackupOption, decorator: Google::Apis::AdsenseV1_4::AdUnit::ContentAdsSettings::BackupOption::Representation
+
+ property :size, as: 'size'
+ property :type, as: 'type'
+ end
+
+ # @private
+ class BackupOption
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :color, as: 'color'
+ property :type, as: 'type'
+ property :url, as: 'url'
+ end
+ end
+ end
+
+ # @private
+ class FeedAdsSettings
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :ad_position, as: 'adPosition'
+ property :frequency, as: 'frequency'
+ property :minimum_word_count, as: 'minimumWordCount'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class MobileContentAdsSettings
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :markup_language, as: 'markupLanguage'
+ property :scripting_language, as: 'scriptingLanguage'
+ property :size, as: 'size'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class AdUnits
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsenseV1_4::AdUnit, decorator: Google::Apis::AdsenseV1_4::AdUnit::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class GenerateReportResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :averages, as: 'averages'
+ property :end_date, as: 'endDate'
+ collection :headers, as: 'headers', class: Google::Apis::AdsenseV1_4::GenerateReportResponse::Header, decorator: Google::Apis::AdsenseV1_4::GenerateReportResponse::Header::Representation
+
+ property :kind, as: 'kind'
+ collection :rows, as: 'rows', :class => Array do
+ include Representable::JSON::Collection
+ items
+ end
+
+ property :start_date, as: 'startDate'
+ property :total_matched_rows, as: 'totalMatchedRows'
+ collection :totals, as: 'totals'
+ collection :warnings, as: 'warnings'
+ end
+
+ # @private
+ class Header
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :currency, as: 'currency'
+ property :name, as: 'name'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class Alert
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :is_dismissible, as: 'isDismissible'
+ property :kind, as: 'kind'
+ property :message, as: 'message'
+ property :severity, as: 'severity'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class Alerts
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AdsenseV1_4::Alert, decorator: Google::Apis::AdsenseV1_4::Alert::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class CustomChannel
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :code, as: 'code'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :targeting_info, as: 'targetingInfo', class: Google::Apis::AdsenseV1_4::CustomChannel::TargetingInfo, decorator: Google::Apis::AdsenseV1_4::CustomChannel::TargetingInfo::Representation
+
+ end
+
+ # @private
+ class TargetingInfo
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :ads_appear_on, as: 'adsAppearOn'
+ property :description, as: 'description'
+ property :location, as: 'location'
+ property :site_language, as: 'siteLanguage'
+ end
+ end
+ end
+
+ # @private
+ class CustomChannels
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsenseV1_4::CustomChannel, decorator: Google::Apis::AdsenseV1_4::CustomChannel::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class Metadata
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AdsenseV1_4::ReportingMetadataEntry, decorator: Google::Apis::AdsenseV1_4::ReportingMetadataEntry::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Payment
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :payment_amount, as: 'paymentAmount'
+ property :payment_amount_currency_code, as: 'paymentAmountCurrencyCode'
+ property :payment_date, as: 'paymentDate'
+ end
+ end
+
+ # @private
+ class Payments
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AdsenseV1_4::Payment, decorator: Google::Apis::AdsenseV1_4::Payment::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class ReportingMetadataEntry
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :compatible_dimensions, as: 'compatibleDimensions'
+ collection :compatible_metrics, as: 'compatibleMetrics'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ collection :required_dimensions, as: 'requiredDimensions'
+ collection :required_metrics, as: 'requiredMetrics'
+ collection :supported_products, as: 'supportedProducts'
+ end
+ end
+
+ # @private
+ class SavedAdStyle
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :ad_style, as: 'adStyle', class: Google::Apis::AdsenseV1_4::AdStyle, decorator: Google::Apis::AdsenseV1_4::AdStyle::Representation
+
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class SavedAdStyles
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsenseV1_4::SavedAdStyle, decorator: Google::Apis::AdsenseV1_4::SavedAdStyle::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class SavedReport
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class SavedReports
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsenseV1_4::SavedReport, decorator: Google::Apis::AdsenseV1_4::SavedReport::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class UrlChannel
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :url_pattern, as: 'urlPattern'
+ end
+ end
+
+ # @private
+ class UrlChannels
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsenseV1_4::UrlChannel, decorator: Google::Apis::AdsenseV1_4::UrlChannel::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adsense_v1_4/service.rb b/generated/google/apis/adsense_v1_4/service.rb
new file mode 100644
index 000000000..0b1b3d62b
--- /dev/null
+++ b/generated/google/apis/adsense_v1_4/service.rb
@@ -0,0 +1,1752 @@
+# 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 '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 AdsenseV1_4
+ # AdSense Management API
+ #
+ # Gives AdSense publishers access to their inventory and the ability to generate
+ # reports
+ #
+ # @example
+ # require 'google/apis/adsense_v1_4'
+ #
+ # Adsense = Google::Apis::AdsenseV1_4 # Alias the module
+ # service = Adsense::AdSenseService.new
+ #
+ # @see https://developers.google.com/adsense/management/
+ class AdSenseService < Google::Apis::Core::BaseService
+ # @return [String]
+ # API key. Your API key identifies your project and provides you with API access,
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
+ attr_accessor :key
+
+ # @return [String]
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ attr_accessor :quota_user
+
+ # @return [String]
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ attr_accessor :user_ip
+
+ def initialize
+ super('https://www.googleapis.com/', 'adsense/v1.4/')
+ end
+
+ # Get information about the selected AdSense account.
+ # @param [String] account_id
+ # Account to get information about.
+ # @param [Boolean] tree
+ # Whether the tree of sub accounts should be returned.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::Account] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::Account]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account(account_id, tree: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::Account::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::Account
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['tree'] = tree unless tree.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all accounts available to this AdSense account.
+ # @param [Fixnum] max_results
+ # The maximum number of accounts to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through accounts. To retrieve the next page,
+ # set this parameter to the value of "nextPageToken" from the previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::Accounts] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::Accounts]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_accounts(max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::Accounts::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::Accounts
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all ad clients in the specified account.
+ # @param [String] account_id
+ # Account for which to list ad clients.
+ # @param [Fixnum] max_results
+ # The maximum number of ad clients to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through ad clients. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::AdClients] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::AdClients]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_ad_clients(account_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::AdClients::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::AdClients
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Gets the specified ad unit in the specified ad client for the specified
+ # account.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [String] ad_client_id
+ # Ad client for which to get the ad unit.
+ # @param [String] ad_unit_id
+ # Ad unit to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::AdUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::AdUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account_ad_unit(account_id, ad_client_id, ad_unit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::AdUnit::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::AdUnit
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['adUnitId'] = ad_unit_id unless ad_unit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get ad code for the specified ad unit.
+ # @param [String] account_id
+ # Account which contains the ad client.
+ # @param [String] ad_client_id
+ # Ad client with contains the ad unit.
+ # @param [String] ad_unit_id
+ # Ad unit to get the code for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::AdCode] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::AdCode]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account_ad_unit_ad_code(account_id, ad_client_id, ad_unit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::AdCode::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::AdCode
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['adUnitId'] = ad_unit_id unless ad_unit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all ad units in the specified ad client for the specified account.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [String] ad_client_id
+ # Ad client for which to list ad units.
+ # @param [Boolean] include_inactive
+ # Whether to include inactive ad units. Default: true.
+ # @param [Fixnum] max_results
+ # The maximum number of ad units to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through ad units. To retrieve the next page,
+ # set this parameter to the value of "nextPageToken" from the previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::AdUnits] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::AdUnits]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_ad_units(account_id, ad_client_id, include_inactive: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::AdUnits::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::AdUnits
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['includeInactive'] = include_inactive unless include_inactive.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all custom channels which the specified ad unit belongs to.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [String] ad_client_id
+ # Ad client which contains the ad unit.
+ # @param [String] ad_unit_id
+ # Ad unit for which to list custom channels.
+ # @param [Fixnum] max_results
+ # The maximum number of custom channels to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through custom channels. To retrieve the
+ # next page, set this parameter to the value of "nextPageToken" from the
+ # previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::CustomChannels] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::CustomChannels]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_ad_unit_custom_channels(account_id, ad_client_id, ad_unit_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/customchannels'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::CustomChannels::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::CustomChannels
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['adUnitId'] = ad_unit_id unless ad_unit_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Dismiss (delete) the specified alert from the specified publisher AdSense
+ # account.
+ # @param [String] account_id
+ # Account which contains the ad unit.
+ # @param [String] alert_id
+ # Alert to delete.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_account_alert(account_id, alert_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/alerts/{alertId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['alertId'] = alert_id unless alert_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the alerts for the specified AdSense account.
+ # @param [String] account_id
+ # Account for which to retrieve the alerts.
+ # @param [String] locale
+ # The locale to use for translating alert messages. The account locale will be
+ # used if this is not supplied. The AdSense default (English) will be used if
+ # the supplied locale is invalid or unsupported.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::Alerts] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::Alerts]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_alerts(account_id, locale: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/alerts'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::Alerts::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::Alerts
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['locale'] = locale unless locale.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get the specified custom channel from the specified ad client for the
+ # specified account.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [String] ad_client_id
+ # Ad client which contains the custom channel.
+ # @param [String] custom_channel_id
+ # Custom channel to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::CustomChannel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::CustomChannel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account_custom_channel(account_id, ad_client_id, custom_channel_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::CustomChannel::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::CustomChannel
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['customChannelId'] = custom_channel_id unless custom_channel_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all custom channels in the specified ad client for the specified account.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [String] ad_client_id
+ # Ad client for which to list custom channels.
+ # @param [Fixnum] max_results
+ # The maximum number of custom channels to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through custom channels. To retrieve the
+ # next page, set this parameter to the value of "nextPageToken" from the
+ # previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::CustomChannels] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::CustomChannels]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_custom_channels(account_id, ad_client_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/customchannels'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::CustomChannels::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::CustomChannels
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all ad units in the specified custom channel.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [String] ad_client_id
+ # Ad client which contains the custom channel.
+ # @param [String] custom_channel_id
+ # Custom channel for which to list ad units.
+ # @param [Boolean] include_inactive
+ # Whether to include inactive ad units. Default: true.
+ # @param [Fixnum] max_results
+ # The maximum number of ad units to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through ad units. To retrieve the next page,
+ # set this parameter to the value of "nextPageToken" from the previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::AdUnits] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::AdUnits]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_custom_channel_ad_units(account_id, ad_client_id, custom_channel_id, include_inactive: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}/adunits'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::AdUnits::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::AdUnits
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['customChannelId'] = custom_channel_id unless custom_channel_id.nil?
+ command.query['includeInactive'] = include_inactive unless include_inactive.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the payments for the specified AdSense account.
+ # @param [String] account_id
+ # Account for which to retrieve the payments.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::Payments] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::Payments]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_payments(account_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/payments'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::Payments::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::Payments
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generate an AdSense report based on the report request sent in the query
+ # parameters. Returns the result as JSON; to retrieve output in CSV format
+ # specify "alt=csv" as a query parameter.
+ # @param [String] account_id
+ # Account upon which to report.
+ # @param [String] currency
+ # Optional currency to use when reporting on monetary metrics. Defaults to the
+ # account's currency if not set.
+ # @param [Array, String] dimension
+ # Dimensions to base the report on.
+ # @param [String] end_date
+ # End of the date range to report on in "YYYY-MM-DD" format, inclusive.
+ # @param [Array, String] filter
+ # Filters to be run on the report.
+ # @param [String] locale
+ # Optional locale to use for translating report output to a local language.
+ # Defaults to "en_US" if not specified.
+ # @param [Fixnum] max_results
+ # The maximum number of rows of report data to return.
+ # @param [Array, String] metric
+ # Numeric columns to include in the report.
+ # @param [Array, String] sort
+ # The name of a dimension or metric to sort the resulting report on, optionally
+ # prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is
+ # specified, the column is sorted ascending.
+ # @param [String] start_date
+ # Start of the date range to report on in "YYYY-MM-DD" format, inclusive.
+ # @param [Fixnum] start_index
+ # Index of the first row of report data to return.
+ # @param [Boolean] use_timezone_reporting
+ # Whether the report should be generated in the AdSense account's local timezone.
+ # If false default PST/PDT timezone will be used.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [IO, String] download_dest
+ # IO stream or filename to receive content download
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::GenerateReportResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::GenerateReportResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_account_report(account_id, currency: nil, dimension: nil, end_date: nil, filter: nil, locale: nil, max_results: nil, metric: nil, sort: nil, start_date: nil, start_index: nil, use_timezone_reporting: nil, fields: nil, quota_user: nil, user_ip: nil, download_dest: nil, options: nil, &block)
+ path = 'accounts/{accountId}/reports'
+ if download_dest.nil?
+ command = make_simple_command(:get, path, options)
+ else
+ command = make_download_command(:get, path, options)
+ command.download_dest = download_dest
+ end
+ command.response_representation = Google::Apis::AdsenseV1_4::GenerateReportResponse::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::GenerateReportResponse
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['currency'] = currency unless currency.nil?
+ command.query['dimension'] = dimension unless dimension.nil?
+ command.query['endDate'] = end_date unless end_date.nil?
+ command.query['filter'] = filter unless filter.nil?
+ command.query['locale'] = locale unless locale.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['metric'] = metric unless metric.nil?
+ command.query['sort'] = sort unless sort.nil?
+ command.query['startDate'] = start_date unless start_date.nil?
+ command.query['startIndex'] = start_index unless start_index.nil?
+ command.query['useTimezoneReporting'] = use_timezone_reporting unless use_timezone_reporting.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generate an AdSense report based on the saved report ID sent in the query
+ # parameters.
+ # @param [String] account_id
+ # Account to which the saved reports belong.
+ # @param [String] saved_report_id
+ # The saved report to retrieve.
+ # @param [String] locale
+ # Optional locale to use for translating report output to a local language.
+ # Defaults to "en_US" if not specified.
+ # @param [Fixnum] max_results
+ # The maximum number of rows of report data to return.
+ # @param [Fixnum] start_index
+ # Index of the first row of report data to return.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::GenerateReportResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::GenerateReportResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_account_saved_report(account_id, saved_report_id, locale: nil, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/reports/{savedReportId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::GenerateReportResponse::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::GenerateReportResponse
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['savedReportId'] = saved_report_id unless saved_report_id.nil?
+ command.query['locale'] = locale unless locale.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['startIndex'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all saved reports in the specified AdSense account.
+ # @param [String] account_id
+ # Account to which the saved reports belong.
+ # @param [Fixnum] max_results
+ # The maximum number of saved reports to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through saved reports. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::SavedReports] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::SavedReports]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_saved_reports(account_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/reports/saved'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::SavedReports::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::SavedReports
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List a specific saved ad style for the specified account.
+ # @param [String] account_id
+ # Account for which to get the saved ad style.
+ # @param [String] saved_ad_style_id
+ # Saved ad style to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::SavedAdStyle] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::SavedAdStyle]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account_saved_ad_style(account_id, saved_ad_style_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/savedadstyles/{savedAdStyleId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::SavedAdStyle::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::SavedAdStyle
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['savedAdStyleId'] = saved_ad_style_id unless saved_ad_style_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all saved ad styles in the specified account.
+ # @param [String] account_id
+ # Account for which to list saved ad styles.
+ # @param [Fixnum] max_results
+ # The maximum number of saved ad styles to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through saved ad styles. To retrieve the
+ # next page, set this parameter to the value of "nextPageToken" from the
+ # previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::SavedAdStyles] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::SavedAdStyles]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_saved_ad_styles(account_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/savedadstyles'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::SavedAdStyles::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::SavedAdStyles
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all URL channels in the specified ad client for the specified account.
+ # @param [String] account_id
+ # Account to which the ad client belongs.
+ # @param [String] ad_client_id
+ # Ad client for which to list URL channels.
+ # @param [Fixnum] max_results
+ # The maximum number of URL channels to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through URL channels. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::UrlChannels] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::UrlChannels]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_url_channels(account_id, ad_client_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/urlchannels'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::UrlChannels::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::UrlChannels
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all ad clients in this AdSense account.
+ # @param [Fixnum] max_results
+ # The maximum number of ad clients to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through ad clients. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::AdClients] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::AdClients]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_ad_clients(max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::AdClients::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::AdClients
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Gets the specified ad unit in the specified ad client.
+ # @param [String] ad_client_id
+ # Ad client for which to get the ad unit.
+ # @param [String] ad_unit_id
+ # Ad unit to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::AdUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::AdUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_ad_unit(ad_client_id, ad_unit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/adunits/{adUnitId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::AdUnit::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::AdUnit
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['adUnitId'] = ad_unit_id unless ad_unit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get ad code for the specified ad unit.
+ # @param [String] ad_client_id
+ # Ad client with contains the ad unit.
+ # @param [String] ad_unit_id
+ # Ad unit to get the code for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::AdCode] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::AdCode]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_ad_code_ad_unit(ad_client_id, ad_unit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/adunits/{adUnitId}/adcode'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::AdCode::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::AdCode
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['adUnitId'] = ad_unit_id unless ad_unit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all ad units in the specified ad client for this AdSense account.
+ # @param [String] ad_client_id
+ # Ad client for which to list ad units.
+ # @param [Boolean] include_inactive
+ # Whether to include inactive ad units. Default: true.
+ # @param [Fixnum] max_results
+ # The maximum number of ad units to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through ad units. To retrieve the next page,
+ # set this parameter to the value of "nextPageToken" from the previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::AdUnits] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::AdUnits]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_ad_units(ad_client_id, include_inactive: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/adunits'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::AdUnits::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::AdUnits
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['includeInactive'] = include_inactive unless include_inactive.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all custom channels which the specified ad unit belongs to.
+ # @param [String] ad_client_id
+ # Ad client which contains the ad unit.
+ # @param [String] ad_unit_id
+ # Ad unit for which to list custom channels.
+ # @param [Fixnum] max_results
+ # The maximum number of custom channels to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through custom channels. To retrieve the
+ # next page, set this parameter to the value of "nextPageToken" from the
+ # previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::CustomChannels] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::CustomChannels]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_ad_unit_custom_channels(ad_client_id, ad_unit_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/adunits/{adUnitId}/customchannels'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::CustomChannels::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::CustomChannels
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['adUnitId'] = ad_unit_id unless ad_unit_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Dismiss (delete) the specified alert from the publisher's AdSense account.
+ # @param [String] alert_id
+ # Alert to delete.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_alert(alert_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'alerts/{alertId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['alertId'] = alert_id unless alert_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the alerts for this AdSense account.
+ # @param [String] locale
+ # The locale to use for translating alert messages. The account locale will be
+ # used if this is not supplied. The AdSense default (English) will be used if
+ # the supplied locale is invalid or unsupported.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::Alerts] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::Alerts]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_alerts(locale: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'alerts'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::Alerts::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::Alerts
+ command.query['locale'] = locale unless locale.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get the specified custom channel from the specified ad client.
+ # @param [String] ad_client_id
+ # Ad client which contains the custom channel.
+ # @param [String] custom_channel_id
+ # Custom channel to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::CustomChannel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::CustomChannel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_custom_channel(ad_client_id, custom_channel_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/customchannels/{customChannelId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::CustomChannel::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::CustomChannel
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['customChannelId'] = custom_channel_id unless custom_channel_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all custom channels in the specified ad client for this AdSense account.
+ # @param [String] ad_client_id
+ # Ad client for which to list custom channels.
+ # @param [Fixnum] max_results
+ # The maximum number of custom channels to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through custom channels. To retrieve the
+ # next page, set this parameter to the value of "nextPageToken" from the
+ # previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::CustomChannels] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::CustomChannels]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_custom_channels(ad_client_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/customchannels'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::CustomChannels::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::CustomChannels
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all ad units in the specified custom channel.
+ # @param [String] ad_client_id
+ # Ad client which contains the custom channel.
+ # @param [String] custom_channel_id
+ # Custom channel for which to list ad units.
+ # @param [Boolean] include_inactive
+ # Whether to include inactive ad units. Default: true.
+ # @param [Fixnum] max_results
+ # The maximum number of ad units to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through ad units. To retrieve the next page,
+ # set this parameter to the value of "nextPageToken" from the previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::AdUnits] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::AdUnits]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_custom_channel_ad_units(ad_client_id, custom_channel_id, include_inactive: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/customchannels/{customChannelId}/adunits'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::AdUnits::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::AdUnits
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['customChannelId'] = custom_channel_id unless custom_channel_id.nil?
+ command.query['includeInactive'] = include_inactive unless include_inactive.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the metadata for the dimensions available to this AdSense account.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::Metadata] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::Metadata]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_metadata_dimensions(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'metadata/dimensions'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::Metadata::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::Metadata
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the metadata for the metrics available to this AdSense account.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::Metadata] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::Metadata]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_metadata_metrics(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'metadata/metrics'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::Metadata::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::Metadata
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List the payments for this AdSense account.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::Payments] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::Payments]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_payments(fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'payments'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::Payments::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::Payments
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generate an AdSense report based on the report request sent in the query
+ # parameters. Returns the result as JSON; to retrieve output in CSV format
+ # specify "alt=csv" as a query parameter.
+ # @param [Array, String] account_id
+ # Accounts upon which to report.
+ # @param [String] currency
+ # Optional currency to use when reporting on monetary metrics. Defaults to the
+ # account's currency if not set.
+ # @param [Array, String] dimension
+ # Dimensions to base the report on.
+ # @param [String] end_date
+ # End of the date range to report on in "YYYY-MM-DD" format, inclusive.
+ # @param [Array, String] filter
+ # Filters to be run on the report.
+ # @param [String] locale
+ # Optional locale to use for translating report output to a local language.
+ # Defaults to "en_US" if not specified.
+ # @param [Fixnum] max_results
+ # The maximum number of rows of report data to return.
+ # @param [Array, String] metric
+ # Numeric columns to include in the report.
+ # @param [Array, String] sort
+ # The name of a dimension or metric to sort the resulting report on, optionally
+ # prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is
+ # specified, the column is sorted ascending.
+ # @param [String] start_date
+ # Start of the date range to report on in "YYYY-MM-DD" format, inclusive.
+ # @param [Fixnum] start_index
+ # Index of the first row of report data to return.
+ # @param [Boolean] use_timezone_reporting
+ # Whether the report should be generated in the AdSense account's local timezone.
+ # If false default PST/PDT timezone will be used.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [IO, String] download_dest
+ # IO stream or filename to receive content download
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::GenerateReportResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::GenerateReportResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_report(account_id: nil, currency: nil, dimension: nil, end_date: nil, filter: nil, locale: nil, max_results: nil, metric: nil, sort: nil, start_date: nil, start_index: nil, use_timezone_reporting: nil, fields: nil, quota_user: nil, user_ip: nil, download_dest: nil, options: nil, &block)
+ path = 'reports'
+ if download_dest.nil?
+ command = make_simple_command(:get, path, options)
+ else
+ command = make_download_command(:get, path, options)
+ command.download_dest = download_dest
+ end
+ command.response_representation = Google::Apis::AdsenseV1_4::GenerateReportResponse::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::GenerateReportResponse
+ command.query['accountId'] = account_id unless account_id.nil?
+ command.query['currency'] = currency unless currency.nil?
+ command.query['dimension'] = dimension unless dimension.nil?
+ command.query['endDate'] = end_date unless end_date.nil?
+ command.query['filter'] = filter unless filter.nil?
+ command.query['locale'] = locale unless locale.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['metric'] = metric unless metric.nil?
+ command.query['sort'] = sort unless sort.nil?
+ command.query['startDate'] = start_date unless start_date.nil?
+ command.query['startIndex'] = start_index unless start_index.nil?
+ command.query['useTimezoneReporting'] = use_timezone_reporting unless use_timezone_reporting.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generate an AdSense report based on the saved report ID sent in the query
+ # parameters.
+ # @param [String] saved_report_id
+ # The saved report to retrieve.
+ # @param [String] locale
+ # Optional locale to use for translating report output to a local language.
+ # Defaults to "en_US" if not specified.
+ # @param [Fixnum] max_results
+ # The maximum number of rows of report data to return.
+ # @param [Fixnum] start_index
+ # Index of the first row of report data to return.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::GenerateReportResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::GenerateReportResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_saved_report(saved_report_id, locale: nil, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'reports/{savedReportId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::GenerateReportResponse::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::GenerateReportResponse
+ command.params['savedReportId'] = saved_report_id unless saved_report_id.nil?
+ command.query['locale'] = locale unless locale.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['startIndex'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all saved reports in this AdSense account.
+ # @param [Fixnum] max_results
+ # The maximum number of saved reports to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through saved reports. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::SavedReports] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::SavedReports]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_saved_reports(max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'reports/saved'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::SavedReports::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::SavedReports
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get a specific saved ad style from the user's account.
+ # @param [String] saved_ad_style_id
+ # Saved ad style to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::SavedAdStyle] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::SavedAdStyle]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_saved_ad_style(saved_ad_style_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'savedadstyles/{savedAdStyleId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::SavedAdStyle::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::SavedAdStyle
+ command.params['savedAdStyleId'] = saved_ad_style_id unless saved_ad_style_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all saved ad styles in the user's account.
+ # @param [Fixnum] max_results
+ # The maximum number of saved ad styles to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through saved ad styles. To retrieve the
+ # next page, set this parameter to the value of "nextPageToken" from the
+ # previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::SavedAdStyles] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::SavedAdStyles]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_saved_ad_styles(max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'savedadstyles'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::SavedAdStyles::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::SavedAdStyles
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all URL channels in the specified ad client for this AdSense account.
+ # @param [String] ad_client_id
+ # Ad client for which to list URL channels.
+ # @param [Fixnum] max_results
+ # The maximum number of URL channels to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through URL channels. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsenseV1_4::UrlChannels] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsenseV1_4::UrlChannels]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_url_channels(ad_client_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/urlchannels'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsenseV1_4::UrlChannels::Representation
+ command.response_class = Google::Apis::AdsenseV1_4::UrlChannels
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ protected
+
+ def apply_command_defaults(command)
+ command.query['key'] = key unless key.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adsensehost_v4_1.rb b/generated/google/apis/adsensehost_v4_1.rb
new file mode 100644
index 000000000..d8f07b720
--- /dev/null
+++ b/generated/google/apis/adsensehost_v4_1.rb
@@ -0,0 +1,35 @@
+# 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 'google/apis/adsensehost_v4_1/service.rb'
+require 'google/apis/adsensehost_v4_1/classes.rb'
+require 'google/apis/adsensehost_v4_1/representations.rb'
+
+module Google
+ module Apis
+ # AdSense Host API
+ #
+ # Gives AdSense Hosts access to report generation, ad code generation, and
+ # publisher management capabilities.
+ #
+ # @see https://developers.google.com/adsense/host/
+ module AdsensehostV4_1
+ VERSION = 'V4_1'
+ REVISION = '20150326'
+
+ # View and manage your AdSense host data and associated accounts
+ AUTH_ADSENSEHOST = 'https://www.googleapis.com/auth/adsensehost'
+ end
+ end
+end
diff --git a/generated/google/apis/adsensehost_v4_1/classes.rb b/generated/google/apis/adsensehost_v4_1/classes.rb
new file mode 100644
index 000000000..73a1aaeea
--- /dev/null
+++ b/generated/google/apis/adsensehost_v4_1/classes.rb
@@ -0,0 +1,834 @@
+# 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 AdsensehostV4_1
+
+ #
+ class Account
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this account.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsensehost#account.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Name of this account.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # Approval status of this account. One of: PENDING, APPROVED, DISABLED.
+ # Corresponds to the JSON property `status`
+ # @return [String]
+ attr_accessor :status
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @status = args[:status] unless args[:status].nil?
+ end
+ end
+
+ #
+ class Accounts
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The accounts returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsensehost#accounts.
+ # 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)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class AdClient
+ include Google::Apis::Core::Hashable
+
+ # Whether this ad client is opted in to ARC.
+ # Corresponds to the JSON property `arcOptIn`
+ # @return [Boolean]
+ attr_accessor :arc_opt_in
+ alias_method :arc_opt_in?, :arc_opt_in
+
+ # Unique identifier of this ad client.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsensehost#adClient.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # This ad client's product code, which corresponds to the PRODUCT_CODE report
+ # dimension.
+ # Corresponds to the JSON property `productCode`
+ # @return [String]
+ attr_accessor :product_code
+
+ # Whether this ad client supports being reported on.
+ # Corresponds to the JSON property `supportsReporting`
+ # @return [Boolean]
+ attr_accessor :supports_reporting
+ alias_method :supports_reporting?, :supports_reporting
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @arc_opt_in = args[:arc_opt_in] unless args[:arc_opt_in].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @product_code = args[:product_code] unless args[:product_code].nil?
+ @supports_reporting = args[:supports_reporting] unless args[:supports_reporting].nil?
+ end
+ end
+
+ #
+ class AdClients
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The ad clients returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsensehost#adClients.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through ad clients. To retrieve the next page
+ # of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class AdCode
+ include Google::Apis::Core::Hashable
+
+ # The ad code snippet.
+ # Corresponds to the JSON property `adCode`
+ # @return [String]
+ attr_accessor :ad_code
+
+ # Kind this is, in this case adsensehost#adCode.
+ # 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)
+ @ad_code = args[:ad_code] unless args[:ad_code].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class AdStyle
+ include Google::Apis::Core::Hashable
+
+ # The colors included in the style. These are represented as six hexadecimal
+ # characters, similar to HTML color codes, but without the leading hash.
+ # Corresponds to the JSON property `colors`
+ # @return [Google::Apis::AdsensehostV4_1::AdStyle::Colors]
+ attr_accessor :colors
+
+ # The style of the corners in the ad. Possible values are SQUARE,
+ # SLIGHTLY_ROUNDED and VERY_ROUNDED.
+ # Corresponds to the JSON property `corners`
+ # @return [String]
+ attr_accessor :corners
+
+ # The font which is included in the style.
+ # Corresponds to the JSON property `font`
+ # @return [Google::Apis::AdsensehostV4_1::AdStyle::Font]
+ attr_accessor :font
+
+ # Kind this is, in this case adsensehost#adStyle.
+ # 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)
+ @colors = args[:colors] unless args[:colors].nil?
+ @corners = args[:corners] unless args[:corners].nil?
+ @font = args[:font] unless args[:font].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+
+ # The colors included in the style. These are represented as six hexadecimal
+ # characters, similar to HTML color codes, but without the leading hash.
+ class Colors
+ include Google::Apis::Core::Hashable
+
+ # The color of the ad background.
+ # Corresponds to the JSON property `background`
+ # @return [String]
+ attr_accessor :background
+
+ # The color of the ad border.
+ # Corresponds to the JSON property `border`
+ # @return [String]
+ attr_accessor :border
+
+ # The color of the ad text.
+ # Corresponds to the JSON property `text`
+ # @return [String]
+ attr_accessor :text
+
+ # The color of the ad title.
+ # Corresponds to the JSON property `title`
+ # @return [String]
+ attr_accessor :title
+
+ # The color of the ad url.
+ # 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)
+ @background = args[:background] unless args[:background].nil?
+ @border = args[:border] unless args[:border].nil?
+ @text = args[:text] unless args[:text].nil?
+ @title = args[:title] unless args[:title].nil?
+ @url = args[:url] unless args[:url].nil?
+ end
+ end
+
+ # The font which is included in the style.
+ class Font
+ include Google::Apis::Core::Hashable
+
+ # The family of the font. Possible values are: ACCOUNT_DEFAULT_FAMILY,
+ # ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
+ # Corresponds to the JSON property `family`
+ # @return [String]
+ attr_accessor :family
+
+ # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE,
+ # ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
+ # Corresponds to the JSON property `size`
+ # @return [String]
+ attr_accessor :size
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @family = args[:family] unless args[:family].nil?
+ @size = args[:size] unless args[:size].nil?
+ end
+ end
+ end
+
+ #
+ class AdUnit
+ include Google::Apis::Core::Hashable
+
+ # Identity code of this ad unit, not necessarily unique across ad clients.
+ # Corresponds to the JSON property `code`
+ # @return [String]
+ attr_accessor :code
+
+ # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+ # Corresponds to the JSON property `contentAdsSettings`
+ # @return [Google::Apis::AdsensehostV4_1::AdUnit::ContentAdsSettings]
+ attr_accessor :content_ads_settings
+
+ # Custom style information specific to this ad unit.
+ # Corresponds to the JSON property `customStyle`
+ # @return [Google::Apis::AdsensehostV4_1::AdStyle]
+ attr_accessor :custom_style
+
+ # Unique identifier of this ad unit. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsensehost#adUnit.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Settings specific to WAP mobile content ads (AFMC).
+ # Corresponds to the JSON property `mobileContentAdsSettings`
+ # @return [Google::Apis::AdsensehostV4_1::AdUnit::MobileContentAdsSettings]
+ attr_accessor :mobile_content_ads_settings
+
+ # Name of this ad unit.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # Status of this ad unit. Possible values are:
+ # NEW: Indicates that the ad unit was created within the last seven days and
+ # does not yet have any activity associated with it.
+ # ACTIVE: Indicates that there has been activity on this ad unit in the last
+ # seven days.
+ # INACTIVE: Indicates that there has been no activity on this ad unit in the
+ # last seven days.
+ # Corresponds to the JSON property `status`
+ # @return [String]
+ attr_accessor :status
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @code = args[:code] unless args[:code].nil?
+ @content_ads_settings = args[:content_ads_settings] unless args[:content_ads_settings].nil?
+ @custom_style = args[:custom_style] unless args[:custom_style].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @mobile_content_ads_settings = args[:mobile_content_ads_settings] unless args[:mobile_content_ads_settings].nil?
+ @name = args[:name] unless args[:name].nil?
+ @status = args[:status] unless args[:status].nil?
+ end
+
+ # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+ class ContentAdsSettings
+ include Google::Apis::Core::Hashable
+
+ # The backup option to be used in instances where no ad is available.
+ # Corresponds to the JSON property `backupOption`
+ # @return [Google::Apis::AdsensehostV4_1::AdUnit::ContentAdsSettings::BackupOption]
+ attr_accessor :backup_option
+
+ # Size of this ad unit. Size values are in the form SIZE_`width`_`height`.
+ # Corresponds to the JSON property `size`
+ # @return [String]
+ attr_accessor :size
+
+ # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
+ # 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)
+ @backup_option = args[:backup_option] unless args[:backup_option].nil?
+ @size = args[:size] unless args[:size].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+
+ # The backup option to be used in instances where no ad is available.
+ class BackupOption
+ include Google::Apis::Core::Hashable
+
+ # Color to use when type is set to COLOR. These are represented as six
+ # hexadecimal characters, similar to HTML color codes, but without the leading
+ # hash.
+ # Corresponds to the JSON property `color`
+ # @return [String]
+ attr_accessor :color
+
+ # Type of the backup option. Possible values are BLANK, COLOR and URL.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # URL to use when type is set to URL.
+ # 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)
+ @color = args[:color] unless args[:color].nil?
+ @type = args[:type] unless args[:type].nil?
+ @url = args[:url] unless args[:url].nil?
+ end
+ end
+ end
+
+ # Settings specific to WAP mobile content ads (AFMC).
+ class MobileContentAdsSettings
+ include Google::Apis::Core::Hashable
+
+ # The markup language to use for this ad unit.
+ # Corresponds to the JSON property `markupLanguage`
+ # @return [String]
+ attr_accessor :markup_language
+
+ # The scripting language to use for this ad unit.
+ # Corresponds to the JSON property `scriptingLanguage`
+ # @return [String]
+ attr_accessor :scripting_language
+
+ # Size of this ad unit.
+ # Corresponds to the JSON property `size`
+ # @return [String]
+ attr_accessor :size
+
+ # Type of this ad unit.
+ # 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)
+ @markup_language = args[:markup_language] unless args[:markup_language].nil?
+ @scripting_language = args[:scripting_language] unless args[:scripting_language].nil?
+ @size = args[:size] unless args[:size].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+ end
+
+ #
+ class AdUnits
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The ad units returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsensehost#adUnits.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through ad units. To retrieve the next page of
+ # results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class AssociationSession
+ include Google::Apis::Core::Hashable
+
+ # Hosted account id of the associated publisher after association. Present if
+ # status is ACCEPTED.
+ # Corresponds to the JSON property `accountId`
+ # @return [String]
+ attr_accessor :account_id
+
+ # Unique identifier of this association session.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsensehost#associationSession.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The products to associate with the user. Options: AFC, AFF, AFS, AFMC
+ # Corresponds to the JSON property `productCodes`
+ # @return [Array]
+ attr_accessor :product_codes
+
+ # Redirect URL of this association session. Used to redirect users into the
+ # AdSense association flow.
+ # Corresponds to the JSON property `redirectUrl`
+ # @return [String]
+ attr_accessor :redirect_url
+
+ # Status of the completed association, available once the association callback
+ # token has been verified. One of ACCEPTED, REJECTED, or ERROR.
+ # Corresponds to the JSON property `status`
+ # @return [String]
+ attr_accessor :status
+
+ # The preferred locale of the user themselves when going through the AdSense
+ # association flow.
+ # Corresponds to the JSON property `userLocale`
+ # @return [String]
+ attr_accessor :user_locale
+
+ # The locale of the user's hosted website.
+ # Corresponds to the JSON property `websiteLocale`
+ # @return [String]
+ attr_accessor :website_locale
+
+ # The URL of the user's hosted website.
+ # 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] unless args[:account_id].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @product_codes = args[:product_codes] unless args[:product_codes].nil?
+ @redirect_url = args[:redirect_url] unless args[:redirect_url].nil?
+ @status = args[:status] unless args[:status].nil?
+ @user_locale = args[:user_locale] unless args[:user_locale].nil?
+ @website_locale = args[:website_locale] unless args[:website_locale].nil?
+ @website_url = args[:website_url] unless args[:website_url].nil?
+ end
+ end
+
+ #
+ class CustomChannel
+ include Google::Apis::Core::Hashable
+
+ # Code of this custom channel, not necessarily unique across ad clients.
+ # Corresponds to the JSON property `code`
+ # @return [String]
+ attr_accessor :code
+
+ # Unique identifier of this custom channel. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsensehost#customChannel.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Name of this custom channel.
+ # 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)
+ @code = args[:code] unless args[:code].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ end
+ end
+
+ #
+ class CustomChannels
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The custom channels returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsensehost#customChannels.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through custom channels. To retrieve the next
+ # page of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+
+ #
+ class Report
+ include Google::Apis::Core::Hashable
+
+ # The averages of the report. This is the same length as any other row in the
+ # report; cells corresponding to dimension columns are empty.
+ # Corresponds to the JSON property `averages`
+ # @return [Array]
+ attr_accessor :averages
+
+ # The header information of the columns requested in the report. This is a list
+ # of headers; one for each dimension in the request, followed by one for each
+ # metric in the request.
+ # Corresponds to the JSON property `headers`
+ # @return [Array]
+ attr_accessor :headers
+
+ # Kind this is, in this case adsensehost#report.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The output rows of the report. Each row is a list of cells; one for each
+ # dimension in the request, followed by one for each metric in the request. The
+ # dimension cells contain strings, and the metric cells contain numbers.
+ # Corresponds to the JSON property `rows`
+ # @return [Array>]
+ attr_accessor :rows
+
+ # The total number of rows matched by the report request. Fewer rows may be
+ # returned in the response due to being limited by the row count requested or
+ # the report row limit.
+ # Corresponds to the JSON property `totalMatchedRows`
+ # @return [String]
+ attr_accessor :total_matched_rows
+
+ # The totals of the report. This is the same length as any other row in the
+ # report; cells corresponding to dimension columns are empty.
+ # Corresponds to the JSON property `totals`
+ # @return [Array]
+ attr_accessor :totals
+
+ # Any warnings associated with generation of the report.
+ # Corresponds to the JSON property `warnings`
+ # @return [Array]
+ attr_accessor :warnings
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @averages = args[:averages] unless args[:averages].nil?
+ @headers = args[:headers] unless args[:headers].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @rows = args[:rows] unless args[:rows].nil?
+ @total_matched_rows = args[:total_matched_rows] unless args[:total_matched_rows].nil?
+ @totals = args[:totals] unless args[:totals].nil?
+ @warnings = args[:warnings] unless args[:warnings].nil?
+ end
+
+ #
+ class Header
+ include Google::Apis::Core::Hashable
+
+ # The currency of this column. Only present if the header type is
+ # METRIC_CURRENCY.
+ # Corresponds to the JSON property `currency`
+ # @return [String]
+ attr_accessor :currency
+
+ # The name of the header.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or
+ # METRIC_CURRENCY.
+ # 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)
+ @currency = args[:currency] unless args[:currency].nil?
+ @name = args[:name] unless args[:name].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+ end
+
+ #
+ class UrlChannel
+ include Google::Apis::Core::Hashable
+
+ # Unique identifier of this URL channel. This should be considered an opaque
+ # identifier; it is not safe to rely on it being in any particular format.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Kind of resource this is, in this case adsensehost#urlChannel.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # URL Pattern of this URL channel. Does not include "http://" or "https://".
+ # Example: www.example.com/home
+ # Corresponds to the JSON property `urlPattern`
+ # @return [String]
+ attr_accessor :url_pattern
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @url_pattern = args[:url_pattern] unless args[:url_pattern].nil?
+ end
+ end
+
+ #
+ class UrlChannels
+ include Google::Apis::Core::Hashable
+
+ # ETag of this response for caching purposes.
+ # Corresponds to the JSON property `etag`
+ # @return [String]
+ attr_accessor :etag
+
+ # The URL channels returned in this list response.
+ # Corresponds to the JSON property `items`
+ # @return [Array]
+ attr_accessor :items
+
+ # Kind of list this is, in this case adsensehost#urlChannels.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Continuation token used to page through URL channels. To retrieve the next
+ # page of results, set the next request's "pageToken" value to this.
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adsensehost_v4_1/representations.rb b/generated/google/apis/adsensehost_v4_1/representations.rb
new file mode 100644
index 000000000..204124a36
--- /dev/null
+++ b/generated/google/apis/adsensehost_v4_1/representations.rb
@@ -0,0 +1,327 @@
+# 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 AdsensehostV4_1
+
+ class Account
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Accounts
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdClient
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdClients
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdCode
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdStyle
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Colors
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Font
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class AdUnit
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ContentAdsSettings
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class BackupOption
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class MobileContentAdsSettings
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class AdUnits
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AssociationSession
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class CustomChannel
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class CustomChannels
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Report
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Header
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class UrlChannel
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UrlChannels
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ # @private
+ class Account
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :status, as: 'status'
+ end
+ end
+
+ # @private
+ class Accounts
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsensehostV4_1::Account, decorator: Google::Apis::AdsensehostV4_1::Account::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class AdClient
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :arc_opt_in, as: 'arcOptIn'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :product_code, as: 'productCode'
+ property :supports_reporting, as: 'supportsReporting'
+ end
+ end
+
+ # @private
+ class AdClients
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsensehostV4_1::AdClient, decorator: Google::Apis::AdsensehostV4_1::AdClient::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class AdCode
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :ad_code, as: 'adCode'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class AdStyle
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :colors, as: 'colors', class: Google::Apis::AdsensehostV4_1::AdStyle::Colors, decorator: Google::Apis::AdsensehostV4_1::AdStyle::Colors::Representation
+
+ property :corners, as: 'corners'
+ property :font, as: 'font', class: Google::Apis::AdsensehostV4_1::AdStyle::Font, decorator: Google::Apis::AdsensehostV4_1::AdStyle::Font::Representation
+
+ property :kind, as: 'kind'
+ end
+
+ # @private
+ class Colors
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :background, as: 'background'
+ property :border, as: 'border'
+ property :text, as: 'text'
+ property :title, as: 'title'
+ property :url, as: 'url'
+ end
+ end
+
+ # @private
+ class Font
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :family, as: 'family'
+ property :size, as: 'size'
+ end
+ end
+ end
+
+ # @private
+ class AdUnit
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :code, as: 'code'
+ property :content_ads_settings, as: 'contentAdsSettings', class: Google::Apis::AdsensehostV4_1::AdUnit::ContentAdsSettings, decorator: Google::Apis::AdsensehostV4_1::AdUnit::ContentAdsSettings::Representation
+
+ property :custom_style, as: 'customStyle', class: Google::Apis::AdsensehostV4_1::AdStyle, decorator: Google::Apis::AdsensehostV4_1::AdStyle::Representation
+
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :mobile_content_ads_settings, as: 'mobileContentAdsSettings', class: Google::Apis::AdsensehostV4_1::AdUnit::MobileContentAdsSettings, decorator: Google::Apis::AdsensehostV4_1::AdUnit::MobileContentAdsSettings::Representation
+
+ property :name, as: 'name'
+ property :status, as: 'status'
+ end
+
+ # @private
+ class ContentAdsSettings
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :backup_option, as: 'backupOption', class: Google::Apis::AdsensehostV4_1::AdUnit::ContentAdsSettings::BackupOption, decorator: Google::Apis::AdsensehostV4_1::AdUnit::ContentAdsSettings::BackupOption::Representation
+
+ property :size, as: 'size'
+ property :type, as: 'type'
+ end
+
+ # @private
+ class BackupOption
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :color, as: 'color'
+ property :type, as: 'type'
+ property :url, as: 'url'
+ end
+ end
+ end
+
+ # @private
+ class MobileContentAdsSettings
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :markup_language, as: 'markupLanguage'
+ property :scripting_language, as: 'scriptingLanguage'
+ property :size, as: 'size'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class AdUnits
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsensehostV4_1::AdUnit, decorator: Google::Apis::AdsensehostV4_1::AdUnit::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class AssociationSession
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ collection :product_codes, as: 'productCodes'
+ property :redirect_url, as: 'redirectUrl'
+ property :status, as: 'status'
+ property :user_locale, as: 'userLocale'
+ property :website_locale, as: 'websiteLocale'
+ property :website_url, as: 'websiteUrl'
+ end
+ end
+
+ # @private
+ class CustomChannel
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :code, as: 'code'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class CustomChannels
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsensehostV4_1::CustomChannel, decorator: Google::Apis::AdsensehostV4_1::CustomChannel::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+
+ # @private
+ class Report
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :averages, as: 'averages'
+ collection :headers, as: 'headers', class: Google::Apis::AdsensehostV4_1::Report::Header, decorator: Google::Apis::AdsensehostV4_1::Report::Header::Representation
+
+ property :kind, as: 'kind'
+ collection :rows, as: 'rows', :class => Array do
+ include Representable::JSON::Collection
+ items
+ end
+
+ property :total_matched_rows, as: 'totalMatchedRows'
+ collection :totals, as: 'totals'
+ collection :warnings, as: 'warnings'
+ end
+
+ # @private
+ class Header
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :currency, as: 'currency'
+ property :name, as: 'name'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class UrlChannel
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :url_pattern, as: 'urlPattern'
+ end
+ end
+
+ # @private
+ class UrlChannels
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AdsensehostV4_1::UrlChannel, decorator: Google::Apis::AdsensehostV4_1::UrlChannel::Representation
+
+ property :kind, as: 'kind'
+ property :next_page_token, as: 'nextPageToken'
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/adsensehost_v4_1/service.rb b/generated/google/apis/adsensehost_v4_1/service.rb
new file mode 100644
index 000000000..eb8a4f2f0
--- /dev/null
+++ b/generated/google/apis/adsensehost_v4_1/service.rb
@@ -0,0 +1,1190 @@
+# 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 '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 AdsensehostV4_1
+ # AdSense Host API
+ #
+ # Gives AdSense Hosts access to report generation, ad code generation, and
+ # publisher management capabilities.
+ #
+ # @example
+ # require 'google/apis/adsensehost_v4_1'
+ #
+ # Adsensehost = Google::Apis::AdsensehostV4_1 # Alias the module
+ # service = Adsensehost::AdSenseHostService.new
+ #
+ # @see https://developers.google.com/adsense/host/
+ class AdSenseHostService < Google::Apis::Core::BaseService
+ # @return [String]
+ # API key. Your API key identifies your project and provides you with API access,
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
+ attr_accessor :key
+
+ # @return [String]
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ attr_accessor :quota_user
+
+ # @return [String]
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ attr_accessor :user_ip
+
+ def initialize
+ super('https://www.googleapis.com/', 'adsensehost/v4.1/')
+ end
+
+ # Get information about the selected associated AdSense account.
+ # @param [String] account_id
+ # Account to get information about.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::Account] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::Account]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account(account_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::Account::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::Account
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List hosted accounts associated with this AdSense account by ad client id.
+ # @param [Array, String] filter_ad_client_id
+ # Ad clients to list accounts for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::Accounts] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::Accounts]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_accounts(filter_ad_client_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::Accounts::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::Accounts
+ command.query['filterAdClientId'] = filter_ad_client_id unless filter_ad_client_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get information about one of the ad clients in the specified publisher's
+ # AdSense account.
+ # @param [String] account_id
+ # Account which contains the ad client.
+ # @param [String] ad_client_id
+ # Ad client to get.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdClient] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdClient]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account_ad_client(account_id, ad_client_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdClient::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdClient
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all hosted ad clients in the specified hosted account.
+ # @param [String] account_id
+ # Account for which to list ad clients.
+ # @param [Fixnum] max_results
+ # The maximum number of ad clients to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through ad clients. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdClients] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdClients]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_ad_clients(account_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdClients::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdClients
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete the specified ad unit from the specified publisher AdSense account.
+ # @param [String] account_id
+ # Account which contains the ad unit.
+ # @param [String] ad_client_id
+ # Ad client for which to get ad unit.
+ # @param [String] ad_unit_id
+ # Ad unit to delete.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_account_ad_unit(account_id, ad_client_id, ad_unit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}'
+ command = make_simple_command(:delete, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdUnit::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdUnit
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['adUnitId'] = ad_unit_id unless ad_unit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get the specified host ad unit in this AdSense account.
+ # @param [String] account_id
+ # Account which contains the ad unit.
+ # @param [String] ad_client_id
+ # Ad client for which to get ad unit.
+ # @param [String] ad_unit_id
+ # Ad unit to get.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account_ad_unit(account_id, ad_client_id, ad_unit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdUnit::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdUnit
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['adUnitId'] = ad_unit_id unless ad_unit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get ad code for the specified ad unit, attaching the specified host custom
+ # channels.
+ # @param [String] account_id
+ # Account which contains the ad client.
+ # @param [String] ad_client_id
+ # Ad client with contains the ad unit.
+ # @param [String] ad_unit_id
+ # Ad unit to get the code for.
+ # @param [Array, String] host_custom_channel_id
+ # Host custom channel to attach to the ad code.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdCode] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdCode]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_account_ad_unit_ad_code(account_id, ad_client_id, ad_unit_id, host_custom_channel_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdCode::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdCode
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['adUnitId'] = ad_unit_id unless ad_unit_id.nil?
+ command.query['hostCustomChannelId'] = host_custom_channel_id unless host_custom_channel_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Insert the supplied ad unit into the specified publisher AdSense account.
+ # @param [String] account_id
+ # Account which will contain the ad unit.
+ # @param [String] ad_client_id
+ # Ad client into which to insert the ad unit.
+ # @param [Google::Apis::AdsensehostV4_1::AdUnit] ad_unit_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_account_ad_unit(account_id, ad_client_id, ad_unit_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdsensehostV4_1::AdUnit::Representation
+ command.request_object = ad_unit_object
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdUnit::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdUnit
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all ad units in the specified publisher's AdSense account.
+ # @param [String] account_id
+ # Account which contains the ad client.
+ # @param [String] ad_client_id
+ # Ad client for which to list ad units.
+ # @param [Boolean] include_inactive
+ # Whether to include inactive ad units. Default: true.
+ # @param [Fixnum] max_results
+ # The maximum number of ad units to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through ad units. To retrieve the next page,
+ # set this parameter to the value of "nextPageToken" from the previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdUnits] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdUnits]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_ad_units(account_id, ad_client_id, include_inactive: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdUnits::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdUnits
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['includeInactive'] = include_inactive unless include_inactive.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update the supplied ad unit in the specified publisher AdSense account. This
+ # method supports patch semantics.
+ # @param [String] account_id
+ # Account which contains the ad client.
+ # @param [String] ad_client_id
+ # Ad client which contains the ad unit.
+ # @param [Google::Apis::AdsensehostV4_1::AdUnit] ad_unit_object
+ # @param [String] ad_unit_id
+ # Ad unit to get.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_account_ad_unit(account_id, ad_client_id, ad_unit_object = nil, ad_unit_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdsensehostV4_1::AdUnit::Representation
+ command.request_object = ad_unit_object
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdUnit::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdUnit
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['adUnitId'] = ad_unit_id unless ad_unit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update the supplied ad unit in the specified publisher AdSense account.
+ # @param [String] account_id
+ # Account which contains the ad client.
+ # @param [String] ad_client_id
+ # Ad client which contains the ad unit.
+ # @param [Google::Apis::AdsensehostV4_1::AdUnit] ad_unit_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdUnit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdUnit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_account_ad_unit(account_id, ad_client_id, ad_unit_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/adclients/{adClientId}/adunits'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdsensehostV4_1::AdUnit::Representation
+ command.request_object = ad_unit_object
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdUnit::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdUnit
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generate an AdSense report based on the report request sent in the query
+ # parameters. Returns the result as JSON; to retrieve output in CSV format
+ # specify "alt=csv" as a query parameter.
+ # @param [String] account_id
+ # Hosted account upon which to report.
+ # @param [Array, String] dimension
+ # Dimensions to base the report on.
+ # @param [String] end_date
+ # End of the date range to report on in "YYYY-MM-DD" format, inclusive.
+ # @param [Array, String] filter
+ # Filters to be run on the report.
+ # @param [String] locale
+ # Optional locale to use for translating report output to a local language.
+ # Defaults to "en_US" if not specified.
+ # @param [Fixnum] max_results
+ # The maximum number of rows of report data to return.
+ # @param [Array, String] metric
+ # Numeric columns to include in the report.
+ # @param [Array, String] sort
+ # The name of a dimension or metric to sort the resulting report on, optionally
+ # prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is
+ # specified, the column is sorted ascending.
+ # @param [String] start_date
+ # Start of the date range to report on in "YYYY-MM-DD" format, inclusive.
+ # @param [Fixnum] start_index
+ # Index of the first row of report data to return.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::Report] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::Report]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_account_report(account_id, dimension: nil, end_date: nil, filter: nil, locale: nil, max_results: nil, metric: nil, sort: nil, start_date: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'accounts/{accountId}/reports'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::Report::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::Report
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['dimension'] = dimension unless dimension.nil?
+ command.query['endDate'] = end_date unless end_date.nil?
+ command.query['filter'] = filter unless filter.nil?
+ command.query['locale'] = locale unless locale.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['metric'] = metric unless metric.nil?
+ command.query['sort'] = sort unless sort.nil?
+ command.query['startDate'] = start_date unless start_date.nil?
+ command.query['startIndex'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get information about one of the ad clients in the Host AdSense account.
+ # @param [String] ad_client_id
+ # Ad client to get.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdClient] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdClient]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_ad_client(ad_client_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdClient::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdClient
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all host ad clients in this AdSense account.
+ # @param [Fixnum] max_results
+ # The maximum number of ad clients to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through ad clients. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AdClients] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AdClients]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_ad_clients(max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::AdClients::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AdClients
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create an association session for initiating an association with an AdSense
+ # user.
+ # @param [Array, String] product_code
+ # Products to associate with the user.
+ # @param [String] user_locale
+ # The preferred locale of the user.
+ # @param [String] website_locale
+ # The locale of the user's hosted website.
+ # @param [String] website_url
+ # The URL of the user's hosted website.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AssociationSession] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AssociationSession]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def start_association_session(product_code: nil, user_locale: nil, website_locale: nil, website_url: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'associationsessions/start'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::AssociationSession::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AssociationSession
+ command.query['productCode'] = product_code unless product_code.nil?
+ command.query['userLocale'] = user_locale unless user_locale.nil?
+ command.query['websiteLocale'] = website_locale unless website_locale.nil?
+ command.query['websiteUrl'] = website_url unless website_url.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Verify an association session after the association callback returns from
+ # AdSense signup.
+ # @param [String] token
+ # The token returned to the association callback URL.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::AssociationSession] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::AssociationSession]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def verify_association_session(token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'associationsessions/verify'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::AssociationSession::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::AssociationSession
+ command.query['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete a specific custom channel from the host AdSense account.
+ # @param [String] ad_client_id
+ # Ad client from which to delete the custom channel.
+ # @param [String] custom_channel_id
+ # Custom channel to delete.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::CustomChannel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::CustomChannel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_custom_channel(ad_client_id, custom_channel_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/customchannels/{customChannelId}'
+ command = make_simple_command(:delete, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::CustomChannel::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::CustomChannel
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['customChannelId'] = custom_channel_id unless custom_channel_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get a specific custom channel from the host AdSense account.
+ # @param [String] ad_client_id
+ # Ad client from which to get the custom channel.
+ # @param [String] custom_channel_id
+ # Custom channel to get.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::CustomChannel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::CustomChannel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_custom_channel(ad_client_id, custom_channel_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/customchannels/{customChannelId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::CustomChannel::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::CustomChannel
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['customChannelId'] = custom_channel_id unless custom_channel_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Add a new custom channel to the host AdSense account.
+ # @param [String] ad_client_id
+ # Ad client to which the new custom channel will be added.
+ # @param [Google::Apis::AdsensehostV4_1::CustomChannel] custom_channel_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::CustomChannel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::CustomChannel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_custom_channel(ad_client_id, custom_channel_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/customchannels'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdsensehostV4_1::CustomChannel::Representation
+ command.request_object = custom_channel_object
+ command.response_representation = Google::Apis::AdsensehostV4_1::CustomChannel::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::CustomChannel
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all host custom channels in this AdSense account.
+ # @param [String] ad_client_id
+ # Ad client for which to list custom channels.
+ # @param [Fixnum] max_results
+ # The maximum number of custom channels to include in the response, used for
+ # paging.
+ # @param [String] page_token
+ # A continuation token, used to page through custom channels. To retrieve the
+ # next page, set this parameter to the value of "nextPageToken" from the
+ # previous response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::CustomChannels] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::CustomChannels]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_custom_channels(ad_client_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/customchannels'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::CustomChannels::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::CustomChannels
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update a custom channel in the host AdSense account. This method supports
+ # patch semantics.
+ # @param [String] ad_client_id
+ # Ad client in which the custom channel will be updated.
+ # @param [Google::Apis::AdsensehostV4_1::CustomChannel] custom_channel_object
+ # @param [String] custom_channel_id
+ # Custom channel to get.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::CustomChannel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::CustomChannel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_custom_channel(ad_client_id, custom_channel_object = nil, custom_channel_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/customchannels'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AdsensehostV4_1::CustomChannel::Representation
+ command.request_object = custom_channel_object
+ command.response_representation = Google::Apis::AdsensehostV4_1::CustomChannel::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::CustomChannel
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['customChannelId'] = custom_channel_id unless custom_channel_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update a custom channel in the host AdSense account.
+ # @param [String] ad_client_id
+ # Ad client in which the custom channel will be updated.
+ # @param [Google::Apis::AdsensehostV4_1::CustomChannel] custom_channel_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::CustomChannel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::CustomChannel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_custom_channel(ad_client_id, custom_channel_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/customchannels'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AdsensehostV4_1::CustomChannel::Representation
+ command.request_object = custom_channel_object
+ command.response_representation = Google::Apis::AdsensehostV4_1::CustomChannel::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::CustomChannel
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generate an AdSense report based on the report request sent in the query
+ # parameters. Returns the result as JSON; to retrieve output in CSV format
+ # specify "alt=csv" as a query parameter.
+ # @param [Array, String] dimension
+ # Dimensions to base the report on.
+ # @param [String] end_date
+ # End of the date range to report on in "YYYY-MM-DD" format, inclusive.
+ # @param [Array, String] filter
+ # Filters to be run on the report.
+ # @param [String] locale
+ # Optional locale to use for translating report output to a local language.
+ # Defaults to "en_US" if not specified.
+ # @param [Fixnum] max_results
+ # The maximum number of rows of report data to return.
+ # @param [Array, String] metric
+ # Numeric columns to include in the report.
+ # @param [Array, String] sort
+ # The name of a dimension or metric to sort the resulting report on, optionally
+ # prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is
+ # specified, the column is sorted ascending.
+ # @param [String] start_date
+ # Start of the date range to report on in "YYYY-MM-DD" format, inclusive.
+ # @param [Fixnum] start_index
+ # Index of the first row of report data to return.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::Report] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::Report]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_report(dimension: nil, end_date: nil, filter: nil, locale: nil, max_results: nil, metric: nil, sort: nil, start_date: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'reports'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::Report::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::Report
+ command.query['dimension'] = dimension unless dimension.nil?
+ command.query['endDate'] = end_date unless end_date.nil?
+ command.query['filter'] = filter unless filter.nil?
+ command.query['locale'] = locale unless locale.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['metric'] = metric unless metric.nil?
+ command.query['sort'] = sort unless sort.nil?
+ command.query['startDate'] = start_date unless start_date.nil?
+ command.query['startIndex'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete a URL channel from the host AdSense account.
+ # @param [String] ad_client_id
+ # Ad client from which to delete the URL channel.
+ # @param [String] url_channel_id
+ # URL channel to delete.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::UrlChannel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::UrlChannel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_url_channel(ad_client_id, url_channel_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/urlchannels/{urlChannelId}'
+ command = make_simple_command(:delete, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::UrlChannel::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::UrlChannel
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.params['urlChannelId'] = url_channel_id unless url_channel_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Add a new URL channel to the host AdSense account.
+ # @param [String] ad_client_id
+ # Ad client to which the new URL channel will be added.
+ # @param [Google::Apis::AdsensehostV4_1::UrlChannel] url_channel_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::UrlChannel] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::UrlChannel]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_url_channel(ad_client_id, url_channel_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/urlchannels'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AdsensehostV4_1::UrlChannel::Representation
+ command.request_object = url_channel_object
+ command.response_representation = Google::Apis::AdsensehostV4_1::UrlChannel::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::UrlChannel
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all host URL channels in the host AdSense account.
+ # @param [String] ad_client_id
+ # Ad client for which to list URL channels.
+ # @param [Fixnum] max_results
+ # The maximum number of URL channels to include in the response, used for paging.
+ # @param [String] page_token
+ # A continuation token, used to page through URL channels. To retrieve the next
+ # page, set this parameter to the value of "nextPageToken" from the previous
+ # response.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AdsensehostV4_1::UrlChannels] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AdsensehostV4_1::UrlChannels]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_url_channels(ad_client_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'adclients/{adClientId}/urlchannels'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AdsensehostV4_1::UrlChannels::Representation
+ command.response_class = Google::Apis::AdsensehostV4_1::UrlChannels
+ command.params['adClientId'] = ad_client_id unless ad_client_id.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['pageToken'] = page_token unless page_token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ protected
+
+ def apply_command_defaults(command)
+ command.query['key'] = key unless key.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/analytics_v3.rb b/generated/google/apis/analytics_v3.rb
new file mode 100644
index 000000000..4e4136f1e
--- /dev/null
+++ b/generated/google/apis/analytics_v3.rb
@@ -0,0 +1,49 @@
+# 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 'google/apis/analytics_v3/service.rb'
+require 'google/apis/analytics_v3/classes.rb'
+require 'google/apis/analytics_v3/representations.rb'
+
+module Google
+ module Apis
+ # Google Analytics API
+ #
+ # View and manage your Google Analytics data
+ #
+ # @see https://developers.google.com/analytics/
+ module AnalyticsV3
+ VERSION = 'V3'
+ REVISION = '20150417'
+
+ # View and manage your Google Analytics data
+ AUTH_ANALYTICS = 'https://www.googleapis.com/auth/analytics'
+
+ # Edit Google Analytics management entities
+ AUTH_ANALYTICS_EDIT = 'https://www.googleapis.com/auth/analytics.edit'
+
+ # Manage Google Analytics Account users by email address
+ AUTH_ANALYTICS_MANAGE_USERS = 'https://www.googleapis.com/auth/analytics.manage.users'
+
+ # View Google Analytics user permissions
+ AUTH_ANALYTICS_MANAGE_USERS_READONLY = 'https://www.googleapis.com/auth/analytics.manage.users.readonly'
+
+ # Create a new Google Analytics account along with its default property and view
+ AUTH_ANALYTICS_PROVISION = 'https://www.googleapis.com/auth/analytics.provision'
+
+ # View your Google Analytics data
+ AUTH_ANALYTICS_READONLY = 'https://www.googleapis.com/auth/analytics.readonly'
+ end
+ end
+end
diff --git a/generated/google/apis/analytics_v3/classes.rb b/generated/google/apis/analytics_v3/classes.rb
new file mode 100644
index 000000000..2d1893e7d
--- /dev/null
+++ b/generated/google/apis/analytics_v3/classes.rb
@@ -0,0 +1,5113 @@
+# 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
+
+ # 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] unless args[:child_link].nil?
+ @created = args[:created] unless args[:created].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @permissions = args[:permissions] unless args[:permissions].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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]
+ attr_accessor :effective
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @effective = args[:effective] unless args[:effective].nil?
+ 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] unless args[:href].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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
+
+ # List of web properties under this account.
+ # Corresponds to the JSON property `webProperties`
+ # @return [Array]
+ attr_accessor :web_properties
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @web_properties = args[:web_properties] unless args[:web_properties].nil?
+ 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] unless args[:account].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @profile = args[:profile] unless args[:profile].nil?
+ @redirect_uri = args[:redirect_uri] unless args[:redirect_uri].nil?
+ @webproperty = args[:webproperty] unless args[:webproperty].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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] unless args[:auto_tagging_enabled].nil?
+ @customer_id = args[:customer_id] unless args[:customer_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ 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]
+ 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] unless args[:custom_data_import_uids].nil?
+ 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]
+ 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] unless args[:attributes].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ 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]
+ 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]
+ 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] unless args[:attribute_names].nil?
+ @etag = args[:etag] unless args[:etag].nil?
+ @items = args[:items] unless args[:items].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ 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]
+ attr_accessor :profiles_linked
+
+ # 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
+
+ #
+ # 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] unless args[:account_id].nil?
+ @child_link = args[:child_link] unless args[:child_link].nil?
+ @created = args[:created] unless args[:created].nil?
+ @description = args[:description] unless args[:description].nil?
+ @id = args[:id] unless args[:id].nil?
+ @import_behavior = args[:import_behavior] unless args[:import_behavior].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @parent_link = args[:parent_link] unless args[:parent_link].nil?
+ @profiles_linked = args[:profiles_linked] unless args[:profiles_linked].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @type = args[:type] unless args[:type].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ @upload_type = args[:upload_type] unless args[:upload_type].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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] unless args[:account_id].nil?
+ @active = args[:active] unless args[:active].nil?
+ @created = args[:created] unless args[:created].nil?
+ @id = args[:id] unless args[:id].nil?
+ @index = args[:index] unless args[:index].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @parent_link = args[:parent_link] unless args[:parent_link].nil?
+ @scope = args[:scope] unless args[:scope].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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] unless args[:account_id].nil?
+ @active = args[:active] unless args[:active].nil?
+ @created = args[:created] unless args[:created].nil?
+ @id = args[:id] unless args[:id].nil?
+ @index = args[:index] unless args[:index].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @max_value = args[:max_value] unless args[:max_value].nil?
+ @min_value = args[:min_value] unless args[:min_value].nil?
+ @name = args[:name] unless args[:name].nil?
+ @parent_link = args[:parent_link] unless args[:parent_link].nil?
+ @scope = args[:scope] unless args[:scope].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @type = args[:type] unless args[:type].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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]
+ 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]
+ 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] unless args[:ad_words_accounts].nil?
+ @entity = args[:entity] unless args[:entity].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @profile_ids = args[:profile_ids] unless args[:profile_ids].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ 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] unless args[:web_property_ref].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ 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] unless args[:entity].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @permissions = args[:permissions] unless args[:permissions].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @user_ref = args[:user_ref] unless args[:user_ref].nil?
+ 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] unless args[:account_ref].nil?
+ @profile_ref = args[:profile_ref] unless args[:profile_ref].nil?
+ @web_property_ref = args[:web_property_ref] unless args[:web_property_ref].nil?
+ 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]
+ 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]
+ attr_accessor :local
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @effective = args[:effective] unless args[:effective].nil?
+ @local = args[:local] unless args[:local].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ 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 between 0 and 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]
+ 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 between 0 and 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] unless args[:account_id].nil?
+ @created = args[:created] unless args[:created].nil?
+ @description = args[:description] unless args[:description].nil?
+ @editable_in_ga_ui = args[:editable_in_ga_ui] unless args[:editable_in_ga_ui].nil?
+ @end_time = args[:end_time] unless args[:end_time].nil?
+ @equal_weighting = args[:equal_weighting] unless args[:equal_weighting].nil?
+ @id = args[:id] unless args[:id].nil?
+ @internal_web_property_id = args[:internal_web_property_id] unless args[:internal_web_property_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @minimum_experiment_length_in_days = args[:minimum_experiment_length_in_days] unless args[:minimum_experiment_length_in_days].nil?
+ @name = args[:name] unless args[:name].nil?
+ @objective_metric = args[:objective_metric] unless args[:objective_metric].nil?
+ @optimization_type = args[:optimization_type] unless args[:optimization_type].nil?
+ @parent_link = args[:parent_link] unless args[:parent_link].nil?
+ @profile_id = args[:profile_id] unless args[:profile_id].nil?
+ @reason_experiment_ended = args[:reason_experiment_ended] unless args[:reason_experiment_ended].nil?
+ @rewrite_variation_urls_as_original = args[:rewrite_variation_urls_as_original] unless args[:rewrite_variation_urls_as_original].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @serving_framework = args[:serving_framework] unless args[:serving_framework].nil?
+ @snippet = args[:snippet] unless args[:snippet].nil?
+ @start_time = args[:start_time] unless args[:start_time].nil?
+ @status = args[:status] unless args[:status].nil?
+ @traffic_coverage = args[:traffic_coverage] unless args[:traffic_coverage].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ @variations = args[:variations] unless args[:variations].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ @winner_confidence_level = args[:winner_confidence_level] unless args[:winner_confidence_level].nil?
+ @winner_found = args[:winner_found] unless args[:winner_found].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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] unless args[:name].nil?
+ @status = args[:status] unless args[:status].nil?
+ @url = args[:url] unless args[:url].nil?
+ @weight = args[:weight] unless args[:weight].nil?
+ @won = args[:won] unless args[:won].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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] unless args[:account_id].nil?
+ @advanced_details = args[:advanced_details] unless args[:advanced_details].nil?
+ @created = args[:created] unless args[:created].nil?
+ @exclude_details = args[:exclude_details] unless args[:exclude_details].nil?
+ @id = args[:id] unless args[:id].nil?
+ @include_details = args[:include_details] unless args[:include_details].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @lowercase_details = args[:lowercase_details] unless args[:lowercase_details].nil?
+ @name = args[:name] unless args[:name].nil?
+ @parent_link = args[:parent_link] unless args[:parent_link].nil?
+ @search_and_replace_details = args[:search_and_replace_details] unless args[:search_and_replace_details].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @type = args[:type] unless args[:type].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ @uppercase_details = args[:uppercase_details] unless args[:uppercase_details].nil?
+ 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] unless args[:case_sensitive].nil?
+ @extract_a = args[:extract_a] unless args[:extract_a].nil?
+ @extract_b = args[:extract_b] unless args[:extract_b].nil?
+ @field_a = args[:field_a] unless args[:field_a].nil?
+ @field_a_index = args[:field_a_index] unless args[:field_a_index].nil?
+ @field_a_required = args[:field_a_required] unless args[:field_a_required].nil?
+ @field_b = args[:field_b] unless args[:field_b].nil?
+ @field_b_index = args[:field_b_index] unless args[:field_b_index].nil?
+ @field_b_required = args[:field_b_required] unless args[:field_b_required].nil?
+ @output_constructor = args[:output_constructor] unless args[:output_constructor].nil?
+ @output_to_field = args[:output_to_field] unless args[:output_to_field].nil?
+ @output_to_field_index = args[:output_to_field_index] unless args[:output_to_field_index].nil?
+ @override_output_field = args[:override_output_field] unless args[:override_output_field].nil?
+ 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] unless args[:field].nil?
+ @field_index = args[:field_index] unless args[:field_index].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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] unless args[:case_sensitive].nil?
+ @field = args[:field] unless args[:field].nil?
+ @field_index = args[:field_index] unless args[:field_index].nil?
+ @replace_string = args[:replace_string] unless args[:replace_string].nil?
+ @search_string = args[:search_string] unless args[:search_string].nil?
+ 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] unless args[:field].nil?
+ @field_index = args[:field_index] unless args[:field_index].nil?
+ 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, MATCHES. Include and Exclude filters can use any match type. Match
+ # type is not applicable to Upper case and Lower case filters. Search and
+ # Replace expressions in the Search and Replace filter and all filter
+ # expressions in the Advanced filter default to MATCHES. User should not set
+ # match type for those filters.
+ # 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] unless args[:case_sensitive].nil?
+ @expression_value = args[:expression_value] unless args[:expression_value].nil?
+ @field = args[:field] unless args[:field].nil?
+ @field_index = args[:field_index] unless args[:field_index].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @match_type = args[:match_type] unless args[:match_type].nil?
+ 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] unless args[:account_id].nil?
+ @href = args[:href] unless args[:href].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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]
+ 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
+
+ #
+ # 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>]
+ attr_accessor :rows
+
+ # The number of samples used to calculate the result.
+ # Corresponds to the JSON property `sampleSize`
+ # @return [String]
+ attr_accessor :sample_size
+
+ # Total size of the sample space from which the samples were selected.
+ # Corresponds to the JSON property `sampleSpace`
+ # @return [String]
+ 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]
+ 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] unless args[:column_headers].nil?
+ @contains_sampled_data = args[:contains_sampled_data] unless args[:contains_sampled_data].nil?
+ @data_table = args[:data_table] unless args[:data_table].nil?
+ @id = args[:id] unless args[:id].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @profile_info = args[:profile_info] unless args[:profile_info].nil?
+ @query = args[:query] unless args[:query].nil?
+ @rows = args[:rows] unless args[:rows].nil?
+ @sample_size = args[:sample_size] unless args[:sample_size].nil?
+ @sample_space = args[:sample_space] unless args[:sample_space].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @totals_for_all_results = args[:totals_for_all_results] unless args[:totals_for_all_results].nil?
+ 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] unless args[:column_type].nil?
+ @data_type = args[:data_type] unless args[:data_type].nil?
+ @name = args[:name] unless args[:name].nil?
+ end
+ end
+
+ #
+ class DataTable
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `cols`
+ # @return [Array]
+ attr_accessor :cols
+
+ #
+ # Corresponds to the JSON property `rows`
+ # @return [Array]
+ attr_accessor :rows
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @cols = args[:cols] unless args[:cols].nil?
+ @rows = args[:rows] unless args[:rows].nil?
+ 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] unless args[:id].nil?
+ @label = args[:label] unless args[:label].nil?
+ @type = args[:type] unless args[:type].nil?
+ end
+ end
+
+ #
+ class Row
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `c`
+ # @return [Array]
+ attr_accessor :c
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @c = args[:c] unless args[:c].nil?
+ 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] unless args[:v].nil?
+ 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] unless args[:account_id].nil?
+ @internal_web_property_id = args[:internal_web_property_id] unless args[:internal_web_property_id].nil?
+ @profile_id = args[:profile_id] unless args[:profile_id].nil?
+ @profile_name = args[:profile_name] unless args[:profile_name].nil?
+ @table_id = args[:table_id] unless args[:table_id].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ 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]
+ 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]
+ 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] unless args[:dimensions].nil?
+ @end_date = args[:end_date] unless args[:end_date].nil?
+ @filters = args[:filters] unless args[:filters].nil?
+ @ids = args[:ids] unless args[:ids].nil?
+ @max_results = args[:max_results] unless args[:max_results].nil?
+ @metrics = args[:metrics] unless args[:metrics].nil?
+ @sampling_level = args[:sampling_level] unless args[:sampling_level].nil?
+ @segment = args[:segment] unless args[:segment].nil?
+ @sort = args[:sort] unless args[:sort].nil?
+ @start_date = args[:start_date] unless args[:start_date].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ 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] unless args[:account_id].nil?
+ @active = args[:active] unless args[:active].nil?
+ @created = args[:created] unless args[:created].nil?
+ @event_details = args[:event_details] unless args[:event_details].nil?
+ @id = args[:id] unless args[:id].nil?
+ @internal_web_property_id = args[:internal_web_property_id] unless args[:internal_web_property_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @parent_link = args[:parent_link] unless args[:parent_link].nil?
+ @profile_id = args[:profile_id] unless args[:profile_id].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @type = args[:type] unless args[:type].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ @url_destination_details = args[:url_destination_details] unless args[:url_destination_details].nil?
+ @value = args[:value] unless args[:value].nil?
+ @visit_num_pages_details = args[:visit_num_pages_details] unless args[:visit_num_pages_details].nil?
+ @visit_time_on_site_details = args[:visit_time_on_site_details] unless args[:visit_time_on_site_details].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ 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]
+ 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] unless args[:event_conditions].nil?
+ @use_event_value = args[:use_event_value] unless args[:use_event_value].nil?
+ 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 [String]
+ 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] unless args[:comparison_type].nil?
+ @comparison_value = args[:comparison_value] unless args[:comparison_value].nil?
+ @expression = args[:expression] unless args[:expression].nil?
+ @match_type = args[:match_type] unless args[:match_type].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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]
+ 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] unless args[:case_sensitive].nil?
+ @first_step_required = args[:first_step_required] unless args[:first_step_required].nil?
+ @match_type = args[:match_type] unless args[:match_type].nil?
+ @steps = args[:steps] unless args[:steps].nil?
+ @url = args[:url] unless args[:url].nil?
+ 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] unless args[:name].nil?
+ @number = args[:number] unless args[:number].nil?
+ @url = args[:url] unless args[:url].nil?
+ 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 [String]
+ attr_accessor :comparison_value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @comparison_type = args[:comparison_type] unless args[:comparison_type].nil?
+ @comparison_value = args[:comparison_value] unless args[:comparison_value].nil?
+ 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 [String]
+ attr_accessor :comparison_value
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @comparison_type = args[:comparison_type] unless args[:comparison_type].nil?
+ @comparison_value = args[:comparison_value] unless args[:comparison_value].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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]
+ 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>]
+ attr_accessor :rows
+
+ # The number of samples used to calculate the result.
+ # Corresponds to the JSON property `sampleSize`
+ # @return [String]
+ attr_accessor :sample_size
+
+ # Total size of the sample space from which the samples were selected.
+ # Corresponds to the JSON property `sampleSpace`
+ # @return [String]
+ 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]
+ 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] unless args[:column_headers].nil?
+ @contains_sampled_data = args[:contains_sampled_data] unless args[:contains_sampled_data].nil?
+ @id = args[:id] unless args[:id].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @profile_info = args[:profile_info] unless args[:profile_info].nil?
+ @query = args[:query] unless args[:query].nil?
+ @rows = args[:rows] unless args[:rows].nil?
+ @sample_size = args[:sample_size] unless args[:sample_size].nil?
+ @sample_space = args[:sample_space] unless args[:sample_space].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @totals_for_all_results = args[:totals_for_all_results] unless args[:totals_for_all_results].nil?
+ 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] unless args[:column_type].nil?
+ @data_type = args[:data_type] unless args[:data_type].nil?
+ @name = args[:name] unless args[:name].nil?
+ 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] unless args[:account_id].nil?
+ @internal_web_property_id = args[:internal_web_property_id] unless args[:internal_web_property_id].nil?
+ @profile_id = args[:profile_id] unless args[:profile_id].nil?
+ @profile_name = args[:profile_name] unless args[:profile_name].nil?
+ @table_id = args[:table_id] unless args[:table_id].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ 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]
+ 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]
+ 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] unless args[:dimensions].nil?
+ @end_date = args[:end_date] unless args[:end_date].nil?
+ @filters = args[:filters] unless args[:filters].nil?
+ @ids = args[:ids] unless args[:ids].nil?
+ @max_results = args[:max_results] unless args[:max_results].nil?
+ @metrics = args[:metrics] unless args[:metrics].nil?
+ @sampling_level = args[:sampling_level] unless args[:sampling_level].nil?
+ @segment = args[:segment] unless args[:segment].nil?
+ @sort = args[:sort] unless args[:sort].nil?
+ @start_date = args[:start_date] unless args[:start_date].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ 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]
+ 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] unless args[:conversion_path_value].nil?
+ @primitive_value = args[:primitive_value] unless args[:primitive_value].nil?
+ 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] unless args[:interaction_type].nil?
+ @node_value = args[:node_value] unless args[:node_value].nil?
+ 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
+
+ # 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). The supported values
+ # are:
+ # ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY,
+ # KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR
+ # 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
+
+ # 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] unless args[:account_id].nil?
+ @child_link = args[:child_link] unless args[:child_link].nil?
+ @created = args[:created] unless args[:created].nil?
+ @currency = args[:currency] unless args[:currency].nil?
+ @default_page = args[:default_page] unless args[:default_page].nil?
+ @e_commerce_tracking = args[:e_commerce_tracking] unless args[:e_commerce_tracking].nil?
+ @enhanced_e_commerce_tracking = args[:enhanced_e_commerce_tracking] unless args[:enhanced_e_commerce_tracking].nil?
+ @exclude_query_parameters = args[:exclude_query_parameters] unless args[:exclude_query_parameters].nil?
+ @id = args[:id] unless args[:id].nil?
+ @internal_web_property_id = args[:internal_web_property_id] unless args[:internal_web_property_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @parent_link = args[:parent_link] unless args[:parent_link].nil?
+ @permissions = args[:permissions] unless args[:permissions].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @site_search_category_parameters = args[:site_search_category_parameters] unless args[:site_search_category_parameters].nil?
+ @site_search_query_parameters = args[:site_search_query_parameters] unless args[:site_search_query_parameters].nil?
+ @strip_site_search_category_parameters = args[:strip_site_search_category_parameters] unless args[:strip_site_search_category_parameters].nil?
+ @strip_site_search_query_parameters = args[:strip_site_search_query_parameters] unless args[:strip_site_search_query_parameters].nil?
+ @timezone = args[:timezone] unless args[:timezone].nil?
+ @type = args[:type] unless args[:type].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ @website_url = args[:website_url] unless args[:website_url].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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]
+ attr_accessor :effective
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @effective = args[:effective] unless args[:effective].nil?
+ 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] unless args[:filter_ref].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @profile_ref = args[:profile_ref] unless args[:profile_ref].nil?
+ @rank = args[:rank] unless args[:rank].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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] unless args[:account_id].nil?
+ @href = args[:href] unless args[:href].nil?
+ @id = args[:id] unless args[:id].nil?
+ @internal_web_property_id = args[:internal_web_property_id] unless args[:internal_web_property_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ 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
+
+ # 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] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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]
+ 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>]
+ 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]
+ 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] unless args[:column_headers].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @profile_info = args[:profile_info] unless args[:profile_info].nil?
+ @query = args[:query] unless args[:query].nil?
+ @rows = args[:rows] unless args[:rows].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @totals_for_all_results = args[:totals_for_all_results] unless args[:totals_for_all_results].nil?
+ 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] unless args[:column_type].nil?
+ @data_type = args[:data_type] unless args[:data_type].nil?
+ @name = args[:name] unless args[:name].nil?
+ 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] unless args[:account_id].nil?
+ @internal_web_property_id = args[:internal_web_property_id] unless args[:internal_web_property_id].nil?
+ @profile_id = args[:profile_id] unless args[:profile_id].nil?
+ @profile_name = args[:profile_name] unless args[:profile_name].nil?
+ @table_id = args[:table_id] unless args[:table_id].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ 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]
+ attr_accessor :metrics
+
+ # List of dimensions or metrics based on which real time data is sorted.
+ # Corresponds to the JSON property `sort`
+ # @return [Array]
+ attr_accessor :sort
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @dimensions = args[:dimensions] unless args[:dimensions].nil?
+ @filters = args[:filters] unless args[:filters].nil?
+ @ids = args[:ids] unless args[:ids].nil?
+ @max_results = args[:max_results] unless args[:max_results].nil?
+ @metrics = args[:metrics] unless args[:metrics].nil?
+ @sort = args[:sort] unless args[:sort].nil?
+ end
+ 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] unless args[:created].nil?
+ @definition = args[:definition] unless args[:definition].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @segment_id = args[:segment_id] unless args[:segment_id].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @type = args[:type] unless args[:type].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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.
+ # 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] unless args[:account_id].nil?
+ @cloud_storage_download_details = args[:cloud_storage_download_details] unless args[:cloud_storage_download_details].nil?
+ @created = args[:created] unless args[:created].nil?
+ @dimensions = args[:dimensions] unless args[:dimensions].nil?
+ @download_type = args[:download_type] unless args[:download_type].nil?
+ @drive_download_details = args[:drive_download_details] unless args[:drive_download_details].nil?
+ @end_date = args[:end_date] unless args[:end_date].nil?
+ @filters = args[:filters] unless args[:filters].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @metrics = args[:metrics] unless args[:metrics].nil?
+ @profile_id = args[:profile_id] unless args[:profile_id].nil?
+ @segment = args[:segment] unless args[:segment].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @start_date = args[:start_date] unless args[:start_date].nil?
+ @status = args[:status] unless args[:status].nil?
+ @title = args[:title] unless args[:title].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ @web_property_id = args[:web_property_id] unless args[:web_property_id].nil?
+ 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] unless args[:bucket_id].nil?
+ @obj_id = args[:obj_id] unless args[:obj_id].nil?
+ 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] unless args[:document_id].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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 [String]
+ 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]
+ 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
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @account_id = args[:account_id] unless args[:account_id].nil?
+ @custom_data_source_id = args[:custom_data_source_id] unless args[:custom_data_source_id].nil?
+ @errors = args[:errors] unless args[:errors].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @status = args[:status] unless args[:status].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ 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] unless args[:email].nil?
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ 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] unless args[:account_id].nil?
+ @href = args[:href] unless args[:href].nil?
+ @id = args[:id] unless args[:id].nil?
+ @internal_web_property_id = args[:internal_web_property_id] unless args[:internal_web_property_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ 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]
+ attr_accessor :profiles
+
+ # 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] unless args[:id].nil?
+ @internal_web_property_id = args[:internal_web_property_id] unless args[:internal_web_property_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @level = args[:level] unless args[:level].nil?
+ @name = args[:name] unless args[:name].nil?
+ @profiles = args[:profiles] unless args[:profiles].nil?
+ @website_url = args[:website_url] unless args[:website_url].nil?
+ 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]
+ 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] unless args[:items].nil?
+ @items_per_page = args[:items_per_page] unless args[:items_per_page].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @next_link = args[:next_link] unless args[:next_link].nil?
+ @previous_link = args[:previous_link] unless args[:previous_link].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ @username = args[:username] unless args[:username].nil?
+ 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 [String]
+ 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
+
+ # 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] unless args[:account_id].nil?
+ @child_link = args[:child_link] unless args[:child_link].nil?
+ @created = args[:created] unless args[:created].nil?
+ @default_profile_id = args[:default_profile_id] unless args[:default_profile_id].nil?
+ @id = args[:id] unless args[:id].nil?
+ @industry_vertical = args[:industry_vertical] unless args[:industry_vertical].nil?
+ @internal_web_property_id = args[:internal_web_property_id] unless args[:internal_web_property_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @level = args[:level] unless args[:level].nil?
+ @name = args[:name] unless args[:name].nil?
+ @parent_link = args[:parent_link] unless args[:parent_link].nil?
+ @permissions = args[:permissions] unless args[:permissions].nil?
+ @profile_count = args[:profile_count] unless args[:profile_count].nil?
+ @self_link = args[:self_link] unless args[:self_link].nil?
+ @updated = args[:updated] unless args[:updated].nil?
+ @website_url = args[:website_url] unless args[:website_url].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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] unless args[:href].nil?
+ @type = args[:type] unless args[:type].nil?
+ 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]
+ attr_accessor :effective
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @effective = args[:effective] unless args[:effective].nil?
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/analytics_v3/representations.rb b/generated/google/apis/analytics_v3/representations.rb
new file mode 100644
index 000000000..a47850f26
--- /dev/null
+++ b/generated/google/apis/analytics_v3/representations.rb
@@ -0,0 +1,1661 @@
+# 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
+
+ class Account
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ChildLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Permissions
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class AccountRef
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AccountSummaries
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AccountSummary
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AccountTicket
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Accounts
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AdWordsAccount
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class DeleteUploadDataRequest
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Column
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Columns
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class CustomDataSource
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ChildLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class CustomDataSources
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class CustomDimension
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class CustomDimensions
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class CustomMetric
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class CustomMetrics
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class EntityAdWordsLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Entity
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class EntityAdWordsLinks
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class EntityUserLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Entity
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Permissions
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class EntityUserLinks
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Experiment
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Variation
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class Experiments
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Filter
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class AdvancedDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class LowercaseDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class SearchAndReplaceDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UppercaseDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class FilterExpression
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class FilterRef
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Filters
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class GaData
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ColumnHeader
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class DataTable
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Col
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Row
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class C
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+ end
+
+ class ProfileInfo
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Query
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class Goal
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class EventDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class EventCondition
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UrlDestinationDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class Step
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class VisitNumPagesDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class VisitTimeOnSiteDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class Goals
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class McfData
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ColumnHeader
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ProfileInfo
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Query
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Row
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ConversionPathValue
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+ end
+
+ class Profile
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ChildLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Permissions
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class ProfileFilterLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ProfileFilterLinks
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ProfileRef
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ProfileSummary
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Profiles
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class RealtimeData
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ColumnHeader
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ProfileInfo
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Query
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class Segment
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Segments
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UnsampledReport
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class CloudStorageDownloadDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class DriveDownloadDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ class UnsampledReports
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Upload
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Uploads
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserRef
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class WebPropertyRef
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class WebPropertySummary
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Webproperties
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Webproperty
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+
+ class ChildLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Permissions
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+ end
+
+ # @private
+ class Account
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :child_link, as: 'childLink', class: Google::Apis::AnalyticsV3::Account::ChildLink, decorator: Google::Apis::AnalyticsV3::Account::ChildLink::Representation
+
+ property :created, as: 'created', type: DateTime
+
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :permissions, as: 'permissions', class: Google::Apis::AnalyticsV3::Account::Permissions, decorator: Google::Apis::AnalyticsV3::Account::Permissions::Representation
+
+ property :self_link, as: 'selfLink'
+ property :updated, as: 'updated', type: DateTime
+
+ end
+
+ # @private
+ class ChildLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class Permissions
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :effective, as: 'effective'
+ end
+ end
+ end
+
+ # @private
+ class AccountRef
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class AccountSummaries
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::AccountSummary, decorator: Google::Apis::AnalyticsV3::AccountSummary::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class AccountSummary
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ collection :web_properties, as: 'webProperties', class: Google::Apis::AnalyticsV3::WebPropertySummary, decorator: Google::Apis::AnalyticsV3::WebPropertySummary::Representation
+
+ end
+ end
+
+ # @private
+ class AccountTicket
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account, as: 'account', class: Google::Apis::AnalyticsV3::Account, decorator: Google::Apis::AnalyticsV3::Account::Representation
+
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :profile, as: 'profile', class: Google::Apis::AnalyticsV3::Profile, decorator: Google::Apis::AnalyticsV3::Profile::Representation
+
+ property :redirect_uri, as: 'redirectUri'
+ property :webproperty, as: 'webproperty', class: Google::Apis::AnalyticsV3::Webproperty, decorator: Google::Apis::AnalyticsV3::Webproperty::Representation
+
+ end
+ end
+
+ # @private
+ class Accounts
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::Account, decorator: Google::Apis::AnalyticsV3::Account::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class AdWordsAccount
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :auto_tagging_enabled, as: 'autoTaggingEnabled'
+ property :customer_id, as: 'customerId'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class DeleteUploadDataRequest
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :custom_data_import_uids, as: 'customDataImportUids'
+ end
+ end
+
+ # @private
+ class Column
+ class Representation < Google::Apis::Core::JsonRepresentation
+ hash :attributes, as: 'attributes'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Columns
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :attribute_names, as: 'attributeNames'
+ property :etag, as: 'etag'
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::Column, decorator: Google::Apis::AnalyticsV3::Column::Representation
+
+ property :kind, as: 'kind'
+ property :total_results, as: 'totalResults'
+ end
+ end
+
+ # @private
+ class CustomDataSource
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :child_link, as: 'childLink', class: Google::Apis::AnalyticsV3::CustomDataSource::ChildLink, decorator: Google::Apis::AnalyticsV3::CustomDataSource::ChildLink::Representation
+
+ property :created, as: 'created', type: DateTime
+
+ property :description, as: 'description'
+ property :id, as: 'id'
+ property :import_behavior, as: 'importBehavior'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :parent_link, as: 'parentLink', class: Google::Apis::AnalyticsV3::CustomDataSource::ParentLink, decorator: Google::Apis::AnalyticsV3::CustomDataSource::ParentLink::Representation
+
+ collection :profiles_linked, as: 'profilesLinked'
+ property :self_link, as: 'selfLink'
+ property :type, as: 'type'
+ property :updated, as: 'updated', type: DateTime
+
+ property :upload_type, as: 'uploadType'
+ property :web_property_id, as: 'webPropertyId'
+ end
+
+ # @private
+ class ChildLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class CustomDataSources
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::CustomDataSource, decorator: Google::Apis::AnalyticsV3::CustomDataSource::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class CustomDimension
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :active, as: 'active'
+ property :created, as: 'created', type: DateTime
+
+ property :id, as: 'id'
+ property :index, as: 'index'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :parent_link, as: 'parentLink', class: Google::Apis::AnalyticsV3::CustomDimension::ParentLink, decorator: Google::Apis::AnalyticsV3::CustomDimension::ParentLink::Representation
+
+ property :scope, as: 'scope'
+ property :self_link, as: 'selfLink'
+ property :updated, as: 'updated', type: DateTime
+
+ property :web_property_id, as: 'webPropertyId'
+ end
+
+ # @private
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class CustomDimensions
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::CustomDimension, decorator: Google::Apis::AnalyticsV3::CustomDimension::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class CustomMetric
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :active, as: 'active'
+ property :created, as: 'created', type: DateTime
+
+ property :id, as: 'id'
+ property :index, as: 'index'
+ property :kind, as: 'kind'
+ property :max_value, as: 'max_value'
+ property :min_value, as: 'min_value'
+ property :name, as: 'name'
+ property :parent_link, as: 'parentLink', class: Google::Apis::AnalyticsV3::CustomMetric::ParentLink, decorator: Google::Apis::AnalyticsV3::CustomMetric::ParentLink::Representation
+
+ property :scope, as: 'scope'
+ property :self_link, as: 'selfLink'
+ property :type, as: 'type'
+ property :updated, as: 'updated', type: DateTime
+
+ property :web_property_id, as: 'webPropertyId'
+ end
+
+ # @private
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class CustomMetrics
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::CustomMetric, decorator: Google::Apis::AnalyticsV3::CustomMetric::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class EntityAdWordsLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :ad_words_accounts, as: 'adWordsAccounts', class: Google::Apis::AnalyticsV3::AdWordsAccount, decorator: Google::Apis::AnalyticsV3::AdWordsAccount::Representation
+
+ property :entity, as: 'entity', class: Google::Apis::AnalyticsV3::EntityAdWordsLink::Entity, decorator: Google::Apis::AnalyticsV3::EntityAdWordsLink::Entity::Representation
+
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ collection :profile_ids, as: 'profileIds'
+ property :self_link, as: 'selfLink'
+ end
+
+ # @private
+ class Entity
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :web_property_ref, as: 'webPropertyRef', class: Google::Apis::AnalyticsV3::WebPropertyRef, decorator: Google::Apis::AnalyticsV3::WebPropertyRef::Representation
+
+ end
+ end
+ end
+
+ # @private
+ class EntityAdWordsLinks
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::EntityAdWordsLink, decorator: Google::Apis::AnalyticsV3::EntityAdWordsLink::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ end
+ end
+
+ # @private
+ class EntityUserLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :entity, as: 'entity', class: Google::Apis::AnalyticsV3::EntityUserLink::Entity, decorator: Google::Apis::AnalyticsV3::EntityUserLink::Entity::Representation
+
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :permissions, as: 'permissions', class: Google::Apis::AnalyticsV3::EntityUserLink::Permissions, decorator: Google::Apis::AnalyticsV3::EntityUserLink::Permissions::Representation
+
+ property :self_link, as: 'selfLink'
+ property :user_ref, as: 'userRef', class: Google::Apis::AnalyticsV3::UserRef, decorator: Google::Apis::AnalyticsV3::UserRef::Representation
+
+ end
+
+ # @private
+ class Entity
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_ref, as: 'accountRef', class: Google::Apis::AnalyticsV3::AccountRef, decorator: Google::Apis::AnalyticsV3::AccountRef::Representation
+
+ property :profile_ref, as: 'profileRef', class: Google::Apis::AnalyticsV3::ProfileRef, decorator: Google::Apis::AnalyticsV3::ProfileRef::Representation
+
+ property :web_property_ref, as: 'webPropertyRef', class: Google::Apis::AnalyticsV3::WebPropertyRef, decorator: Google::Apis::AnalyticsV3::WebPropertyRef::Representation
+
+ end
+ end
+
+ # @private
+ class Permissions
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :effective, as: 'effective'
+ collection :local, as: 'local'
+ end
+ end
+ end
+
+ # @private
+ class EntityUserLinks
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::EntityUserLink, decorator: Google::Apis::AnalyticsV3::EntityUserLink::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ end
+ end
+
+ # @private
+ class Experiment
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :created, as: 'created', type: DateTime
+
+ property :description, as: 'description'
+ property :editable_in_ga_ui, as: 'editableInGaUi'
+ property :end_time, as: 'endTime', type: DateTime
+
+ property :equal_weighting, as: 'equalWeighting'
+ property :id, as: 'id'
+ property :internal_web_property_id, as: 'internalWebPropertyId'
+ property :kind, as: 'kind'
+ property :minimum_experiment_length_in_days, as: 'minimumExperimentLengthInDays'
+ property :name, as: 'name'
+ property :objective_metric, as: 'objectiveMetric'
+ property :optimization_type, as: 'optimizationType'
+ property :parent_link, as: 'parentLink', class: Google::Apis::AnalyticsV3::Experiment::ParentLink, decorator: Google::Apis::AnalyticsV3::Experiment::ParentLink::Representation
+
+ property :profile_id, as: 'profileId'
+ property :reason_experiment_ended, as: 'reasonExperimentEnded'
+ property :rewrite_variation_urls_as_original, as: 'rewriteVariationUrlsAsOriginal'
+ property :self_link, as: 'selfLink'
+ property :serving_framework, as: 'servingFramework'
+ property :snippet, as: 'snippet'
+ property :start_time, as: 'startTime', type: DateTime
+
+ property :status, as: 'status'
+ property :traffic_coverage, as: 'trafficCoverage'
+ property :updated, as: 'updated', type: DateTime
+
+ collection :variations, as: 'variations', class: Google::Apis::AnalyticsV3::Experiment::Variation, decorator: Google::Apis::AnalyticsV3::Experiment::Variation::Representation
+
+ property :web_property_id, as: 'webPropertyId'
+ property :winner_confidence_level, as: 'winnerConfidenceLevel'
+ property :winner_found, as: 'winnerFound'
+ end
+
+ # @private
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class Variation
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :name, as: 'name'
+ property :status, as: 'status'
+ property :url, as: 'url'
+ property :weight, as: 'weight'
+ property :won, as: 'won'
+ end
+ end
+ end
+
+ # @private
+ class Experiments
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::Experiment, decorator: Google::Apis::AnalyticsV3::Experiment::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class Filter
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :advanced_details, as: 'advancedDetails', class: Google::Apis::AnalyticsV3::Filter::AdvancedDetails, decorator: Google::Apis::AnalyticsV3::Filter::AdvancedDetails::Representation
+
+ property :created, as: 'created', type: DateTime
+
+ property :exclude_details, as: 'excludeDetails', class: Google::Apis::AnalyticsV3::FilterExpression, decorator: Google::Apis::AnalyticsV3::FilterExpression::Representation
+
+ property :id, as: 'id'
+ property :include_details, as: 'includeDetails', class: Google::Apis::AnalyticsV3::FilterExpression, decorator: Google::Apis::AnalyticsV3::FilterExpression::Representation
+
+ property :kind, as: 'kind'
+ property :lowercase_details, as: 'lowercaseDetails', class: Google::Apis::AnalyticsV3::Filter::LowercaseDetails, decorator: Google::Apis::AnalyticsV3::Filter::LowercaseDetails::Representation
+
+ property :name, as: 'name'
+ property :parent_link, as: 'parentLink', class: Google::Apis::AnalyticsV3::Filter::ParentLink, decorator: Google::Apis::AnalyticsV3::Filter::ParentLink::Representation
+
+ property :search_and_replace_details, as: 'searchAndReplaceDetails', class: Google::Apis::AnalyticsV3::Filter::SearchAndReplaceDetails, decorator: Google::Apis::AnalyticsV3::Filter::SearchAndReplaceDetails::Representation
+
+ property :self_link, as: 'selfLink'
+ property :type, as: 'type'
+ property :updated, as: 'updated', type: DateTime
+
+ property :uppercase_details, as: 'uppercaseDetails', class: Google::Apis::AnalyticsV3::Filter::UppercaseDetails, decorator: Google::Apis::AnalyticsV3::Filter::UppercaseDetails::Representation
+
+ end
+
+ # @private
+ class AdvancedDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :case_sensitive, as: 'caseSensitive'
+ property :extract_a, as: 'extractA'
+ property :extract_b, as: 'extractB'
+ property :field_a, as: 'fieldA'
+ property :field_a_index, as: 'fieldAIndex'
+ property :field_a_required, as: 'fieldARequired'
+ property :field_b, as: 'fieldB'
+ property :field_b_index, as: 'fieldBIndex'
+ property :field_b_required, as: 'fieldBRequired'
+ property :output_constructor, as: 'outputConstructor'
+ property :output_to_field, as: 'outputToField'
+ property :output_to_field_index, as: 'outputToFieldIndex'
+ property :override_output_field, as: 'overrideOutputField'
+ end
+ end
+
+ # @private
+ class LowercaseDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :field, as: 'field'
+ property :field_index, as: 'fieldIndex'
+ end
+ end
+
+ # @private
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class SearchAndReplaceDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :case_sensitive, as: 'caseSensitive'
+ property :field, as: 'field'
+ property :field_index, as: 'fieldIndex'
+ property :replace_string, as: 'replaceString'
+ property :search_string, as: 'searchString'
+ end
+ end
+
+ # @private
+ class UppercaseDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :field, as: 'field'
+ property :field_index, as: 'fieldIndex'
+ end
+ end
+ end
+
+ # @private
+ class FilterExpression
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :case_sensitive, as: 'caseSensitive'
+ property :expression_value, as: 'expressionValue'
+ property :field, as: 'field'
+ property :field_index, as: 'fieldIndex'
+ property :kind, as: 'kind'
+ property :match_type, as: 'matchType'
+ end
+ end
+
+ # @private
+ class FilterRef
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :href, as: 'href'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class Filters
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::Filter, decorator: Google::Apis::AnalyticsV3::Filter::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class GaData
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :column_headers, as: 'columnHeaders', class: Google::Apis::AnalyticsV3::GaData::ColumnHeader, decorator: Google::Apis::AnalyticsV3::GaData::ColumnHeader::Representation
+
+ property :contains_sampled_data, as: 'containsSampledData'
+ property :data_table, as: 'dataTable', class: Google::Apis::AnalyticsV3::GaData::DataTable, decorator: Google::Apis::AnalyticsV3::GaData::DataTable::Representation
+
+ property :id, as: 'id'
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :profile_info, as: 'profileInfo', class: Google::Apis::AnalyticsV3::GaData::ProfileInfo, decorator: Google::Apis::AnalyticsV3::GaData::ProfileInfo::Representation
+
+ property :query, as: 'query', class: Google::Apis::AnalyticsV3::GaData::Query, decorator: Google::Apis::AnalyticsV3::GaData::Query::Representation
+
+ collection :rows, as: 'rows', :class => Array do
+ include Representable::JSON::Collection
+ items
+ end
+
+ property :sample_size, as: 'sampleSize'
+ property :sample_space, as: 'sampleSpace'
+ property :self_link, as: 'selfLink'
+ property :total_results, as: 'totalResults'
+ hash :totals_for_all_results, as: 'totalsForAllResults'
+ end
+
+ # @private
+ class ColumnHeader
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :column_type, as: 'columnType'
+ property :data_type, as: 'dataType'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class DataTable
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :cols, as: 'cols', class: Google::Apis::AnalyticsV3::GaData::DataTable::Col, decorator: Google::Apis::AnalyticsV3::GaData::DataTable::Col::Representation
+
+ collection :rows, as: 'rows', class: Google::Apis::AnalyticsV3::GaData::DataTable::Row, decorator: Google::Apis::AnalyticsV3::GaData::DataTable::Row::Representation
+
+ end
+
+ # @private
+ class Col
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :label, as: 'label'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class Row
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :c, as: 'c', class: Google::Apis::AnalyticsV3::GaData::DataTable::Row::C, decorator: Google::Apis::AnalyticsV3::GaData::DataTable::Row::C::Representation
+
+ end
+
+ # @private
+ class C
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :v, as: 'v'
+ end
+ end
+ end
+ end
+
+ # @private
+ class ProfileInfo
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :internal_web_property_id, as: 'internalWebPropertyId'
+ property :profile_id, as: 'profileId'
+ property :profile_name, as: 'profileName'
+ property :table_id, as: 'tableId'
+ property :web_property_id, as: 'webPropertyId'
+ end
+ end
+
+ # @private
+ class Query
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :dimensions, as: 'dimensions'
+ property :end_date, as: 'end-date'
+ property :filters, as: 'filters'
+ property :ids, as: 'ids'
+ property :max_results, as: 'max-results'
+ collection :metrics, as: 'metrics'
+ property :sampling_level, as: 'samplingLevel'
+ property :segment, as: 'segment'
+ collection :sort, as: 'sort'
+ property :start_date, as: 'start-date'
+ property :start_index, as: 'start-index'
+ end
+ end
+ end
+
+ # @private
+ class Goal
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :active, as: 'active'
+ property :created, as: 'created', type: DateTime
+
+ property :event_details, as: 'eventDetails', class: Google::Apis::AnalyticsV3::Goal::EventDetails, decorator: Google::Apis::AnalyticsV3::Goal::EventDetails::Representation
+
+ property :id, as: 'id'
+ property :internal_web_property_id, as: 'internalWebPropertyId'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :parent_link, as: 'parentLink', class: Google::Apis::AnalyticsV3::Goal::ParentLink, decorator: Google::Apis::AnalyticsV3::Goal::ParentLink::Representation
+
+ property :profile_id, as: 'profileId'
+ property :self_link, as: 'selfLink'
+ property :type, as: 'type'
+ property :updated, as: 'updated', type: DateTime
+
+ property :url_destination_details, as: 'urlDestinationDetails', class: Google::Apis::AnalyticsV3::Goal::UrlDestinationDetails, decorator: Google::Apis::AnalyticsV3::Goal::UrlDestinationDetails::Representation
+
+ property :value, as: 'value'
+ property :visit_num_pages_details, as: 'visitNumPagesDetails', class: Google::Apis::AnalyticsV3::Goal::VisitNumPagesDetails, decorator: Google::Apis::AnalyticsV3::Goal::VisitNumPagesDetails::Representation
+
+ property :visit_time_on_site_details, as: 'visitTimeOnSiteDetails', class: Google::Apis::AnalyticsV3::Goal::VisitTimeOnSiteDetails, decorator: Google::Apis::AnalyticsV3::Goal::VisitTimeOnSiteDetails::Representation
+
+ property :web_property_id, as: 'webPropertyId'
+ end
+
+ # @private
+ class EventDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :event_conditions, as: 'eventConditions', class: Google::Apis::AnalyticsV3::Goal::EventDetails::EventCondition, decorator: Google::Apis::AnalyticsV3::Goal::EventDetails::EventCondition::Representation
+
+ property :use_event_value, as: 'useEventValue'
+ end
+
+ # @private
+ class EventCondition
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :comparison_type, as: 'comparisonType'
+ property :comparison_value, as: 'comparisonValue'
+ property :expression, as: 'expression'
+ property :match_type, as: 'matchType'
+ property :type, as: 'type'
+ end
+ end
+ end
+
+ # @private
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class UrlDestinationDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :case_sensitive, as: 'caseSensitive'
+ property :first_step_required, as: 'firstStepRequired'
+ property :match_type, as: 'matchType'
+ collection :steps, as: 'steps', class: Google::Apis::AnalyticsV3::Goal::UrlDestinationDetails::Step, decorator: Google::Apis::AnalyticsV3::Goal::UrlDestinationDetails::Step::Representation
+
+ property :url, as: 'url'
+ end
+
+ # @private
+ class Step
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :name, as: 'name'
+ property :number, as: 'number'
+ property :url, as: 'url'
+ end
+ end
+ end
+
+ # @private
+ class VisitNumPagesDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :comparison_type, as: 'comparisonType'
+ property :comparison_value, as: 'comparisonValue'
+ end
+ end
+
+ # @private
+ class VisitTimeOnSiteDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :comparison_type, as: 'comparisonType'
+ property :comparison_value, as: 'comparisonValue'
+ end
+ end
+ end
+
+ # @private
+ class Goals
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::Goal, decorator: Google::Apis::AnalyticsV3::Goal::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class McfData
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :column_headers, as: 'columnHeaders', class: Google::Apis::AnalyticsV3::McfData::ColumnHeader, decorator: Google::Apis::AnalyticsV3::McfData::ColumnHeader::Representation
+
+ property :contains_sampled_data, as: 'containsSampledData'
+ property :id, as: 'id'
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :profile_info, as: 'profileInfo', class: Google::Apis::AnalyticsV3::McfData::ProfileInfo, decorator: Google::Apis::AnalyticsV3::McfData::ProfileInfo::Representation
+
+ property :query, as: 'query', class: Google::Apis::AnalyticsV3::McfData::Query, decorator: Google::Apis::AnalyticsV3::McfData::Query::Representation
+
+ collection :rows, as: 'rows', :class => Array do
+ include Representable::JSON::Collection
+ items class: Google::Apis::AnalyticsV3::McfData::Row, decorator: Google::Apis::AnalyticsV3::McfData::Row::Representation
+
+ end
+
+ property :sample_size, as: 'sampleSize'
+ property :sample_space, as: 'sampleSpace'
+ property :self_link, as: 'selfLink'
+ property :total_results, as: 'totalResults'
+ hash :totals_for_all_results, as: 'totalsForAllResults'
+ end
+
+ # @private
+ class ColumnHeader
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :column_type, as: 'columnType'
+ property :data_type, as: 'dataType'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class ProfileInfo
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :internal_web_property_id, as: 'internalWebPropertyId'
+ property :profile_id, as: 'profileId'
+ property :profile_name, as: 'profileName'
+ property :table_id, as: 'tableId'
+ property :web_property_id, as: 'webPropertyId'
+ end
+ end
+
+ # @private
+ class Query
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :dimensions, as: 'dimensions'
+ property :end_date, as: 'end-date'
+ property :filters, as: 'filters'
+ property :ids, as: 'ids'
+ property :max_results, as: 'max-results'
+ collection :metrics, as: 'metrics'
+ property :sampling_level, as: 'samplingLevel'
+ property :segment, as: 'segment'
+ collection :sort, as: 'sort'
+ property :start_date, as: 'start-date'
+ property :start_index, as: 'start-index'
+ end
+ end
+
+ # @private
+ class Row
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :conversion_path_value, as: 'conversionPathValue', class: Google::Apis::AnalyticsV3::McfData::Row::ConversionPathValue, decorator: Google::Apis::AnalyticsV3::McfData::Row::ConversionPathValue::Representation
+
+ property :primitive_value, as: 'primitiveValue'
+ end
+
+ # @private
+ class ConversionPathValue
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :interaction_type, as: 'interactionType'
+ property :node_value, as: 'nodeValue'
+ end
+ end
+ end
+ end
+
+ # @private
+ class Profile
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :child_link, as: 'childLink', class: Google::Apis::AnalyticsV3::Profile::ChildLink, decorator: Google::Apis::AnalyticsV3::Profile::ChildLink::Representation
+
+ property :created, as: 'created', type: DateTime
+
+ property :currency, as: 'currency'
+ property :default_page, as: 'defaultPage'
+ property :e_commerce_tracking, as: 'eCommerceTracking'
+ property :enhanced_e_commerce_tracking, as: 'enhancedECommerceTracking'
+ property :exclude_query_parameters, as: 'excludeQueryParameters'
+ property :id, as: 'id'
+ property :internal_web_property_id, as: 'internalWebPropertyId'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :parent_link, as: 'parentLink', class: Google::Apis::AnalyticsV3::Profile::ParentLink, decorator: Google::Apis::AnalyticsV3::Profile::ParentLink::Representation
+
+ property :permissions, as: 'permissions', class: Google::Apis::AnalyticsV3::Profile::Permissions, decorator: Google::Apis::AnalyticsV3::Profile::Permissions::Representation
+
+ property :self_link, as: 'selfLink'
+ property :site_search_category_parameters, as: 'siteSearchCategoryParameters'
+ property :site_search_query_parameters, as: 'siteSearchQueryParameters'
+ property :strip_site_search_category_parameters, as: 'stripSiteSearchCategoryParameters'
+ property :strip_site_search_query_parameters, as: 'stripSiteSearchQueryParameters'
+ property :timezone, as: 'timezone'
+ property :type, as: 'type'
+ property :updated, as: 'updated', type: DateTime
+
+ property :web_property_id, as: 'webPropertyId'
+ property :website_url, as: 'websiteUrl'
+ end
+
+ # @private
+ class ChildLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class Permissions
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :effective, as: 'effective'
+ end
+ end
+ end
+
+ # @private
+ class ProfileFilterLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :filter_ref, as: 'filterRef', class: Google::Apis::AnalyticsV3::FilterRef, decorator: Google::Apis::AnalyticsV3::FilterRef::Representation
+
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :profile_ref, as: 'profileRef', class: Google::Apis::AnalyticsV3::ProfileRef, decorator: Google::Apis::AnalyticsV3::ProfileRef::Representation
+
+ property :rank, as: 'rank'
+ property :self_link, as: 'selfLink'
+ end
+ end
+
+ # @private
+ class ProfileFilterLinks
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::ProfileFilterLink, decorator: Google::Apis::AnalyticsV3::ProfileFilterLink::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class ProfileRef
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :href, as: 'href'
+ property :id, as: 'id'
+ property :internal_web_property_id, as: 'internalWebPropertyId'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :web_property_id, as: 'webPropertyId'
+ end
+ end
+
+ # @private
+ class ProfileSummary
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class Profiles
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::Profile, decorator: Google::Apis::AnalyticsV3::Profile::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class RealtimeData
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :column_headers, as: 'columnHeaders', class: Google::Apis::AnalyticsV3::RealtimeData::ColumnHeader, decorator: Google::Apis::AnalyticsV3::RealtimeData::ColumnHeader::Representation
+
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :profile_info, as: 'profileInfo', class: Google::Apis::AnalyticsV3::RealtimeData::ProfileInfo, decorator: Google::Apis::AnalyticsV3::RealtimeData::ProfileInfo::Representation
+
+ property :query, as: 'query', class: Google::Apis::AnalyticsV3::RealtimeData::Query, decorator: Google::Apis::AnalyticsV3::RealtimeData::Query::Representation
+
+ collection :rows, as: 'rows', :class => Array do
+ include Representable::JSON::Collection
+ items
+ end
+
+ property :self_link, as: 'selfLink'
+ property :total_results, as: 'totalResults'
+ hash :totals_for_all_results, as: 'totalsForAllResults'
+ end
+
+ # @private
+ class ColumnHeader
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :column_type, as: 'columnType'
+ property :data_type, as: 'dataType'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class ProfileInfo
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :internal_web_property_id, as: 'internalWebPropertyId'
+ property :profile_id, as: 'profileId'
+ property :profile_name, as: 'profileName'
+ property :table_id, as: 'tableId'
+ property :web_property_id, as: 'webPropertyId'
+ end
+ end
+
+ # @private
+ class Query
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :dimensions, as: 'dimensions'
+ property :filters, as: 'filters'
+ property :ids, as: 'ids'
+ property :max_results, as: 'max-results'
+ collection :metrics, as: 'metrics'
+ collection :sort, as: 'sort'
+ end
+ end
+ end
+
+ # @private
+ class Segment
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :created, as: 'created', type: DateTime
+
+ property :definition, as: 'definition'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :segment_id, as: 'segmentId'
+ property :self_link, as: 'selfLink'
+ property :type, as: 'type'
+ property :updated, as: 'updated', type: DateTime
+
+ end
+ end
+
+ # @private
+ class Segments
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::Segment, decorator: Google::Apis::AnalyticsV3::Segment::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class UnsampledReport
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :cloud_storage_download_details, as: 'cloudStorageDownloadDetails', class: Google::Apis::AnalyticsV3::UnsampledReport::CloudStorageDownloadDetails, decorator: Google::Apis::AnalyticsV3::UnsampledReport::CloudStorageDownloadDetails::Representation
+
+ property :created, as: 'created', type: DateTime
+
+ property :dimensions, as: 'dimensions'
+ property :download_type, as: 'downloadType'
+ property :drive_download_details, as: 'driveDownloadDetails', class: Google::Apis::AnalyticsV3::UnsampledReport::DriveDownloadDetails, decorator: Google::Apis::AnalyticsV3::UnsampledReport::DriveDownloadDetails::Representation
+
+ property :end_date, as: 'end-date'
+ property :filters, as: 'filters'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :metrics, as: 'metrics'
+ property :profile_id, as: 'profileId'
+ property :segment, as: 'segment'
+ property :self_link, as: 'selfLink'
+ property :start_date, as: 'start-date'
+ property :status, as: 'status'
+ property :title, as: 'title'
+ property :updated, as: 'updated', type: DateTime
+
+ property :web_property_id, as: 'webPropertyId'
+ end
+
+ # @private
+ class CloudStorageDownloadDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :bucket_id, as: 'bucketId'
+ property :obj_id, as: 'objectId'
+ end
+ end
+
+ # @private
+ class DriveDownloadDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :document_id, as: 'documentId'
+ end
+ end
+ end
+
+ # @private
+ class UnsampledReports
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::UnsampledReport, decorator: Google::Apis::AnalyticsV3::UnsampledReport::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class Upload
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :custom_data_source_id, as: 'customDataSourceId'
+ collection :errors, as: 'errors'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :status, as: 'status'
+ end
+ end
+
+ # @private
+ class Uploads
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::Upload, decorator: Google::Apis::AnalyticsV3::Upload::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ end
+ end
+
+ # @private
+ class UserRef
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :email, as: 'email'
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class WebPropertyRef
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :href, as: 'href'
+ property :id, as: 'id'
+ property :internal_web_property_id, as: 'internalWebPropertyId'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class WebPropertySummary
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :internal_web_property_id, as: 'internalWebPropertyId'
+ property :kind, as: 'kind'
+ property :level, as: 'level'
+ property :name, as: 'name'
+ collection :profiles, as: 'profiles', class: Google::Apis::AnalyticsV3::ProfileSummary, decorator: Google::Apis::AnalyticsV3::ProfileSummary::Representation
+
+ property :website_url, as: 'websiteUrl'
+ end
+ end
+
+ # @private
+ class Webproperties
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :items, as: 'items', class: Google::Apis::AnalyticsV3::Webproperty, decorator: Google::Apis::AnalyticsV3::Webproperty::Representation
+
+ property :items_per_page, as: 'itemsPerPage'
+ property :kind, as: 'kind'
+ property :next_link, as: 'nextLink'
+ property :previous_link, as: 'previousLink'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ property :username, as: 'username'
+ end
+ end
+
+ # @private
+ class Webproperty
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_id, as: 'accountId'
+ property :child_link, as: 'childLink', class: Google::Apis::AnalyticsV3::Webproperty::ChildLink, decorator: Google::Apis::AnalyticsV3::Webproperty::ChildLink::Representation
+
+ property :created, as: 'created', type: DateTime
+
+ property :default_profile_id, as: 'defaultProfileId'
+ property :id, as: 'id'
+ property :industry_vertical, as: 'industryVertical'
+ property :internal_web_property_id, as: 'internalWebPropertyId'
+ property :kind, as: 'kind'
+ property :level, as: 'level'
+ property :name, as: 'name'
+ property :parent_link, as: 'parentLink', class: Google::Apis::AnalyticsV3::Webproperty::ParentLink, decorator: Google::Apis::AnalyticsV3::Webproperty::ParentLink::Representation
+
+ property :permissions, as: 'permissions', class: Google::Apis::AnalyticsV3::Webproperty::Permissions, decorator: Google::Apis::AnalyticsV3::Webproperty::Permissions::Representation
+
+ property :profile_count, as: 'profileCount'
+ property :self_link, as: 'selfLink'
+ property :updated, as: 'updated', type: DateTime
+
+ property :website_url, as: 'websiteUrl'
+ end
+
+ # @private
+ class ChildLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class ParentLink
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :href, as: 'href'
+ property :type, as: 'type'
+ end
+ end
+
+ # @private
+ class Permissions
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :effective, as: 'effective'
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/analytics_v3/service.rb b/generated/google/apis/analytics_v3/service.rb
new file mode 100644
index 000000000..281990ff8
--- /dev/null
+++ b/generated/google/apis/analytics_v3/service.rb
@@ -0,0 +1,3600 @@
+# 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 '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
+ # Google Analytics API
+ #
+ # View and manage your Google Analytics data
+ #
+ # @example
+ # require 'google/apis/analytics_v3'
+ #
+ # Analytics = Google::Apis::AnalyticsV3 # Alias the module
+ # service = Analytics::AnalyticsService.new
+ #
+ # @see https://developers.google.com/analytics/
+ class AnalyticsService < Google::Apis::Core::BaseService
+ # @return [String]
+ # API key. Your API key identifies your project and provides you with API access,
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
+ attr_accessor :key
+
+ # @return [String]
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ attr_accessor :quota_user
+
+ # @return [String]
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ attr_accessor :user_ip
+
+ def initialize
+ super('https://www.googleapis.com/', 'analytics/v3/')
+ end
+
+ # Returns Analytics data for a view (profile).
+ # @param [String] dimensions
+ # A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'.
+ # @param [String] end_date
+ # End date for fetching Analytics data. Request can should specify an end date
+ # formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or
+ # 7daysAgo). The default value is yesterday.
+ # @param [String] filters
+ # A comma-separated list of dimension or metric filters to be applied to
+ # Analytics data.
+ # @param [String] ids
+ # Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX,
+ # where XXXX is the Analytics view (profile) ID.
+ # @param [Fixnum] max_results
+ # The maximum number of entries to include in this feed.
+ # @param [String] metrics
+ # A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'.
+ # At least one metric must be specified.
+ # @param [String] output
+ # The selected format for the response. Default format is JSON.
+ # @param [String] sampling_level
+ # The desired sampling level.
+ # @param [String] segment
+ # An Analytics segment to be applied to data.
+ # @param [String] sort
+ # A comma-separated list of dimensions or metrics that determine the sort order
+ # for Analytics data.
+ # @param [String] start_date
+ # Start date for fetching Analytics data. Requests can specify a start date
+ # formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or
+ # 7daysAgo). The default value is 7daysAgo.
+ # @param [Fixnum] start_index
+ # An index of the first entity to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::GaData] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::GaData]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_ga_data(dimensions: nil, end_date: nil, filters: nil, ids: nil, max_results: nil, metrics: nil, output: nil, sampling_level: nil, segment: nil, sort: nil, start_date: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'data/ga'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::GaData::Representation
+ command.response_class = Google::Apis::AnalyticsV3::GaData
+ command.query['dimensions'] = dimensions unless dimensions.nil?
+ command.query['end-date'] = end_date unless end_date.nil?
+ command.query['filters'] = filters unless filters.nil?
+ command.query['ids'] = ids unless ids.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['metrics'] = metrics unless metrics.nil?
+ command.query['output'] = output unless output.nil?
+ command.query['samplingLevel'] = sampling_level unless sampling_level.nil?
+ command.query['segment'] = segment unless segment.nil?
+ command.query['sort'] = sort unless sort.nil?
+ command.query['start-date'] = start_date unless start_date.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns Analytics Multi-Channel Funnels data for a view (profile).
+ # @param [String] dimensions
+ # A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,
+ # mcf:medium'.
+ # @param [String] end_date
+ # End date for fetching Analytics data. Requests can specify a start date
+ # formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or
+ # 7daysAgo). The default value is 7daysAgo.
+ # @param [String] filters
+ # A comma-separated list of dimension or metric filters to be applied to the
+ # Analytics data.
+ # @param [String] ids
+ # Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX,
+ # where XXXX is the Analytics view (profile) ID.
+ # @param [Fixnum] max_results
+ # The maximum number of entries to include in this feed.
+ # @param [String] metrics
+ # A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:
+ # totalConversions,mcf:totalConversionValue'. At least one metric must be
+ # specified.
+ # @param [String] sampling_level
+ # The desired sampling level.
+ # @param [String] sort
+ # A comma-separated list of dimensions or metrics that determine the sort order
+ # for the Analytics data.
+ # @param [String] start_date
+ # Start date for fetching Analytics data. Requests can specify a start date
+ # formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or
+ # 7daysAgo). The default value is 7daysAgo.
+ # @param [Fixnum] start_index
+ # An index of the first entity to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::McfData] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::McfData]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_mcf_data(dimensions: nil, end_date: nil, filters: nil, ids: nil, max_results: nil, metrics: nil, sampling_level: nil, sort: nil, start_date: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'data/mcf'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::McfData::Representation
+ command.response_class = Google::Apis::AnalyticsV3::McfData
+ command.query['dimensions'] = dimensions unless dimensions.nil?
+ command.query['end-date'] = end_date unless end_date.nil?
+ command.query['filters'] = filters unless filters.nil?
+ command.query['ids'] = ids unless ids.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['metrics'] = metrics unless metrics.nil?
+ command.query['samplingLevel'] = sampling_level unless sampling_level.nil?
+ command.query['sort'] = sort unless sort.nil?
+ command.query['start-date'] = start_date unless start_date.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns real time data for a view (profile).
+ # @param [String] dimensions
+ # A comma-separated list of real time dimensions. E.g., 'rt:medium,rt:city'.
+ # @param [String] filters
+ # A comma-separated list of dimension or metric filters to be applied to real
+ # time data.
+ # @param [String] ids
+ # Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX,
+ # where XXXX is the Analytics view (profile) ID.
+ # @param [Fixnum] max_results
+ # The maximum number of entries to include in this feed.
+ # @param [String] metrics
+ # A comma-separated list of real time metrics. E.g., 'rt:activeUsers'. At least
+ # one metric must be specified.
+ # @param [String] sort
+ # A comma-separated list of dimensions or metrics that determine the sort order
+ # for real time data.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::RealtimeData] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::RealtimeData]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_realtime_data(dimensions: nil, filters: nil, ids: nil, max_results: nil, metrics: nil, sort: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'data/realtime'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::RealtimeData::Representation
+ command.response_class = Google::Apis::AnalyticsV3::RealtimeData
+ command.query['dimensions'] = dimensions unless dimensions.nil?
+ command.query['filters'] = filters unless filters.nil?
+ command.query['ids'] = ids unless ids.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['metrics'] = metrics unless metrics.nil?
+ command.query['sort'] = sort unless sort.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists account summaries (lightweight tree comprised of accounts/properties/
+ # profiles) to which the user has access.
+ # @param [Fixnum] max_results
+ # The maximum number of account summaries to include in this response, where the
+ # largest acceptable value is 1000.
+ # @param [Fixnum] start_index
+ # An index of the first entity to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::AccountSummaries] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::AccountSummaries]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_summaries(max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accountSummaries'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::AccountSummaries::Representation
+ command.response_class = Google::Apis::AnalyticsV3::AccountSummaries
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Removes a user from the given account.
+ # @param [String] account_id
+ # Account ID to delete the user link for.
+ # @param [String] link_id
+ # Link ID to delete the user link for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_account_user_link(account_id, link_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/entityUserLinks/{linkId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['linkId'] = link_id unless link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Adds a new user to the given account.
+ # @param [String] account_id
+ # Account ID to create the user link for.
+ # @param [Google::Apis::AnalyticsV3::EntityUserLink] entity_user_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityUserLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityUserLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_account_user_link(account_id, entity_user_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/entityUserLinks'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.request_object = entity_user_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityUserLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists account-user links for a given account.
+ # @param [String] account_id
+ # Account ID to retrieve the user links for.
+ # @param [Fixnum] max_results
+ # The maximum number of account-user links to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first account-user link to retrieve. Use this parameter as a
+ # pagination mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityUserLinks] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityUserLinks]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_account_user_links(account_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/entityUserLinks'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::EntityUserLinks::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityUserLinks
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates permissions for an existing user on the given account.
+ # @param [String] account_id
+ # Account ID to update the account-user link for.
+ # @param [String] link_id
+ # Link ID to update the account-user link for.
+ # @param [Google::Apis::AnalyticsV3::EntityUserLink] entity_user_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityUserLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityUserLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_account_user_link(account_id, link_id, entity_user_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/entityUserLinks/{linkId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.request_object = entity_user_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityUserLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['linkId'] = link_id unless link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists all accounts to which the user has access.
+ # @param [Fixnum] max_results
+ # The maximum number of accounts to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first account to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Accounts] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Accounts]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_accounts(max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Accounts::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Accounts
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List custom data sources to which the user has access.
+ # @param [String] account_id
+ # Account Id for the custom data sources to retrieve.
+ # @param [String] web_property_id
+ # Web property Id for the custom data sources to retrieve.
+ # @param [Fixnum] max_results
+ # The maximum number of custom data sources to include in this response.
+ # @param [Fixnum] start_index
+ # A 1-based index of the first custom data source to retrieve. Use this
+ # parameter as a pagination mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomDataSources] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomDataSources]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_custom_data_sources(account_id, web_property_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::CustomDataSources::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomDataSources
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get a custom dimension to which the user has access.
+ # @param [String] account_id
+ # Account ID for the custom dimension to retrieve.
+ # @param [String] web_property_id
+ # Web property ID for the custom dimension to retrieve.
+ # @param [String] custom_dimension_id
+ # The ID of the custom dimension to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomDimension] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomDimension]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_custom_dimension(account_id, web_property_id, custom_dimension_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::CustomDimension::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomDimension
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['customDimensionId'] = custom_dimension_id unless custom_dimension_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create a new custom dimension.
+ # @param [String] account_id
+ # Account ID for the custom dimension to create.
+ # @param [String] web_property_id
+ # Web property ID for the custom dimension to create.
+ # @param [Google::Apis::AnalyticsV3::CustomDimension] custom_dimension_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomDimension] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomDimension]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_custom_dimension(account_id, web_property_id, custom_dimension_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::CustomDimension::Representation
+ command.request_object = custom_dimension_object
+ command.response_representation = Google::Apis::AnalyticsV3::CustomDimension::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomDimension
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists custom dimensions to which the user has access.
+ # @param [String] account_id
+ # Account ID for the custom dimensions to retrieve.
+ # @param [String] web_property_id
+ # Web property ID for the custom dimensions to retrieve.
+ # @param [Fixnum] max_results
+ # The maximum number of custom dimensions to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first entity to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomDimensions] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomDimensions]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_custom_dimensions(account_id, web_property_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::CustomDimensions::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomDimensions
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing custom dimension. This method supports patch semantics.
+ # @param [String] account_id
+ # Account ID for the custom dimension to update.
+ # @param [String] web_property_id
+ # Web property ID for the custom dimension to update.
+ # @param [String] custom_dimension_id
+ # Custom dimension ID for the custom dimension to update.
+ # @param [Google::Apis::AnalyticsV3::CustomDimension] custom_dimension_object
+ # @param [Boolean] ignore_custom_data_source_links
+ # Force the update and ignore any warnings related to the custom dimension being
+ # linked to a custom data source / data set.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomDimension] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomDimension]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_custom_dimension(account_id, web_property_id, custom_dimension_id, custom_dimension_object = nil, ignore_custom_data_source_links: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::CustomDimension::Representation
+ command.request_object = custom_dimension_object
+ command.response_representation = Google::Apis::AnalyticsV3::CustomDimension::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomDimension
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['customDimensionId'] = custom_dimension_id unless custom_dimension_id.nil?
+ command.query['ignoreCustomDataSourceLinks'] = ignore_custom_data_source_links unless ignore_custom_data_source_links.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing custom dimension.
+ # @param [String] account_id
+ # Account ID for the custom dimension to update.
+ # @param [String] web_property_id
+ # Web property ID for the custom dimension to update.
+ # @param [String] custom_dimension_id
+ # Custom dimension ID for the custom dimension to update.
+ # @param [Google::Apis::AnalyticsV3::CustomDimension] custom_dimension_object
+ # @param [Boolean] ignore_custom_data_source_links
+ # Force the update and ignore any warnings related to the custom dimension being
+ # linked to a custom data source / data set.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomDimension] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomDimension]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_custom_dimension(account_id, web_property_id, custom_dimension_id, custom_dimension_object = nil, ignore_custom_data_source_links: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::CustomDimension::Representation
+ command.request_object = custom_dimension_object
+ command.response_representation = Google::Apis::AnalyticsV3::CustomDimension::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomDimension
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['customDimensionId'] = custom_dimension_id unless custom_dimension_id.nil?
+ command.query['ignoreCustomDataSourceLinks'] = ignore_custom_data_source_links unless ignore_custom_data_source_links.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Get a custom metric to which the user has access.
+ # @param [String] account_id
+ # Account ID for the custom metric to retrieve.
+ # @param [String] web_property_id
+ # Web property ID for the custom metric to retrieve.
+ # @param [String] custom_metric_id
+ # The ID of the custom metric to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomMetric] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomMetric]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_custom_metric(account_id, web_property_id, custom_metric_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::CustomMetric::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomMetric
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['customMetricId'] = custom_metric_id unless custom_metric_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create a new custom metric.
+ # @param [String] account_id
+ # Account ID for the custom metric to create.
+ # @param [String] web_property_id
+ # Web property ID for the custom dimension to create.
+ # @param [Google::Apis::AnalyticsV3::CustomMetric] custom_metric_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomMetric] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomMetric]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_custom_metric(account_id, web_property_id, custom_metric_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::CustomMetric::Representation
+ command.request_object = custom_metric_object
+ command.response_representation = Google::Apis::AnalyticsV3::CustomMetric::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomMetric
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists custom metrics to which the user has access.
+ # @param [String] account_id
+ # Account ID for the custom metrics to retrieve.
+ # @param [String] web_property_id
+ # Web property ID for the custom metrics to retrieve.
+ # @param [Fixnum] max_results
+ # The maximum number of custom metrics to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first entity to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomMetrics] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomMetrics]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_custom_metrics(account_id, web_property_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::CustomMetrics::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomMetrics
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing custom metric. This method supports patch semantics.
+ # @param [String] account_id
+ # Account ID for the custom metric to update.
+ # @param [String] web_property_id
+ # Web property ID for the custom metric to update.
+ # @param [String] custom_metric_id
+ # Custom metric ID for the custom metric to update.
+ # @param [Google::Apis::AnalyticsV3::CustomMetric] custom_metric_object
+ # @param [Boolean] ignore_custom_data_source_links
+ # Force the update and ignore any warnings related to the custom metric being
+ # linked to a custom data source / data set.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomMetric] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomMetric]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_custom_metric(account_id, web_property_id, custom_metric_id, custom_metric_object = nil, ignore_custom_data_source_links: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::CustomMetric::Representation
+ command.request_object = custom_metric_object
+ command.response_representation = Google::Apis::AnalyticsV3::CustomMetric::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomMetric
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['customMetricId'] = custom_metric_id unless custom_metric_id.nil?
+ command.query['ignoreCustomDataSourceLinks'] = ignore_custom_data_source_links unless ignore_custom_data_source_links.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing custom metric.
+ # @param [String] account_id
+ # Account ID for the custom metric to update.
+ # @param [String] web_property_id
+ # Web property ID for the custom metric to update.
+ # @param [String] custom_metric_id
+ # Custom metric ID for the custom metric to update.
+ # @param [Google::Apis::AnalyticsV3::CustomMetric] custom_metric_object
+ # @param [Boolean] ignore_custom_data_source_links
+ # Force the update and ignore any warnings related to the custom metric being
+ # linked to a custom data source / data set.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::CustomMetric] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::CustomMetric]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_custom_metric(account_id, web_property_id, custom_metric_id, custom_metric_object = nil, ignore_custom_data_source_links: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::CustomMetric::Representation
+ command.request_object = custom_metric_object
+ command.response_representation = Google::Apis::AnalyticsV3::CustomMetric::Representation
+ command.response_class = Google::Apis::AnalyticsV3::CustomMetric
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['customMetricId'] = custom_metric_id unless custom_metric_id.nil?
+ command.query['ignoreCustomDataSourceLinks'] = ignore_custom_data_source_links unless ignore_custom_data_source_links.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete an experiment.
+ # @param [String] account_id
+ # Account ID to which the experiment belongs
+ # @param [String] web_property_id
+ # Web property ID to which the experiment belongs
+ # @param [String] profile_id
+ # View (Profile) ID to which the experiment belongs
+ # @param [String] experiment_id
+ # ID of the experiment to delete
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_experiment(account_id, web_property_id, profile_id, experiment_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['experimentId'] = experiment_id unless experiment_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns an experiment to which the user has access.
+ # @param [String] account_id
+ # Account ID to retrieve the experiment for.
+ # @param [String] web_property_id
+ # Web property ID to retrieve the experiment for.
+ # @param [String] profile_id
+ # View (Profile) ID to retrieve the experiment for.
+ # @param [String] experiment_id
+ # Experiment ID to retrieve the experiment for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Experiment] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Experiment]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_experiment(account_id, web_property_id, profile_id, experiment_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Experiment::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Experiment
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['experimentId'] = experiment_id unless experiment_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create a new experiment.
+ # @param [String] account_id
+ # Account ID to create the experiment for.
+ # @param [String] web_property_id
+ # Web property ID to create the experiment for.
+ # @param [String] profile_id
+ # View (Profile) ID to create the experiment for.
+ # @param [Google::Apis::AnalyticsV3::Experiment] experiment_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Experiment] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Experiment]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_experiment(account_id, web_property_id, profile_id, experiment_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Experiment::Representation
+ command.request_object = experiment_object
+ command.response_representation = Google::Apis::AnalyticsV3::Experiment::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Experiment
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists experiments to which the user has access.
+ # @param [String] account_id
+ # Account ID to retrieve experiments for.
+ # @param [String] web_property_id
+ # Web property ID to retrieve experiments for.
+ # @param [String] profile_id
+ # View (Profile) ID to retrieve experiments for.
+ # @param [Fixnum] max_results
+ # The maximum number of experiments to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first experiment to retrieve. Use this parameter as a
+ # pagination mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Experiments] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Experiments]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_experiments(account_id, web_property_id, profile_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Experiments::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Experiments
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update an existing experiment. This method supports patch semantics.
+ # @param [String] account_id
+ # Account ID of the experiment to update.
+ # @param [String] web_property_id
+ # Web property ID of the experiment to update.
+ # @param [String] profile_id
+ # View (Profile) ID of the experiment to update.
+ # @param [String] experiment_id
+ # Experiment ID of the experiment to update.
+ # @param [Google::Apis::AnalyticsV3::Experiment] experiment_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Experiment] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Experiment]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_experiment(account_id, web_property_id, profile_id, experiment_id, experiment_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Experiment::Representation
+ command.request_object = experiment_object
+ command.response_representation = Google::Apis::AnalyticsV3::Experiment::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Experiment
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['experimentId'] = experiment_id unless experiment_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update an existing experiment.
+ # @param [String] account_id
+ # Account ID of the experiment to update.
+ # @param [String] web_property_id
+ # Web property ID of the experiment to update.
+ # @param [String] profile_id
+ # View (Profile) ID of the experiment to update.
+ # @param [String] experiment_id
+ # Experiment ID of the experiment to update.
+ # @param [Google::Apis::AnalyticsV3::Experiment] experiment_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Experiment] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Experiment]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_experiment(account_id, web_property_id, profile_id, experiment_id, experiment_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Experiment::Representation
+ command.request_object = experiment_object
+ command.response_representation = Google::Apis::AnalyticsV3::Experiment::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Experiment
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['experimentId'] = experiment_id unless experiment_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete a filter.
+ # @param [String] account_id
+ # Account ID to delete the filter for.
+ # @param [String] filter_id
+ # ID of the filter to be deleted.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Filter] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Filter]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_filter(account_id, filter_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/filters/{filterId}'
+ command = make_simple_command(:delete, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Filter::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Filter
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['filterId'] = filter_id unless filter_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns a filters to which the user has access.
+ # @param [String] account_id
+ # Account ID to retrieve filters for.
+ # @param [String] filter_id
+ # Filter ID to retrieve filters for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Filter] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Filter]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_filter(account_id, filter_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/filters/{filterId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Filter::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Filter
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['filterId'] = filter_id unless filter_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create a new filter.
+ # @param [String] account_id
+ # Account ID to create filter for.
+ # @param [Google::Apis::AnalyticsV3::Filter] filter_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Filter] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Filter]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_filter(account_id, filter_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/filters'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Filter::Representation
+ command.request_object = filter_object
+ command.response_representation = Google::Apis::AnalyticsV3::Filter::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Filter
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists all filters for an account
+ # @param [String] account_id
+ # Account ID to retrieve filters for.
+ # @param [Fixnum] max_results
+ # The maximum number of filters to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first entity to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Filters] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Filters]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_filters(account_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/filters'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Filters::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Filters
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing filter. This method supports patch semantics.
+ # @param [String] account_id
+ # Account ID to which the filter belongs.
+ # @param [String] filter_id
+ # ID of the filter to be updated.
+ # @param [Google::Apis::AnalyticsV3::Filter] filter_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Filter] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Filter]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_filter(account_id, filter_id, filter_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/filters/{filterId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Filter::Representation
+ command.request_object = filter_object
+ command.response_representation = Google::Apis::AnalyticsV3::Filter::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Filter
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['filterId'] = filter_id unless filter_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing filter.
+ # @param [String] account_id
+ # Account ID to which the filter belongs.
+ # @param [String] filter_id
+ # ID of the filter to be updated.
+ # @param [Google::Apis::AnalyticsV3::Filter] filter_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Filter] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Filter]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_filter(account_id, filter_id, filter_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/filters/{filterId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Filter::Representation
+ command.request_object = filter_object
+ command.response_representation = Google::Apis::AnalyticsV3::Filter::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Filter
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['filterId'] = filter_id unless filter_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Gets a goal to which the user has access.
+ # @param [String] account_id
+ # Account ID to retrieve the goal for.
+ # @param [String] web_property_id
+ # Web property ID to retrieve the goal for.
+ # @param [String] profile_id
+ # View (Profile) ID to retrieve the goal for.
+ # @param [String] goal_id
+ # Goal ID to retrieve the goal for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Goal] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Goal]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_goal(account_id, web_property_id, profile_id, goal_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Goal::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Goal
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['goalId'] = goal_id unless goal_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create a new goal.
+ # @param [String] account_id
+ # Account ID to create the goal for.
+ # @param [String] web_property_id
+ # Web property ID to create the goal for.
+ # @param [String] profile_id
+ # View (Profile) ID to create the goal for.
+ # @param [Google::Apis::AnalyticsV3::Goal] goal_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Goal] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Goal]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_goal(account_id, web_property_id, profile_id, goal_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Goal::Representation
+ command.request_object = goal_object
+ command.response_representation = Google::Apis::AnalyticsV3::Goal::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Goal
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists goals to which the user has access.
+ # @param [String] account_id
+ # Account ID to retrieve goals for. Can either be a specific account ID or '~all'
+ # , which refers to all the accounts that user has access to.
+ # @param [String] web_property_id
+ # Web property ID to retrieve goals for. Can either be a specific web property
+ # ID or '~all', which refers to all the web properties that user has access to.
+ # @param [String] profile_id
+ # View (Profile) ID to retrieve goals for. Can either be a specific view (
+ # profile) ID or '~all', which refers to all the views (profiles) that user has
+ # access to.
+ # @param [Fixnum] max_results
+ # The maximum number of goals to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first goal to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Goals] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Goals]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_goals(account_id, web_property_id, profile_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Goals::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Goals
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing view (profile). This method supports patch semantics.
+ # @param [String] account_id
+ # Account ID to update the goal.
+ # @param [String] web_property_id
+ # Web property ID to update the goal.
+ # @param [String] profile_id
+ # View (Profile) ID to update the goal.
+ # @param [String] goal_id
+ # Index of the goal to be updated.
+ # @param [Google::Apis::AnalyticsV3::Goal] goal_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Goal] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Goal]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_goal(account_id, web_property_id, profile_id, goal_id, goal_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Goal::Representation
+ command.request_object = goal_object
+ command.response_representation = Google::Apis::AnalyticsV3::Goal::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Goal
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['goalId'] = goal_id unless goal_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing view (profile).
+ # @param [String] account_id
+ # Account ID to update the goal.
+ # @param [String] web_property_id
+ # Web property ID to update the goal.
+ # @param [String] profile_id
+ # View (Profile) ID to update the goal.
+ # @param [String] goal_id
+ # Index of the goal to be updated.
+ # @param [Google::Apis::AnalyticsV3::Goal] goal_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Goal] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Goal]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_goal(account_id, web_property_id, profile_id, goal_id, goal_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Goal::Representation
+ command.request_object = goal_object
+ command.response_representation = Google::Apis::AnalyticsV3::Goal::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Goal
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['goalId'] = goal_id unless goal_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete a profile filter link.
+ # @param [String] account_id
+ # Account ID to which the profile filter link belongs.
+ # @param [String] web_property_id
+ # Web property Id to which the profile filter link belongs.
+ # @param [String] profile_id
+ # Profile ID to which the filter link belongs.
+ # @param [String] link_id
+ # ID of the profile filter link to delete.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_profile_filter_link(account_id, web_property_id, profile_id, link_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['linkId'] = link_id unless link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns a single profile filter link.
+ # @param [String] account_id
+ # Account ID to retrieve profile filter link for.
+ # @param [String] web_property_id
+ # Web property Id to retrieve profile filter link for.
+ # @param [String] profile_id
+ # Profile ID to retrieve filter link for.
+ # @param [String] link_id
+ # ID of the profile filter link.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::ProfileFilterLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::ProfileFilterLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_profile_filter_link(account_id, web_property_id, profile_id, link_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::ProfileFilterLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::ProfileFilterLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['linkId'] = link_id unless link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create a new profile filter link.
+ # @param [String] account_id
+ # Account ID to create profile filter link for.
+ # @param [String] web_property_id
+ # Web property Id to create profile filter link for.
+ # @param [String] profile_id
+ # Profile ID to create filter link for.
+ # @param [Google::Apis::AnalyticsV3::ProfileFilterLink] profile_filter_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::ProfileFilterLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::ProfileFilterLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_profile_filter_link(account_id, web_property_id, profile_id, profile_filter_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::ProfileFilterLink::Representation
+ command.request_object = profile_filter_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::ProfileFilterLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::ProfileFilterLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists all profile filter links for a profile.
+ # @param [String] account_id
+ # Account ID to retrieve profile filter links for.
+ # @param [String] web_property_id
+ # Web property Id for profile filter links for. Can either be a specific web
+ # property ID or '~all', which refers to all the web properties that user has
+ # access to.
+ # @param [String] profile_id
+ # Profile ID to retrieve filter links for. Can either be a specific profile ID
+ # or '~all', which refers to all the profiles that user has access to.
+ # @param [Fixnum] max_results
+ # The maximum number of profile filter links to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first entity to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::ProfileFilterLinks] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::ProfileFilterLinks]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_profile_filter_links(account_id, web_property_id, profile_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::ProfileFilterLinks::Representation
+ command.response_class = Google::Apis::AnalyticsV3::ProfileFilterLinks
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update an existing profile filter link. This method supports patch semantics.
+ # @param [String] account_id
+ # Account ID to which profile filter link belongs.
+ # @param [String] web_property_id
+ # Web property Id to which profile filter link belongs
+ # @param [String] profile_id
+ # Profile ID to which filter link belongs
+ # @param [String] link_id
+ # ID of the profile filter link to be updated.
+ # @param [Google::Apis::AnalyticsV3::ProfileFilterLink] profile_filter_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::ProfileFilterLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::ProfileFilterLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_profile_filter_link(account_id, web_property_id, profile_id, link_id, profile_filter_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::ProfileFilterLink::Representation
+ command.request_object = profile_filter_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::ProfileFilterLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::ProfileFilterLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['linkId'] = link_id unless link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Update an existing profile filter link.
+ # @param [String] account_id
+ # Account ID to which profile filter link belongs.
+ # @param [String] web_property_id
+ # Web property Id to which profile filter link belongs
+ # @param [String] profile_id
+ # Profile ID to which filter link belongs
+ # @param [String] link_id
+ # ID of the profile filter link to be updated.
+ # @param [Google::Apis::AnalyticsV3::ProfileFilterLink] profile_filter_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::ProfileFilterLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::ProfileFilterLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_profile_filter_link(account_id, web_property_id, profile_id, link_id, profile_filter_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::ProfileFilterLink::Representation
+ command.request_object = profile_filter_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::ProfileFilterLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::ProfileFilterLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['linkId'] = link_id unless link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Removes a user from the given view (profile).
+ # @param [String] account_id
+ # Account ID to delete the user link for.
+ # @param [String] web_property_id
+ # Web Property ID to delete the user link for.
+ # @param [String] profile_id
+ # View (Profile) ID to delete the user link for.
+ # @param [String] link_id
+ # Link ID to delete the user link for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_profile_user_link(account_id, web_property_id, profile_id, link_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['linkId'] = link_id unless link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Adds a new user to the given view (profile).
+ # @param [String] account_id
+ # Account ID to create the user link for.
+ # @param [String] web_property_id
+ # Web Property ID to create the user link for.
+ # @param [String] profile_id
+ # View (Profile) ID to create the user link for.
+ # @param [Google::Apis::AnalyticsV3::EntityUserLink] entity_user_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityUserLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityUserLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_profile_user_link(account_id, web_property_id, profile_id, entity_user_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.request_object = entity_user_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityUserLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists profile-user links for a given view (profile).
+ # @param [String] account_id
+ # Account ID which the given view (profile) belongs to.
+ # @param [String] web_property_id
+ # Web Property ID which the given view (profile) belongs to. Can either be a
+ # specific web property ID or '~all', which refers to all the web properties
+ # that user has access to.
+ # @param [String] profile_id
+ # View (Profile) ID to retrieve the profile-user links for. Can either be a
+ # specific profile ID or '~all', which refers to all the profiles that user has
+ # access to.
+ # @param [Fixnum] max_results
+ # The maximum number of profile-user links to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first profile-user link to retrieve. Use this parameter as a
+ # pagination mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityUserLinks] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityUserLinks]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_profile_user_links(account_id, web_property_id, profile_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::EntityUserLinks::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityUserLinks
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates permissions for an existing user on the given view (profile).
+ # @param [String] account_id
+ # Account ID to update the user link for.
+ # @param [String] web_property_id
+ # Web Property ID to update the user link for.
+ # @param [String] profile_id
+ # View (Profile ID) to update the user link for.
+ # @param [String] link_id
+ # Link ID to update the user link for.
+ # @param [Google::Apis::AnalyticsV3::EntityUserLink] entity_user_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityUserLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityUserLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_profile_user_link(account_id, web_property_id, profile_id, link_id, entity_user_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.request_object = entity_user_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityUserLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['linkId'] = link_id unless link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes a view (profile).
+ # @param [String] account_id
+ # Account ID to delete the view (profile) for.
+ # @param [String] web_property_id
+ # Web property ID to delete the view (profile) for.
+ # @param [String] profile_id
+ # ID of the view (profile) to be deleted.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_profile(account_id, web_property_id, profile_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Gets a view (profile) to which the user has access.
+ # @param [String] account_id
+ # Account ID to retrieve the goal for.
+ # @param [String] web_property_id
+ # Web property ID to retrieve the goal for.
+ # @param [String] profile_id
+ # View (Profile) ID to retrieve the goal for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Profile] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Profile]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_profile(account_id, web_property_id, profile_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Profile::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Profile
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create a new view (profile).
+ # @param [String] account_id
+ # Account ID to create the view (profile) for.
+ # @param [String] web_property_id
+ # Web property ID to create the view (profile) for.
+ # @param [Google::Apis::AnalyticsV3::Profile] profile_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Profile] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Profile]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_profile(account_id, web_property_id, profile_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Profile::Representation
+ command.request_object = profile_object
+ command.response_representation = Google::Apis::AnalyticsV3::Profile::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Profile
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists views (profiles) to which the user has access.
+ # @param [String] account_id
+ # Account ID for the view (profiles) to retrieve. Can either be a specific
+ # account ID or '~all', which refers to all the accounts to which the user has
+ # access.
+ # @param [String] web_property_id
+ # Web property ID for the views (profiles) to retrieve. Can either be a specific
+ # web property ID or '~all', which refers to all the web properties to which the
+ # user has access.
+ # @param [Fixnum] max_results
+ # The maximum number of views (profiles) to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first entity to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Profiles] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Profiles]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_profiles(account_id, web_property_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Profiles::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Profiles
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing view (profile). This method supports patch semantics.
+ # @param [String] account_id
+ # Account ID to which the view (profile) belongs
+ # @param [String] web_property_id
+ # Web property ID to which the view (profile) belongs
+ # @param [String] profile_id
+ # ID of the view (profile) to be updated.
+ # @param [Google::Apis::AnalyticsV3::Profile] profile_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Profile] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Profile]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_profile(account_id, web_property_id, profile_id, profile_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Profile::Representation
+ command.request_object = profile_object
+ command.response_representation = Google::Apis::AnalyticsV3::Profile::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Profile
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing view (profile).
+ # @param [String] account_id
+ # Account ID to which the view (profile) belongs
+ # @param [String] web_property_id
+ # Web property ID to which the view (profile) belongs
+ # @param [String] profile_id
+ # ID of the view (profile) to be updated.
+ # @param [Google::Apis::AnalyticsV3::Profile] profile_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Profile] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Profile]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_profile(account_id, web_property_id, profile_id, profile_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Profile::Representation
+ command.request_object = profile_object
+ command.response_representation = Google::Apis::AnalyticsV3::Profile::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Profile
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists segments to which the user has access.
+ # @param [Fixnum] max_results
+ # The maximum number of segments to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first segment to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Segments] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Segments]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_segments(max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/segments'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Segments::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Segments
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns a single unsampled report.
+ # @param [String] account_id
+ # Account ID to retrieve unsampled report for.
+ # @param [String] web_property_id
+ # Web property ID to retrieve unsampled reports for.
+ # @param [String] profile_id
+ # View (Profile) ID to retrieve unsampled report for.
+ # @param [String] unsampled_report_id
+ # ID of the unsampled report to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::UnsampledReport] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::UnsampledReport]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_unsampled_report(account_id, web_property_id, profile_id, unsampled_report_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::UnsampledReport::Representation
+ command.response_class = Google::Apis::AnalyticsV3::UnsampledReport
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.params['unsampledReportId'] = unsampled_report_id unless unsampled_report_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create a new unsampled report.
+ # @param [String] account_id
+ # Account ID to create the unsampled report for.
+ # @param [String] web_property_id
+ # Web property ID to create the unsampled report for.
+ # @param [String] profile_id
+ # View (Profile) ID to create the unsampled report for.
+ # @param [Google::Apis::AnalyticsV3::UnsampledReport] unsampled_report_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::UnsampledReport] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::UnsampledReport]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_unsampled_report(account_id, web_property_id, profile_id, unsampled_report_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::UnsampledReport::Representation
+ command.request_object = unsampled_report_object
+ command.response_representation = Google::Apis::AnalyticsV3::UnsampledReport::Representation
+ command.response_class = Google::Apis::AnalyticsV3::UnsampledReport
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists unsampled reports to which the user has access.
+ # @param [String] account_id
+ # Account ID to retrieve unsampled reports for. Must be a specific account ID, ~
+ # all is not supported.
+ # @param [String] web_property_id
+ # Web property ID to retrieve unsampled reports for. Must be a specific web
+ # property ID, ~all is not supported.
+ # @param [String] profile_id
+ # View (Profile) ID to retrieve unsampled reports for. Must be a specific view (
+ # profile) ID, ~all is not supported.
+ # @param [Fixnum] max_results
+ # The maximum number of unsampled reports to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first unsampled report to retrieve. Use this parameter as a
+ # pagination mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::UnsampledReports] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::UnsampledReports]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_unsampled_reports(account_id, web_property_id, profile_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::UnsampledReports::Representation
+ command.response_class = Google::Apis::AnalyticsV3::UnsampledReports
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['profileId'] = profile_id unless profile_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete data associated with a previous upload.
+ # @param [String] account_id
+ # Account Id for the uploads to be deleted.
+ # @param [String] web_property_id
+ # Web property Id for the uploads to be deleted.
+ # @param [String] custom_data_source_id
+ # Custom data source Id for the uploads to be deleted.
+ # @param [Google::Apis::AnalyticsV3::DeleteUploadDataRequest] delete_upload_data_request_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_upload_data(account_id, web_property_id, custom_data_source_id, delete_upload_data_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::DeleteUploadDataRequest::Representation
+ command.request_object = delete_upload_data_request_object
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['customDataSourceId'] = custom_data_source_id unless custom_data_source_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List uploads to which the user has access.
+ # @param [String] account_id
+ # Account Id for the upload to retrieve.
+ # @param [String] web_property_id
+ # Web property Id for the upload to retrieve.
+ # @param [String] custom_data_source_id
+ # Custom data source Id for upload to retrieve.
+ # @param [String] upload_id
+ # Upload Id to retrieve.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Upload] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Upload]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_upload(account_id, web_property_id, custom_data_source_id, upload_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Upload::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Upload
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['customDataSourceId'] = custom_data_source_id unless custom_data_source_id.nil?
+ command.params['uploadId'] = upload_id unless upload_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List uploads to which the user has access.
+ # @param [String] account_id
+ # Account Id for the uploads to retrieve.
+ # @param [String] web_property_id
+ # Web property Id for the uploads to retrieve.
+ # @param [String] custom_data_source_id
+ # Custom data source Id for uploads to retrieve.
+ # @param [Fixnum] max_results
+ # The maximum number of uploads to include in this response.
+ # @param [Fixnum] start_index
+ # A 1-based index of the first upload to retrieve. Use this parameter as a
+ # pagination mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Uploads] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Uploads]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_uploads(account_id, web_property_id, custom_data_source_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Uploads::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Uploads
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['customDataSourceId'] = custom_data_source_id unless custom_data_source_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Upload data for a custom data source.
+ # @param [String] account_id
+ # Account Id associated with the upload.
+ # @param [String] web_property_id
+ # Web property UA-string associated with the upload.
+ # @param [String] custom_data_source_id
+ # Custom data source Id to which the data being uploaded belongs.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [IO, String] upload_source
+ # IO stream or filename containing content to upload
+ # @param [String] content_type
+ # Content type of the uploaded content.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Upload] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Upload]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def upload_data(account_id, web_property_id, custom_data_source_id, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads'
+ if upload_source.nil?
+ command = make_simple_command(:post, path, options)
+ else
+ command = make_upload_command(:post, path, options)
+ command.upload_source = upload_source
+ command.upload_content_type = content_type
+ end
+ command.response_representation = Google::Apis::AnalyticsV3::Upload::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Upload
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['customDataSourceId'] = custom_data_source_id unless custom_data_source_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes a web property-AdWords link.
+ # @param [String] account_id
+ # ID of the account which the given web property belongs to.
+ # @param [String] web_property_id
+ # Web property ID to delete the AdWords link for.
+ # @param [String] web_property_ad_words_link_id
+ # Web property AdWords link ID.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_web_property_ad_words_link(account_id, web_property_id, web_property_ad_words_link_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['webPropertyAdWordsLinkId'] = web_property_ad_words_link_id unless web_property_ad_words_link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns a web property-AdWords link to which the user has access.
+ # @param [String] account_id
+ # ID of the account which the given web property belongs to.
+ # @param [String] web_property_id
+ # Web property ID to retrieve the AdWords link for.
+ # @param [String] web_property_ad_words_link_id
+ # Web property-AdWords link ID.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityAdWordsLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityAdWordsLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_web_property_ad_words_link(account_id, web_property_id, web_property_ad_words_link_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::EntityAdWordsLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityAdWordsLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['webPropertyAdWordsLinkId'] = web_property_ad_words_link_id unless web_property_ad_words_link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Creates a webProperty-AdWords link.
+ # @param [String] account_id
+ # ID of the Google Analytics account to create the link for.
+ # @param [String] web_property_id
+ # Web property ID to create the link for.
+ # @param [Google::Apis::AnalyticsV3::EntityAdWordsLink] entity_ad_words_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityAdWordsLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityAdWordsLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_web_property_ad_words_link(account_id, web_property_id, entity_ad_words_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::EntityAdWordsLink::Representation
+ command.request_object = entity_ad_words_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::EntityAdWordsLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityAdWordsLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists webProperty-AdWords links for a given web property.
+ # @param [String] account_id
+ # ID of the account which the given web property belongs to.
+ # @param [String] web_property_id
+ # Web property ID to retrieve the AdWords links for.
+ # @param [Fixnum] max_results
+ # The maximum number of webProperty-AdWords links to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first webProperty-AdWords link to retrieve. Use this parameter
+ # as a pagination mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityAdWordsLinks] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityAdWordsLinks]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_web_property_ad_words_links(account_id, web_property_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::EntityAdWordsLinks::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityAdWordsLinks
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing webProperty-AdWords link. This method supports patch
+ # semantics.
+ # @param [String] account_id
+ # ID of the account which the given web property belongs to.
+ # @param [String] web_property_id
+ # Web property ID to retrieve the AdWords link for.
+ # @param [String] web_property_ad_words_link_id
+ # Web property-AdWords link ID.
+ # @param [Google::Apis::AnalyticsV3::EntityAdWordsLink] entity_ad_words_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityAdWordsLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityAdWordsLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_web_property_ad_words_link(account_id, web_property_id, web_property_ad_words_link_id, entity_ad_words_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::EntityAdWordsLink::Representation
+ command.request_object = entity_ad_words_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::EntityAdWordsLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityAdWordsLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['webPropertyAdWordsLinkId'] = web_property_ad_words_link_id unless web_property_ad_words_link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing webProperty-AdWords link.
+ # @param [String] account_id
+ # ID of the account which the given web property belongs to.
+ # @param [String] web_property_id
+ # Web property ID to retrieve the AdWords link for.
+ # @param [String] web_property_ad_words_link_id
+ # Web property-AdWords link ID.
+ # @param [Google::Apis::AnalyticsV3::EntityAdWordsLink] entity_ad_words_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityAdWordsLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityAdWordsLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_web_property_ad_words_link(account_id, web_property_id, web_property_ad_words_link_id, entity_ad_words_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::EntityAdWordsLink::Representation
+ command.request_object = entity_ad_words_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::EntityAdWordsLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityAdWordsLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['webPropertyAdWordsLinkId'] = web_property_ad_words_link_id unless web_property_ad_words_link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Gets a web property to which the user has access.
+ # @param [String] account_id
+ # Account ID to retrieve the web property for.
+ # @param [String] web_property_id
+ # ID to retrieve the web property for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Webproperty] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Webproperty]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_web_property(account_id, web_property_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Webproperty::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Webproperty
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Create a new property if the account has fewer than 20 properties. Web
+ # properties are visible in the Google Analytics interface only if they have at
+ # least one profile.
+ # @param [String] account_id
+ # Account ID to create the web property for.
+ # @param [Google::Apis::AnalyticsV3::Webproperty] webproperty_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Webproperty] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Webproperty]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_web_property(account_id, webproperty_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Webproperty::Representation
+ command.request_object = webproperty_object
+ command.response_representation = Google::Apis::AnalyticsV3::Webproperty::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Webproperty
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists web properties to which the user has access.
+ # @param [String] account_id
+ # Account ID to retrieve web properties for. Can either be a specific account ID
+ # or '~all', which refers to all the accounts that user has access to.
+ # @param [Fixnum] max_results
+ # The maximum number of web properties to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first entity to retrieve. Use this parameter as a pagination
+ # mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Webproperties] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Webproperties]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_web_properties(account_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Webproperties::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Webproperties
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing web property. This method supports patch semantics.
+ # @param [String] account_id
+ # Account ID to which the web property belongs
+ # @param [String] web_property_id
+ # Web property ID
+ # @param [Google::Apis::AnalyticsV3::Webproperty] webproperty_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Webproperty] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Webproperty]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_web_property(account_id, web_property_id, webproperty_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Webproperty::Representation
+ command.request_object = webproperty_object
+ command.response_representation = Google::Apis::AnalyticsV3::Webproperty::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Webproperty
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates an existing web property.
+ # @param [String] account_id
+ # Account ID to which the web property belongs
+ # @param [String] web_property_id
+ # Web property ID
+ # @param [Google::Apis::AnalyticsV3::Webproperty] webproperty_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Webproperty] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Webproperty]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_web_property(account_id, web_property_id, webproperty_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::Webproperty::Representation
+ command.request_object = webproperty_object
+ command.response_representation = Google::Apis::AnalyticsV3::Webproperty::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Webproperty
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Removes a user from the given web property.
+ # @param [String] account_id
+ # Account ID to delete the user link for.
+ # @param [String] web_property_id
+ # Web Property ID to delete the user link for.
+ # @param [String] link_id
+ # Link ID to delete the user link for.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_web_property_user_link(account_id, web_property_id, link_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['linkId'] = link_id unless link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Adds a new user to the given web property.
+ # @param [String] account_id
+ # Account ID to create the user link for.
+ # @param [String] web_property_id
+ # Web Property ID to create the user link for.
+ # @param [Google::Apis::AnalyticsV3::EntityUserLink] entity_user_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityUserLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityUserLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_web_property_user_link(account_id, web_property_id, entity_user_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.request_object = entity_user_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityUserLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists webProperty-user links for a given web property.
+ # @param [String] account_id
+ # Account ID which the given web property belongs to.
+ # @param [String] web_property_id
+ # Web Property ID for the webProperty-user links to retrieve. Can either be a
+ # specific web property ID or '~all', which refers to all the web properties
+ # that user has access to.
+ # @param [Fixnum] max_results
+ # The maximum number of webProperty-user Links to include in this response.
+ # @param [Fixnum] start_index
+ # An index of the first webProperty-user link to retrieve. Use this parameter as
+ # a pagination mechanism along with the max-results parameter.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityUserLinks] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityUserLinks]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_web_property_user_links(account_id, web_property_id, max_results: nil, start_index: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::EntityUserLinks::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityUserLinks
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.query['max-results'] = max_results unless max_results.nil?
+ command.query['start-index'] = start_index unless start_index.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates permissions for an existing user on the given web property.
+ # @param [String] account_id
+ # Account ID to update the account-user link for.
+ # @param [String] web_property_id
+ # Web property ID to update the account-user link for.
+ # @param [String] link_id
+ # Link ID to update the account-user link for.
+ # @param [Google::Apis::AnalyticsV3::EntityUserLink] entity_user_link_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::EntityUserLink] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::EntityUserLink]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_web_property_user_link(account_id, web_property_id, link_id, entity_user_link_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.request_object = entity_user_link_object
+ command.response_representation = Google::Apis::AnalyticsV3::EntityUserLink::Representation
+ command.response_class = Google::Apis::AnalyticsV3::EntityUserLink
+ command.params['accountId'] = account_id unless account_id.nil?
+ command.params['webPropertyId'] = web_property_id unless web_property_id.nil?
+ command.params['linkId'] = link_id unless link_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists all columns for a report type
+ # @param [String] report_type
+ # Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core
+ # Reporting API
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::Columns] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::Columns]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_metadata_columns(report_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'metadata/{reportType}/columns'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AnalyticsV3::Columns::Representation
+ command.response_class = Google::Apis::AnalyticsV3::Columns
+ command.params['reportType'] = report_type unless report_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Creates an account ticket.
+ # @param [Google::Apis::AnalyticsV3::AccountTicket] account_ticket_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AnalyticsV3::AccountTicket] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AnalyticsV3::AccountTicket]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def create_account_ticket(account_ticket_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'provisioning/createAccountTicket'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AnalyticsV3::AccountTicket::Representation
+ command.request_object = account_ticket_object
+ command.response_representation = Google::Apis::AnalyticsV3::AccountTicket::Representation
+ command.response_class = Google::Apis::AnalyticsV3::AccountTicket
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ protected
+
+ def apply_command_defaults(command)
+ command.query['key'] = key unless key.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/androidenterprise_v1.rb b/generated/google/apis/androidenterprise_v1.rb
new file mode 100644
index 000000000..14c55dea4
--- /dev/null
+++ b/generated/google/apis/androidenterprise_v1.rb
@@ -0,0 +1,34 @@
+# 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 'google/apis/androidenterprise_v1/service.rb'
+require 'google/apis/androidenterprise_v1/classes.rb'
+require 'google/apis/androidenterprise_v1/representations.rb'
+
+module Google
+ module Apis
+ # Google Play EMM API
+ #
+ # Allows MDMs/EMMs and enterprises to manage the deployment of apps to Android
+ # for Work users.
+ #
+ module AndroidenterpriseV1
+ VERSION = 'V1'
+ REVISION = '20150303'
+
+ # Manage corporate Android devices
+ AUTH_ANDROIDENTERPRISE = 'https://www.googleapis.com/auth/androidenterprise'
+ end
+ end
+end
diff --git a/generated/google/apis/androidenterprise_v1/classes.rb b/generated/google/apis/androidenterprise_v1/classes.rb
new file mode 100644
index 000000000..22b71ffe4
--- /dev/null
+++ b/generated/google/apis/androidenterprise_v1/classes.rb
@@ -0,0 +1,1162 @@
+# 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 AndroidenterpriseV1
+
+ # Represents the list of app restrictions available to be pre-configured for the
+ # product.
+ class AppRestrictionsSchema
+ include Google::Apis::Core::Hashable
+
+ # The set of restrictions that make up this schema.
+ # Corresponds to the JSON property `restrictions`
+ # @return [Array]
+ attr_accessor :restrictions
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @restrictions = args[:restrictions] unless args[:restrictions].nil?
+ end
+ end
+
+ # A restriction in the App Restriction Schema represents a piece of
+ # configuration that may be pre-applied.
+ class AppRestrictionsSchemaRestriction
+ include Google::Apis::Core::Hashable
+
+ # A typed value for the restriction.
+ # Corresponds to the JSON property `defaultValue`
+ # @return [Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestrictionRestrictionValue]
+ attr_accessor :default_value
+
+ # A longer description of the restriction, giving more detail of what it affects.
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # For choice or multiselect restrictions, the list of possible entries' human-
+ # readable names.
+ # Corresponds to the JSON property `entry`
+ # @return [Array]
+ attr_accessor :entry
+
+ # For choice or multiselect restrictions, the list of possible entries' machine-
+ # readable values.
+ # Corresponds to the JSON property `entryValue`
+ # @return [Array]
+ attr_accessor :entry_value
+
+ # The unique key that the product uses to identify the restriction, e.g. "com.
+ # google.android.gm.fieldname".
+ # Corresponds to the JSON property `key`
+ # @return [String]
+ attr_accessor :key
+
+ # The type of the restriction.
+ # Corresponds to the JSON property `restrictionType`
+ # @return [String]
+ attr_accessor :restriction_type
+
+ # The name of the restriction.
+ # Corresponds to the JSON property `title`
+ # @return [String]
+ attr_accessor :title
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @default_value = args[:default_value] unless args[:default_value].nil?
+ @description = args[:description] unless args[:description].nil?
+ @entry = args[:entry] unless args[:entry].nil?
+ @entry_value = args[:entry_value] unless args[:entry_value].nil?
+ @key = args[:key] unless args[:key].nil?
+ @restriction_type = args[:restriction_type] unless args[:restriction_type].nil?
+ @title = args[:title] unless args[:title].nil?
+ end
+ end
+
+ # A typed value for the restriction.
+ class AppRestrictionsSchemaRestrictionRestrictionValue
+ include Google::Apis::Core::Hashable
+
+ # The type of the value being provided.
+ # Corresponds to the JSON property `type`
+ # @return [String]
+ attr_accessor :type
+
+ # The boolean value - this will only be present if type is bool.
+ # Corresponds to the JSON property `valueBool`
+ # @return [Boolean]
+ attr_accessor :value_bool
+ alias_method :value_bool?, :value_bool
+
+ # The integer value - this will only be present if type is integer.
+ # Corresponds to the JSON property `valueInteger`
+ # @return [Fixnum]
+ attr_accessor :value_integer
+
+ # The list of string values - this will only be present if type is multiselect.
+ # Corresponds to the JSON property `valueMultiselect`
+ # @return [Array]
+ attr_accessor :value_multiselect
+
+ # The string value - this will be present for types string, choice and hidden.
+ # Corresponds to the JSON property `valueString`
+ # @return [String]
+ attr_accessor :value_string
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @type = args[:type] unless args[:type].nil?
+ @value_bool = args[:value_bool] unless args[:value_bool].nil?
+ @value_integer = args[:value_integer] unless args[:value_integer].nil?
+ @value_multiselect = args[:value_multiselect] unless args[:value_multiselect].nil?
+ @value_string = args[:value_string] unless args[:value_string].nil?
+ end
+ end
+
+ # App version represents a single APK version.
+ class AppVersion
+ include Google::Apis::Core::Hashable
+
+ # Unique increasing identifier for the apk version.
+ # Corresponds to the JSON property `versionCode`
+ # @return [Fixnum]
+ attr_accessor :version_code
+
+ # The string used in the Play Store by the app developer to identify a version
+ # of an app. The string is not necessarily unique or localized (e.g. "1.4").
+ # Corresponds to the JSON property `versionString`
+ # @return [String]
+ attr_accessor :version_string
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @version_code = args[:version_code] unless args[:version_code].nil?
+ @version_string = args[:version_string] unless args[:version_string].nil?
+ end
+ end
+
+ # Information on an approval URL.
+ class ApprovalUrlInfo
+ include Google::Apis::Core::Hashable
+
+ # A URL that displays a product's permissions and that can also be used to
+ # approve the product with the Products.approve call.
+ # Corresponds to the JSON property `approvalUrl`
+ # @return [String]
+ attr_accessor :approval_url
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#approvalUrlInfo".
+ # 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)
+ @approval_url = args[:approval_url] unless args[:approval_url].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # A collection resource defines a named set of apps that is visible to a set of
+ # users in the Google Play Store app running on those users' managed devices.
+ # Those users can then install any of those apps if they wish (which will
+ # trigger creation of install and entitlement resources). A user cannot install
+ # an app on a managed device unless the app is listed in at least one collection
+ # that is visible to that user.
+ # Note that the API can be used to directly install an app regardless of whether
+ # it is in any collection - so an enterprise has a choice of either directly
+ # pushing apps to users, or allowing users to install apps if they want. Which
+ # is appropriate will depend on the enterprise's policies and the purpose of the
+ # apps concerned.
+ class Collection
+ include Google::Apis::Core::Hashable
+
+ # Arbitrary unique ID, allocated by the API on creation.
+ # Corresponds to the JSON property `collectionId`
+ # @return [String]
+ attr_accessor :collection_id
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#collection".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # A user-friendly name for the collection (should be unique), e.g. "Accounting
+ # apps".
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The IDs of the products in the collection, in the order in which they should
+ # be displayed.
+ # Corresponds to the JSON property `productId`
+ # @return [Array]
+ attr_accessor :product_id
+
+ # Whether this collection is visible to all users, or only to the users that
+ # have been granted access through the collection_viewers api. Even if a
+ # collection is visible to allUsers, it is possible to add and remove viewers,
+ # but this will have no effect until the collection's visibility changes to
+ # viewersOnly.
+ # Corresponds to the JSON property `visibility`
+ # @return [String]
+ attr_accessor :visibility
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @collection_id = args[:collection_id] unless args[:collection_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @product_id = args[:product_id] unless args[:product_id].nil?
+ @visibility = args[:visibility] unless args[:visibility].nil?
+ end
+ end
+
+ # The user resources for the collection.
+ class ListCollectionViewersResponse
+ include Google::Apis::Core::Hashable
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#collectionViewersListResponse".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # A user of an enterprise.
+ # Corresponds to the JSON property `user`
+ # @return [Array]
+ attr_accessor :user
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @user = args[:user] unless args[:user].nil?
+ end
+ end
+
+ # The collection resources for the enterprise.
+ class ListCollectionsResponse
+ include Google::Apis::Core::Hashable
+
+ # An ordered collection of products which can be made visible on the Google Play
+ # Store app to a selected group of users.
+ # Corresponds to the JSON property `collection`
+ # @return [Array]
+ attr_accessor :collection
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#collectionsListResponse".
+ # 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)
+ @collection = args[:collection] unless args[:collection].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # A device resource represents a mobile device managed by the MDM and belonging
+ # to a specific enterprise user.
+ # This collection cannot be modified via the API; it is automatically populated
+ # as devices are set up to be managed.
+ class Device
+ include Google::Apis::Core::Hashable
+
+ # The Google Play Services Android ID for the device encoded as a lowercase hex
+ # string, e.g. "123456789abcdef0".
+ # Corresponds to the JSON property `androidId`
+ # @return [String]
+ attr_accessor :android_id
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#device".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The mechanism by which this device is managed by the MDM. "managedDevice"
+ # means that the MDM's app is a device owner. "managedProfile" means that the
+ # MDM's app is the profile owner (and there is a separate personal profile which
+ # is not managed). "containerApp" means that the MDM's app is managing the
+ # Android for Work container app on the device.
+ # Corresponds to the JSON property `managementType`
+ # @return [String]
+ attr_accessor :management_type
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @android_id = args[:android_id] unless args[:android_id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @management_type = args[:management_type] unless args[:management_type].nil?
+ end
+ end
+
+ # The state of a user's device, as accessed by the getState and setState methods
+ # on device resources.
+ class DeviceState
+ include Google::Apis::Core::Hashable
+
+ # The state of the Google account on the device. "enabled" indicates that the
+ # Google account on the device can be used to access Google services (including
+ # Google Play), while "disabled" means that it cannot. A new device is initially
+ # in the "disabled" state.
+ # Corresponds to the JSON property `accountState`
+ # @return [String]
+ attr_accessor :account_state
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#deviceState".
+ # 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)
+ @account_state = args[:account_state] unless args[:account_state].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # The device resources for the user.
+ class ListDevicesResponse
+ include Google::Apis::Core::Hashable
+
+ # A managed device.
+ # Corresponds to the JSON property `device`
+ # @return [Array]
+ attr_accessor :device
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#devicesListResponse".
+ # 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)
+ @device = args[:device] unless args[:device].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # An enterprise resource represents a binding between an organisation and their
+ # MDM.
+ # To create an enterprise, an admin of the enterprise must first go through a
+ # Play for Work sign-up flow. At the end of this the admin will be presented
+ # with a token (a short opaque alphanumeric string). They must then present this
+ # to the MDM, who then supplies it to the enroll method. Until this is done the
+ # MDM will not have any access to the enterprise.
+ # After calling enroll the MDM should call setAccount to specify the service
+ # account that will be allowed to act on behalf of the enterprise, which will be
+ # required for access to the enterprise's data through this API. Only one call
+ # of setAccount is allowed for a given enterprise; the only way to change the
+ # account later is to unenroll the enterprise and enroll it again (obtaining a
+ # new token).
+ # The MDM can unenroll an enterprise in order to sever the binding between them.
+ # Re-enrolling an enterprise is possible, but requires a new token to be
+ # retrieved. Enterprises.unenroll requires the MDM's credentials (as enroll does)
+ # , not the enterprise's. Enterprises.unenroll can only be used for enterprises
+ # that were previously enrolled with the enroll call. Any enterprises that were
+ # enrolled using the (deprecated) Enterprises.insert call must be unenrolled
+ # with Enterprises.delete and can then be re-enrolled using the Enterprises.
+ # enroll call.
+ # The ID for an enterprise is an opaque string. It is returned by insert and
+ # enroll and can also be retrieved if the enterprise's primary domain is known
+ # using the list method.
+ class Enterprise
+ include Google::Apis::Core::Hashable
+
+ # The unique ID for the enterprise.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#enterprise".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The name of the enterprise, e.g. "Example Inc".
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # The enterprise's primary domain, e.g. "example.com".
+ # Corresponds to the JSON property `primaryDomain`
+ # @return [String]
+ attr_accessor :primary_domain
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @primary_domain = args[:primary_domain] unless args[:primary_domain].nil?
+ end
+ end
+
+ # A service account that can be used to authenticate as the enterprise to API
+ # calls that require such authentication.
+ class EnterpriseAccount
+ include Google::Apis::Core::Hashable
+
+ # The email address of the service account.
+ # Corresponds to the JSON property `accountEmail`
+ # @return [String]
+ attr_accessor :account_email
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#enterpriseAccount".
+ # 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)
+ @account_email = args[:account_email] unless args[:account_email].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # The matching enterprise resources.
+ class ListEnterprisesResponse
+ include Google::Apis::Core::Hashable
+
+ # An enterprise.
+ # Corresponds to the JSON property `enterprise`
+ # @return [Array]
+ attr_accessor :enterprise
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#enterprisesListResponse".
+ # 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)
+ @enterprise = args[:enterprise] unless args[:enterprise].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # The existence of an entitlement resource means that a user has the right to
+ # use a particular app on any of their devices. This might be because the app is
+ # free or because they have been allocated a license to the app from a group
+ # license purchased by the enterprise.
+ # It should always be true that a user has an app installed on one of their
+ # devices only if they have an entitlement to it. So if an entitlement is
+ # deleted, the app will be uninstalled from all devices. Similarly if the user
+ # installs an app (and is permitted to do so), or the MDM triggers an install of
+ # the app, an entitlement to that app is automatically created. If this is
+ # impossible - e.g. the enterprise has not purchased sufficient licenses - then
+ # installation fails.
+ # Note that entitlements are always user specific, not device specific; a user
+ # may have an entitlement even though they have not installed the app anywhere.
+ # Once they have an entitlement they can install the app on multiple devices.
+ # The API can be used to create an entitlement. If the app is a free app, a
+ # group license for that app is created. If it's a paid app, creating the
+ # entitlement consumes one license; it remains consumed until the entitlement is
+ # removed. Optionally an installation of the app on all the user's managed
+ # devices can be triggered at the time the entitlement is created. An
+ # entitlement cannot be created for an app if the app requires permissions that
+ # the enterprise has not yet accepted.
+ # Entitlements for paid apps that are due to purchases by the user on a non-
+ # managed profile will have "userPurchase" as entitlement reason; those
+ # entitlements cannot be removed via the API.
+ class Entitlement
+ include Google::Apis::Core::Hashable
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#entitlement".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The ID of the product that the entitlement is for, e.g. "app:com.google.
+ # android.gm".
+ # Corresponds to the JSON property `productId`
+ # @return [String]
+ attr_accessor :product_id
+
+ # The reason for the entitlement, e.g. "free" for free apps. This is temporary,
+ # it will be replaced by the acquisition kind field of group licenses.
+ # Corresponds to the JSON property `reason`
+ # @return [String]
+ attr_accessor :reason
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @product_id = args[:product_id] unless args[:product_id].nil?
+ @reason = args[:reason] unless args[:reason].nil?
+ end
+ end
+
+ # The entitlement resources for the user.
+ class ListEntitlementsResponse
+ include Google::Apis::Core::Hashable
+
+ # An entitlement of a user to a product (e.g. an app). For example, a free app
+ # that they have installed, or a paid app that they have been allocated a
+ # license to.
+ # Corresponds to the JSON property `entitlement`
+ # @return [Array]
+ attr_accessor :entitlement
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#entitlementsListResponse".
+ # 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)
+ @entitlement = args[:entitlement] unless args[:entitlement].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # A group license object indicates a product that an enterprise admin has
+ # approved for use in the enterprise. The product may be free or paid. For free
+ # products, a group license object is created in these cases: if the enterprise
+ # admin approves a product in Google Play, if the product is added to a
+ # collection, or if an entitlement for the product is created for a user via the
+ # API. For paid products, a group license object is only created as part of the
+ # first bulk purchase of that product in Google Play done by the enterprise
+ # admin.
+ # The API can be used to query group licenses; the available information
+ # includes the total number of licenses purchased (for paid products) and the
+ # total number of licenses that have been provisioned, i.e. the total number of
+ # user entitlements in existence for the product.
+ # Group license objects are never deleted; if e.g. a free app is added to a
+ # collection and then removed, the group license will remain, allowing to keep
+ # track of any remaining entitlements. An enterprise admin may indicate they are
+ # no longer interested in the group license by marking it as unapproved in
+ # Google Play.
+ class GroupLicense
+ include Google::Apis::Core::Hashable
+
+ # How this group license was acquired. "bulkPurchase" means that this group
+ # license object was created because the enterprise purchased licenses for this
+ # product; this is "free" otherwise (for free products).
+ # Corresponds to the JSON property `acquisitionKind`
+ # @return [String]
+ attr_accessor :acquisition_kind
+
+ # Whether the product to which this group license relates is currently approved
+ # by the enterprise, as either "approved" or "unapproved". Products are approved
+ # when a group license is first created, but this approval may be revoked by an
+ # enterprise admin via Google Play. Unapproved products will not be visible to
+ # end users in collections and new entitlements to them should not normally be
+ # created.
+ # Corresponds to the JSON property `approval`
+ # @return [String]
+ attr_accessor :approval
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#groupLicense".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The total number of provisioned licenses for this product. Returned by read
+ # operations, but ignored in write operations.
+ # Corresponds to the JSON property `numProvisioned`
+ # @return [Fixnum]
+ attr_accessor :num_provisioned
+
+ # The number of purchased licenses (possibly in multiple purchases). If this
+ # field is omitted then there is no limit on the number of licenses that can be
+ # provisioned (e.g. if the acquisition kind is "free").
+ # Corresponds to the JSON property `numPurchased`
+ # @return [Fixnum]
+ attr_accessor :num_purchased
+
+ # The ID of the product that the license is for, e.g. "app:com.google.android.gm"
+ # .
+ # Corresponds to the JSON property `productId`
+ # @return [String]
+ attr_accessor :product_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @acquisition_kind = args[:acquisition_kind] unless args[:acquisition_kind].nil?
+ @approval = args[:approval] unless args[:approval].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @num_provisioned = args[:num_provisioned] unless args[:num_provisioned].nil?
+ @num_purchased = args[:num_purchased] unless args[:num_purchased].nil?
+ @product_id = args[:product_id] unless args[:product_id].nil?
+ end
+ end
+
+ # The user resources for the group license.
+ class ListGroupLicenseUsersResponse
+ include Google::Apis::Core::Hashable
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#groupLicenseUsersListResponse".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # A user of an enterprise.
+ # Corresponds to the JSON property `user`
+ # @return [Array]
+ attr_accessor :user
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @user = args[:user] unless args[:user].nil?
+ end
+ end
+
+ # The grouplicense resources for the enterprise.
+ class ListGroupLicensesResponse
+ include Google::Apis::Core::Hashable
+
+ # A group license for a product approved for use in the enterprise.
+ # Corresponds to the JSON property `groupLicense`
+ # @return [Array]
+ attr_accessor :group_license
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#groupLicensesListResponse".
+ # 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)
+ @group_license = args[:group_license] unless args[:group_license].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # The existence of an install resource indicates that an app is installed on a
+ # particular device (or that an install is pending).
+ # The API can be used to create an install resource using the update method.
+ # This triggers the actual install of the app on the device. If the user does
+ # not already have an entitlement for the app then an attempt is made to create
+ # one. If this fails (e.g. because the app is not free and there is no available
+ # license) then the creation of the install fails.
+ # The API can also be used to update an installed app. If the update method is
+ # used on an existing install then the app will be updated to the latest
+ # available version.
+ # Note that it is not possible to force the installation of a specific version
+ # of an app; the version code is read-only.
+ # If a user installs an app themselves (as permitted by the enterprise), then
+ # again an install resource and possibly an entitlement resource are
+ # automatically created.
+ # The API can also be used to delete an install resource, which triggers the
+ # removal of the app from the device. Note that deleting an install does not
+ # automatically remove the corresponding entitlement, even if there are no
+ # remaining installs. The install resource will also be deleted if the user
+ # uninstalls the app themselves.
+ class Install
+ include Google::Apis::Core::Hashable
+
+ # Install state. The state "installPending" means that an install request has
+ # recently been made and download to the device is in progress. The state "
+ # installed" means that the app has been installed. This field is read-only.
+ # Corresponds to the JSON property `installState`
+ # @return [String]
+ attr_accessor :install_state
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#install".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The ID of the product that the install is for, e.g. "app:com.google.android.gm"
+ # .
+ # Corresponds to the JSON property `productId`
+ # @return [String]
+ attr_accessor :product_id
+
+ # The version of the installed product. Guaranteed to be set only if the install
+ # state is "installed".
+ # Corresponds to the JSON property `versionCode`
+ # @return [Fixnum]
+ attr_accessor :version_code
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @install_state = args[:install_state] unless args[:install_state].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @product_id = args[:product_id] unless args[:product_id].nil?
+ @version_code = args[:version_code] unless args[:version_code].nil?
+ end
+ end
+
+ # The install resources for the device.
+ class ListInstallsResponse
+ include Google::Apis::Core::Hashable
+
+ # An installation of an app for a user on a specific device. The existence of an
+ # install implies that the user must have an entitlement to the app.
+ # Corresponds to the JSON property `install`
+ # @return [Array]
+ attr_accessor :install
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#installsListResponse".
+ # 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)
+ @install = args[:install] unless args[:install].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ # A permission represents some extra capability, to be granted to an Android app,
+ # which requires explicit consent. An enterprise admin must consent to these
+ # permissions on behalf of their users before an entitlement for the app can be
+ # created.
+ # The permissions collection is read-only. The information provided for each
+ # permission (localized name and description) is intended to be used in the MDM
+ # user interface when obtaining consent from the enterprise.
+ class Permission
+ include Google::Apis::Core::Hashable
+
+ # A longer description of the permissions giving more details of what it affects.
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#permission".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The name of the permission.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ # An opaque string uniquely identifying the permission.
+ # Corresponds to the JSON property `permissionId`
+ # @return [String]
+ attr_accessor :permission_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @description = args[:description] unless args[:description].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @name = args[:name] unless args[:name].nil?
+ @permission_id = args[:permission_id] unless args[:permission_id].nil?
+ end
+ end
+
+ # A product represents an app in the Google Play Store that is available to at
+ # least some users in the enterprise. (Some apps are restricted to a single
+ # enterprise, and no information about them is made available outside that
+ # enterprise.)
+ # The information provided for each product (localized name, icon, link to the
+ # full Google Play details page) is intended to allow a basic representation of
+ # the product within an MDM user interface.
+ class Product
+ include Google::Apis::Core::Hashable
+
+ # List of app versions available for this product. The returned list contains
+ # only public versions. E.g. alpha, beta or canary versions will not be included.
+ # Corresponds to the JSON property `appVersion`
+ # @return [Array]
+ attr_accessor :app_version
+
+ # The name of the author of the product (e.g. the app developer).
+ # Corresponds to the JSON property `authorName`
+ # @return [String]
+ attr_accessor :author_name
+
+ # A link to the (consumer) Google Play details page for the product.
+ # Corresponds to the JSON property `detailsUrl`
+ # @return [String]
+ attr_accessor :details_url
+
+ # How and to whom the package is made available.
+ # Corresponds to the JSON property `distributionChannel`
+ # @return [String]
+ attr_accessor :distribution_channel
+
+ # A link to an image that can be used as an icon for the product.
+ # Corresponds to the JSON property `iconUrl`
+ # @return [String]
+ attr_accessor :icon_url
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#product".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # A string of the form "app:
+ # " - e.g. "app:com.google.android.gm" represents the GMail app.
+ # Corresponds to the JSON property `productId`
+ # @return [String]
+ attr_accessor :product_id
+
+ # Whether this app can only be installed on devices using the Android for Work
+ # container app.
+ # Corresponds to the JSON property `requiresContainerApp`
+ # @return [Boolean]
+ attr_accessor :requires_container_app
+ alias_method :requires_container_app?, :requires_container_app
+
+ # The name of the product.
+ # Corresponds to the JSON property `title`
+ # @return [String]
+ attr_accessor :title
+
+ # A link to the Google Play for Work details page for the product, for use by an
+ # Enterprise administrator.
+ # Corresponds to the JSON property `workDetailsUrl`
+ # @return [String]
+ attr_accessor :work_details_url
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @app_version = args[:app_version] unless args[:app_version].nil?
+ @author_name = args[:author_name] unless args[:author_name].nil?
+ @details_url = args[:details_url] unless args[:details_url].nil?
+ @distribution_channel = args[:distribution_channel] unless args[:distribution_channel].nil?
+ @icon_url = args[:icon_url] unless args[:icon_url].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @product_id = args[:product_id] unless args[:product_id].nil?
+ @requires_container_app = args[:requires_container_app] unless args[:requires_container_app].nil?
+ @title = args[:title] unless args[:title].nil?
+ @work_details_url = args[:work_details_url] unless args[:work_details_url].nil?
+ end
+ end
+
+ # A product permissions resource represents the set of permissions required by a
+ # specific app and whether or not they have been accepted by an enterprise admin.
+ # The API can be used to read the set of permissions, and also to update the set
+ # to indicate that permissions have been accepted.
+ class ProductPermission
+ include Google::Apis::Core::Hashable
+
+ # An opaque string uniquely identifying the permission.
+ # Corresponds to the JSON property `permissionId`
+ # @return [String]
+ attr_accessor :permission_id
+
+ # Whether the permission has been accepted or not.
+ # Corresponds to the JSON property `state`
+ # @return [String]
+ attr_accessor :state
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @permission_id = args[:permission_id] unless args[:permission_id].nil?
+ @state = args[:state] unless args[:state].nil?
+ end
+ end
+
+ # Information about the permissions required by a specific app and whether they
+ # have been accepted by the enterprise.
+ class ProductPermissions
+ include Google::Apis::Core::Hashable
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#productPermissions".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The permissions required by the app.
+ # Corresponds to the JSON property `permission`
+ # @return [Array]
+ attr_accessor :permission
+
+ # The ID of the app that the permissions relate to, e.g. "app:com.google.android.
+ # gm".
+ # Corresponds to the JSON property `productId`
+ # @return [String]
+ attr_accessor :product_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @permission = args[:permission] unless args[:permission].nil?
+ @product_id = args[:product_id] unless args[:product_id].nil?
+ end
+ end
+
+ #
+ class ApproveProductRequest
+ include Google::Apis::Core::Hashable
+
+ # Information on an approval URL.
+ # Corresponds to the JSON property `approvalUrlInfo`
+ # @return [Google::Apis::AndroidenterpriseV1::ApprovalUrlInfo]
+ attr_accessor :approval_url_info
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @approval_url_info = args[:approval_url_info] unless args[:approval_url_info].nil?
+ end
+ end
+
+ #
+ class GenerateProductApprovalUrlResponse
+ include Google::Apis::Core::Hashable
+
+ # A iframe-able URL that displays a product's permissions (if any). This URL can
+ # be used to approve the product only once and for a limited time (1 hour),
+ # using the Products.approve call. If the product is not currently approved and
+ # has no permissions, this URL will point to an empty page. If the product is
+ # currently approved and all of its permissions (if any) are also approved, this
+ # field will not be populated.
+ # 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)
+ @url = args[:url] unless args[:url].nil?
+ end
+ end
+
+ # A user resource represents an individual user within the enterprise's domain.
+ # Note that each user is associated with a Google account based on the user's
+ # corporate email address (which must be in one of the enterprise's domains). As
+ # part of installing an MDM app to manage a device the Google account must be
+ # provisioned to the device, and so the user resource must be created before
+ # that. This can be done using the Google Admin SDK Directory API.
+ # The ID for a user is an opaque string. It can be retrieved using the list
+ # method queried by the user's primary email address.
+ class User
+ include Google::Apis::Core::Hashable
+
+ # The unique ID for the user.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#user".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The user's primary email, e.g. "jsmith@example.com".
+ # Corresponds to the JSON property `primaryEmail`
+ # @return [String]
+ attr_accessor :primary_email
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @id = args[:id] unless args[:id].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @primary_email = args[:primary_email] unless args[:primary_email].nil?
+ end
+ end
+
+ # A UserToken is used by a user when setting up a managed device or profile with
+ # their work account on a device. When the user enters their email address and
+ # token (activation code) the appropriate MDM app can be automatically
+ # downloaded.
+ class UserToken
+ include Google::Apis::Core::Hashable
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#userToken".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The token (activation code) to be entered by the user. This consists of a
+ # sequence of decimal digits. Note that the leading digit may be 0.
+ # Corresponds to the JSON property `token`
+ # @return [String]
+ attr_accessor :token
+
+ # The unique ID for the user.
+ # Corresponds to the JSON property `userId`
+ # @return [String]
+ attr_accessor :user_id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @token = args[:token] unless args[:token].nil?
+ @user_id = args[:user_id] unless args[:user_id].nil?
+ end
+ end
+
+ # The matching user resources.
+ class ListUsersResponse
+ include Google::Apis::Core::Hashable
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidenterprise#usersListResponse".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # A user of an enterprise.
+ # Corresponds to the JSON property `user`
+ # @return [Array]
+ attr_accessor :user
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @user = args[:user] unless args[:user].nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/androidenterprise_v1/representations.rb b/generated/google/apis/androidenterprise_v1/representations.rb
new file mode 100644
index 000000000..634aec3cf
--- /dev/null
+++ b/generated/google/apis/androidenterprise_v1/representations.rb
@@ -0,0 +1,431 @@
+# 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 AndroidenterpriseV1
+
+ class AppRestrictionsSchema
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AppRestrictionsSchemaRestriction
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AppRestrictionsSchemaRestrictionRestrictionValue
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AppVersion
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ApprovalUrlInfo
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Collection
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListCollectionViewersResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListCollectionsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Device
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class DeviceState
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListDevicesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Enterprise
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class EnterpriseAccount
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListEnterprisesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Entitlement
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListEntitlementsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class GroupLicense
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListGroupLicenseUsersResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListGroupLicensesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Install
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListInstallsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Permission
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Product
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ProductPermission
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ProductPermissions
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ApproveProductRequest
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class GenerateProductApprovalUrlResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class User
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UserToken
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListUsersResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ # @private
+ class AppRestrictionsSchema
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :restrictions, as: 'restrictions', class: Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestriction, decorator: Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestriction::Representation
+
+ end
+ end
+
+ # @private
+ class AppRestrictionsSchemaRestriction
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :default_value, as: 'defaultValue', class: Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestrictionRestrictionValue, decorator: Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestrictionRestrictionValue::Representation
+
+ property :description, as: 'description'
+ collection :entry, as: 'entry'
+ collection :entry_value, as: 'entryValue'
+ property :key, as: 'key'
+ property :restriction_type, as: 'restrictionType'
+ property :title, as: 'title'
+ end
+ end
+
+ # @private
+ class AppRestrictionsSchemaRestrictionRestrictionValue
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :type, as: 'type'
+ property :value_bool, as: 'valueBool'
+ property :value_integer, as: 'valueInteger'
+ collection :value_multiselect, as: 'valueMultiselect'
+ property :value_string, as: 'valueString'
+ end
+ end
+
+ # @private
+ class AppVersion
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :version_code, as: 'versionCode'
+ property :version_string, as: 'versionString'
+ end
+ end
+
+ # @private
+ class ApprovalUrlInfo
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :approval_url, as: 'approvalUrl'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Collection
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :collection_id, as: 'collectionId'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ collection :product_id, as: 'productId'
+ property :visibility, as: 'visibility'
+ end
+ end
+
+ # @private
+ class ListCollectionViewersResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ collection :user, as: 'user', class: Google::Apis::AndroidenterpriseV1::User, decorator: Google::Apis::AndroidenterpriseV1::User::Representation
+
+ end
+ end
+
+ # @private
+ class ListCollectionsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :collection, as: 'collection', class: Google::Apis::AndroidenterpriseV1::Collection, decorator: Google::Apis::AndroidenterpriseV1::Collection::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Device
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :android_id, as: 'androidId'
+ property :kind, as: 'kind'
+ property :management_type, as: 'managementType'
+ end
+ end
+
+ # @private
+ class DeviceState
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_state, as: 'accountState'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class ListDevicesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :device, as: 'device', class: Google::Apis::AndroidenterpriseV1::Device, decorator: Google::Apis::AndroidenterpriseV1::Device::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Enterprise
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :primary_domain, as: 'primaryDomain'
+ end
+ end
+
+ # @private
+ class EnterpriseAccount
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :account_email, as: 'accountEmail'
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class ListEnterprisesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :enterprise, as: 'enterprise', class: Google::Apis::AndroidenterpriseV1::Enterprise, decorator: Google::Apis::AndroidenterpriseV1::Enterprise::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Entitlement
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ property :product_id, as: 'productId'
+ property :reason, as: 'reason'
+ end
+ end
+
+ # @private
+ class ListEntitlementsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :entitlement, as: 'entitlement', class: Google::Apis::AndroidenterpriseV1::Entitlement, decorator: Google::Apis::AndroidenterpriseV1::Entitlement::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class GroupLicense
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :acquisition_kind, as: 'acquisitionKind'
+ property :approval, as: 'approval'
+ property :kind, as: 'kind'
+ property :num_provisioned, as: 'numProvisioned'
+ property :num_purchased, as: 'numPurchased'
+ property :product_id, as: 'productId'
+ end
+ end
+
+ # @private
+ class ListGroupLicenseUsersResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ collection :user, as: 'user', class: Google::Apis::AndroidenterpriseV1::User, decorator: Google::Apis::AndroidenterpriseV1::User::Representation
+
+ end
+ end
+
+ # @private
+ class ListGroupLicensesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :group_license, as: 'groupLicense', class: Google::Apis::AndroidenterpriseV1::GroupLicense, decorator: Google::Apis::AndroidenterpriseV1::GroupLicense::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Install
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :install_state, as: 'installState'
+ property :kind, as: 'kind'
+ property :product_id, as: 'productId'
+ property :version_code, as: 'versionCode'
+ end
+ end
+
+ # @private
+ class ListInstallsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :install, as: 'install', class: Google::Apis::AndroidenterpriseV1::Install, decorator: Google::Apis::AndroidenterpriseV1::Install::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class Permission
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :description, as: 'description'
+ property :kind, as: 'kind'
+ property :name, as: 'name'
+ property :permission_id, as: 'permissionId'
+ end
+ end
+
+ # @private
+ class Product
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :app_version, as: 'appVersion', class: Google::Apis::AndroidenterpriseV1::AppVersion, decorator: Google::Apis::AndroidenterpriseV1::AppVersion::Representation
+
+ property :author_name, as: 'authorName'
+ property :details_url, as: 'detailsUrl'
+ property :distribution_channel, as: 'distributionChannel'
+ property :icon_url, as: 'iconUrl'
+ property :kind, as: 'kind'
+ property :product_id, as: 'productId'
+ property :requires_container_app, as: 'requiresContainerApp'
+ property :title, as: 'title'
+ property :work_details_url, as: 'workDetailsUrl'
+ end
+ end
+
+ # @private
+ class ProductPermission
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :permission_id, as: 'permissionId'
+ property :state, as: 'state'
+ end
+ end
+
+ # @private
+ class ProductPermissions
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ collection :permission, as: 'permission', class: Google::Apis::AndroidenterpriseV1::ProductPermission, decorator: Google::Apis::AndroidenterpriseV1::ProductPermission::Representation
+
+ property :product_id, as: 'productId'
+ end
+ end
+
+ # @private
+ class ApproveProductRequest
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :approval_url_info, as: 'approvalUrlInfo', class: Google::Apis::AndroidenterpriseV1::ApprovalUrlInfo, decorator: Google::Apis::AndroidenterpriseV1::ApprovalUrlInfo::Representation
+
+ end
+ end
+
+ # @private
+ class GenerateProductApprovalUrlResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :url, as: 'url'
+ end
+ end
+
+ # @private
+ class User
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :kind, as: 'kind'
+ property :primary_email, as: 'primaryEmail'
+ end
+ end
+
+ # @private
+ class UserToken
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ property :token, as: 'token'
+ property :user_id, as: 'userId'
+ end
+ end
+
+ # @private
+ class ListUsersResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ collection :user, as: 'user', class: Google::Apis::AndroidenterpriseV1::User, decorator: Google::Apis::AndroidenterpriseV1::User::Representation
+
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/androidenterprise_v1/service.rb b/generated/google/apis/androidenterprise_v1/service.rb
new file mode 100644
index 000000000..b647b9155
--- /dev/null
+++ b/generated/google/apis/androidenterprise_v1/service.rb
@@ -0,0 +1,1979 @@
+# 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 '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 AndroidenterpriseV1
+ # Google Play EMM API
+ #
+ # Allows MDMs/EMMs and enterprises to manage the deployment of apps to Android
+ # for Work users.
+ #
+ # @example
+ # require 'google/apis/androidenterprise_v1'
+ #
+ # Androidenterprise = Google::Apis::AndroidenterpriseV1 # Alias the module
+ # service = Androidenterprise::AndroidEnterpriseService.new
+ #
+ class AndroidEnterpriseService < Google::Apis::Core::BaseService
+ # @return [String]
+ # API key. Your API key identifies your project and provides you with API access,
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
+ attr_accessor :key
+
+ # @return [String]
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ attr_accessor :quota_user
+
+ # @return [String]
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ attr_accessor :user_ip
+
+ def initialize
+ super('https://www.googleapis.com/', 'androidenterprise/v1/')
+ end
+
+ # Deletes a collection.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] collection_id
+ # The ID of the collection.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_collection(enterprise_id, collection_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections/{collectionId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['collectionId'] = collection_id unless collection_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the details of a collection.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] collection_id
+ # The ID of the collection.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Collection] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Collection]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_collection(enterprise_id, collection_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections/{collectionId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Collection::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Collection
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['collectionId'] = collection_id unless collection_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Creates a new collection.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [Google::Apis::AndroidenterpriseV1::Collection] collection_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Collection] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Collection]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_collection(enterprise_id, collection_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::Collection::Representation
+ command.request_object = collection_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Collection::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Collection
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the IDs of all the collections for an enterprise.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ListCollectionsResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ListCollectionsResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_collections(enterprise_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ListCollectionsResponse::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ListCollectionsResponse
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates a collection. This method supports patch semantics.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] collection_id
+ # The ID of the collection.
+ # @param [Google::Apis::AndroidenterpriseV1::Collection] collection_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Collection] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Collection]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_collection(enterprise_id, collection_id, collection_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections/{collectionId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::Collection::Representation
+ command.request_object = collection_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Collection::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Collection
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['collectionId'] = collection_id unless collection_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates a collection.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] collection_id
+ # The ID of the collection.
+ # @param [Google::Apis::AndroidenterpriseV1::Collection] collection_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Collection] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Collection]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_collection(enterprise_id, collection_id, collection_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections/{collectionId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::Collection::Representation
+ command.request_object = collection_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Collection::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Collection
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['collectionId'] = collection_id unless collection_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Removes the user from the list of those specifically allowed to see the
+ # collection. If the collection's visibility is set to viewersOnly then only
+ # such users will see the collection.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] collection_id
+ # The ID of the collection.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_collection_viewer(enterprise_id, collection_id, user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections/{collectionId}/users/{userId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['collectionId'] = collection_id unless collection_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the ID of the user if they have been specifically allowed to see the
+ # collection. If the collection's visibility is set to viewersOnly then only
+ # these users will see the collection.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] collection_id
+ # The ID of the collection.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::User] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::User]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_collection_viewer(enterprise_id, collection_id, user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections/{collectionId}/users/{userId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::User::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::User
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['collectionId'] = collection_id unless collection_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the IDs of the users who have been specifically allowed to see the
+ # collection. If the collection's visibility is set to viewersOnly then only
+ # these users will see the collection.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] collection_id
+ # The ID of the collection.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ListCollectionViewersResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ListCollectionViewersResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_collection_viewers(enterprise_id, collection_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections/{collectionId}/users'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ListCollectionViewersResponse::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ListCollectionViewersResponse
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['collectionId'] = collection_id unless collection_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Adds the user to the list of those specifically allowed to see the collection.
+ # If the collection's visibility is set to viewersOnly then only such users will
+ # see the collection. This method supports patch semantics.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] collection_id
+ # The ID of the collection.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [Google::Apis::AndroidenterpriseV1::User] user_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::User] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::User]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_collection_viewer(enterprise_id, collection_id, user_id, user_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections/{collectionId}/users/{userId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::User::Representation
+ command.request_object = user_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::User::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::User
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['collectionId'] = collection_id unless collection_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Adds the user to the list of those specifically allowed to see the collection.
+ # If the collection's visibility is set to viewersOnly then only such users will
+ # see the collection.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] collection_id
+ # The ID of the collection.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [Google::Apis::AndroidenterpriseV1::User] user_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::User] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::User]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_collection_viewer(enterprise_id, collection_id, user_id, user_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/collections/{collectionId}/users/{userId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::User::Representation
+ command.request_object = user_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::User::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::User
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['collectionId'] = collection_id unless collection_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the details of a device.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] device_id
+ # The ID of the device.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Device] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Device]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_device(enterprise_id, user_id, device_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Device::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Device
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves whether a device is enabled or disabled for access by the user to
+ # Google services. The device state takes effect only if enforcing EMM policies
+ # on Android devices is enabled in the Google Admin Console. Otherwise, the
+ # device state is ignored and all devices are allowed access to Google services.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] device_id
+ # The ID of the device.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::DeviceState] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::DeviceState]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_state_device(enterprise_id, user_id, device_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::DeviceState::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::DeviceState
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the IDs of all of a user's devices.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ListDevicesResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ListDevicesResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_devices(enterprise_id, user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/devices'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ListDevicesResponse::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ListDevicesResponse
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Sets whether a device is enabled or disabled for access by the user to Google
+ # services. The device state takes effect only if enforcing EMM policies on
+ # Android devices is enabled in the Google Admin Console. Otherwise, the device
+ # state is ignored and all devices are allowed access to Google services.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] device_id
+ # The ID of the device.
+ # @param [Google::Apis::AndroidenterpriseV1::DeviceState] device_state_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::DeviceState] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::DeviceState]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def set_state_device(enterprise_id, user_id, device_id, device_state_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::DeviceState::Representation
+ command.request_object = device_state_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::DeviceState::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::DeviceState
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes the binding between the MDM and enterprise. This is now deprecated;
+ # use this to unenroll customers that were previously enrolled with the 'insert'
+ # call, then enroll them again with the 'enroll' call.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_enterprise(enterprise_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Enrolls an enterprise with the calling MDM.
+ # @param [Google::Apis::AndroidenterpriseV1::Enterprise] enterprise_object
+ # @param [String] token
+ # The token provided by the enterprise to register the MDM.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Enterprise] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Enterprise]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def enroll_enterprise(enterprise_object = nil, token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/enroll'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::Enterprise::Representation
+ command.request_object = enterprise_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Enterprise::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Enterprise
+ command.query['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the name and domain of an enterprise.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Enterprise] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Enterprise]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_enterprise(enterprise_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Enterprise::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Enterprise
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Establishes the binding between the MDM and an enterprise. This is now
+ # deprecated; use enroll instead.
+ # @param [Google::Apis::AndroidenterpriseV1::Enterprise] enterprise_object
+ # @param [String] token
+ # The token provided by the enterprise to register the MDM.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Enterprise] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Enterprise]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_enterprise(enterprise_object = nil, token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::Enterprise::Representation
+ command.request_object = enterprise_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Enterprise::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Enterprise
+ command.query['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Looks up an enterprise by domain name.
+ # @param [String] domain
+ # The exact primary domain name of the enterprise to look up.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ListEnterprisesResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ListEnterprisesResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_enterprises(domain: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ListEnterprisesResponse::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ListEnterprisesResponse
+ command.query['domain'] = domain unless domain.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Set the account that will be used to authenticate to the API as the enterprise.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [Google::Apis::AndroidenterpriseV1::EnterpriseAccount] enterprise_account_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::EnterpriseAccount] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::EnterpriseAccount]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def set_account_enterprise(enterprise_id, enterprise_account_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/account'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::EnterpriseAccount::Representation
+ command.request_object = enterprise_account_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::EnterpriseAccount::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::EnterpriseAccount
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Unenrolls an enterprise from the calling MDM.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def unenroll_enterprise(enterprise_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/unenroll'
+ command = make_simple_command(:post, path, options)
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Removes an entitlement to an app for a user and uninstalls it.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] entitlement_id
+ # The ID of the entitlement, e.g. "app:com.google.android.gm".
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_entitlement(enterprise_id, user_id, entitlement_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['entitlementId'] = entitlement_id unless entitlement_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves details of an entitlement.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] entitlement_id
+ # The ID of the entitlement, e.g. "app:com.google.android.gm".
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Entitlement] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Entitlement]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_entitlement(enterprise_id, user_id, entitlement_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Entitlement::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Entitlement
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['entitlementId'] = entitlement_id unless entitlement_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List of all entitlements for the specified user. Only the ID is set.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ListEntitlementsResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ListEntitlementsResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_entitlements(enterprise_id, user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/entitlements'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ListEntitlementsResponse::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ListEntitlementsResponse
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Adds or updates an entitlement to an app for a user. This method supports
+ # patch semantics.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] entitlement_id
+ # The ID of the entitlement, e.g. "app:com.google.android.gm".
+ # @param [Google::Apis::AndroidenterpriseV1::Entitlement] entitlement_object
+ # @param [Boolean] install
+ # Set to true to also install the product on all the user's devices where
+ # possible. Failure to install on one or more devices will not prevent this
+ # operation from returning successfully, as long as the entitlement was
+ # successfully assigned to the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Entitlement] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Entitlement]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_entitlement(enterprise_id, user_id, entitlement_id, entitlement_object = nil, install: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::Entitlement::Representation
+ command.request_object = entitlement_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Entitlement::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Entitlement
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['entitlementId'] = entitlement_id unless entitlement_id.nil?
+ command.query['install'] = install unless install.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Adds or updates an entitlement to an app for a user.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] entitlement_id
+ # The ID of the entitlement, e.g. "app:com.google.android.gm".
+ # @param [Google::Apis::AndroidenterpriseV1::Entitlement] entitlement_object
+ # @param [Boolean] install
+ # Set to true to also install the product on all the user's devices where
+ # possible. Failure to install on one or more devices will not prevent this
+ # operation from returning successfully, as long as the entitlement was
+ # successfully assigned to the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Entitlement] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Entitlement]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_entitlement(enterprise_id, user_id, entitlement_id, entitlement_object = nil, install: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::Entitlement::Representation
+ command.request_object = entitlement_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Entitlement::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Entitlement
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['entitlementId'] = entitlement_id unless entitlement_id.nil?
+ command.query['install'] = install unless install.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves details of an enterprise's group license for a product.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] group_license_id
+ # The ID of the product the group license is for, e.g. "app:com.google.android.
+ # gm".
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::GroupLicense] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::GroupLicense]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_group_license(enterprise_id, group_license_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::GroupLicense::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::GroupLicense
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['groupLicenseId'] = group_license_id unless group_license_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves IDs of all products for which the enterprise has a group license.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ListGroupLicensesResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ListGroupLicensesResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_group_licenses(enterprise_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/groupLicenses'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ListGroupLicensesResponse::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ListGroupLicensesResponse
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the IDs of the users who have been granted entitlements under the
+ # license.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] group_license_id
+ # The ID of the product the group license is for, e.g. "app:com.google.android.
+ # gm".
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ListGroupLicenseUsersResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ListGroupLicenseUsersResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_group_license_users(enterprise_id, group_license_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}/users'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ListGroupLicenseUsersResponse::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ListGroupLicenseUsersResponse
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['groupLicenseId'] = group_license_id unless group_license_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Requests to remove an app from a device. A call to get or list will still show
+ # the app as installed on the device until it is actually removed.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] device_id
+ # The Android ID of the device.
+ # @param [String] install_id
+ # The ID of the product represented by the install, e.g. "app:com.google.android.
+ # gm".
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_install(enterprise_id, user_id, device_id, install_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.params['installId'] = install_id unless install_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves details of an installation of an app on a device.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] device_id
+ # The Android ID of the device.
+ # @param [String] install_id
+ # The ID of the product represented by the install, e.g. "app:com.google.android.
+ # gm".
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Install] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Install]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_install(enterprise_id, user_id, device_id, install_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Install::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Install
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.params['installId'] = install_id unless install_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the details of all apps installed on the specified device.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] device_id
+ # The Android ID of the device.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ListInstallsResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ListInstallsResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_installs(enterprise_id, user_id, device_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ListInstallsResponse::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ListInstallsResponse
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Requests to install the latest version of an app to a device. If the app is
+ # already installed then it is updated to the latest version if necessary. This
+ # method supports patch semantics.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] device_id
+ # The Android ID of the device.
+ # @param [String] install_id
+ # The ID of the product represented by the install, e.g. "app:com.google.android.
+ # gm".
+ # @param [Google::Apis::AndroidenterpriseV1::Install] install_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Install] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Install]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_install(enterprise_id, user_id, device_id, install_id, install_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::Install::Representation
+ command.request_object = install_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Install::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Install
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.params['installId'] = install_id unless install_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Requests to install the latest version of an app to a device. If the app is
+ # already installed then it is updated to the latest version if necessary.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] device_id
+ # The Android ID of the device.
+ # @param [String] install_id
+ # The ID of the product represented by the install, e.g. "app:com.google.android.
+ # gm".
+ # @param [Google::Apis::AndroidenterpriseV1::Install] install_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Install] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Install]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_install(enterprise_id, user_id, device_id, install_id, install_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::Install::Representation
+ command.request_object = install_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Install::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Install
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.params['deviceId'] = device_id unless device_id.nil?
+ command.params['installId'] = install_id unless install_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves details of an Android app permission for display to an enterprise
+ # admin.
+ # @param [String] permission_id
+ # The ID of the permission.
+ # @param [String] language
+ # The BCP47 tag for the user's preferred language (e.g. "en-US", "de")
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Permission] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Permission]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_permission(permission_id, language: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'permissions/{permissionId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Permission::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Permission
+ command.params['permissionId'] = permission_id unless permission_id.nil?
+ command.query['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Approves the specified product (and the relevant app permissions, if any).
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] product_id
+ # The ID of the product.
+ # @param [Google::Apis::AndroidenterpriseV1::ApproveProductRequest] approve_product_request_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def approve_product(enterprise_id, product_id, approve_product_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/products/{productId}/approve'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::ApproveProductRequest::Representation
+ command.request_object = approve_product_request_object
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['productId'] = product_id unless product_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generates a URL that can be used to display an iframe to view the product's
+ # permissions (if any) and approve the product. This URL can be used to approve
+ # the product for a limited time (currently 1 hour) using the Products.approve
+ # call.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] product_id
+ # The ID of the product.
+ # @param [String] language_code
+ # The language code that will be used for permission names and descriptions in
+ # the returned iframe.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::GenerateProductApprovalUrlResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::GenerateProductApprovalUrlResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_product_approval_url(enterprise_id, product_id, language_code: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl'
+ command = make_simple_command(:post, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::GenerateProductApprovalUrlResponse::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::GenerateProductApprovalUrlResponse
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['productId'] = product_id unless product_id.nil?
+ command.query['languageCode'] = language_code unless language_code.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves details of a product for display to an enterprise admin.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] product_id
+ # The ID of the product, e.g. "app:com.google.android.gm".
+ # @param [String] language
+ # The BCP47 tag for the user's preferred language (e.g. "en-US", "de").
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::Product] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::Product]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_product(enterprise_id, product_id, language: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/products/{productId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::Product::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::Product
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['productId'] = product_id unless product_id.nil?
+ command.query['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the schema defining app restrictions configurable for this product.
+ # All products have a schema, but this may be empty if no app restrictions are
+ # defined.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] product_id
+ # The ID of the product.
+ # @param [String] language
+ # The BCP47 tag for the user's preferred language (e.g. "en-US", "de").
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::AppRestrictionsSchema] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::AppRestrictionsSchema]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_product_app_restrictions_schema(enterprise_id, product_id, language: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::AppRestrictionsSchema::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::AppRestrictionsSchema
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['productId'] = product_id unless product_id.nil?
+ command.query['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves the Android app permissions required by this app.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] product_id
+ # The ID of the product.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ProductPermissions] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ProductPermissions]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_product_permissions(enterprise_id, product_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/products/{productId}/permissions'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ProductPermissions::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ProductPermissions
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['productId'] = product_id unless product_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates the set of Android app permissions for this app that have been
+ # accepted by the enterprise.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] product_id
+ # The ID of the product.
+ # @param [Google::Apis::AndroidenterpriseV1::ProductPermissions] product_permissions_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ProductPermissions] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ProductPermissions]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_product_permissions(enterprise_id, product_id, product_permissions_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/products/{productId}/permissions'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidenterpriseV1::ProductPermissions::Representation
+ command.request_object = product_permissions_object
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ProductPermissions::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ProductPermissions
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['productId'] = product_id unless product_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Generates a token (activation code) to allow this user to configure their work
+ # account in the Android Setup Wizard. Revokes any previously generated token.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::UserToken] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::UserToken]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def generate_user_token(enterprise_id, user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/token'
+ command = make_simple_command(:post, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::UserToken::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::UserToken
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Retrieves a user's details.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::User] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::User]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_user(enterprise_id, user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::User::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::User
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Looks up a user by email address.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] email
+ # The exact primary email address of the user to look up.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidenterpriseV1::ListUsersResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidenterpriseV1::ListUsersResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_users(enterprise_id, email: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidenterpriseV1::ListUsersResponse::Representation
+ command.response_class = Google::Apis::AndroidenterpriseV1::ListUsersResponse
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.query['email'] = email unless email.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Revokes a previously generated token (activation code) for the user.
+ # @param [String] enterprise_id
+ # The ID of the enterprise.
+ # @param [String] user_id
+ # The ID of the user.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def revoke_user_token(enterprise_id, user_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'enterprises/{enterpriseId}/users/{userId}/token'
+ command = make_simple_command(:delete, path, options)
+ command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
+ command.params['userId'] = user_id unless user_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ protected
+
+ def apply_command_defaults(command)
+ command.query['key'] = key unless key.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/androidpublisher_v2.rb b/generated/google/apis/androidpublisher_v2.rb
new file mode 100644
index 000000000..967b49c21
--- /dev/null
+++ b/generated/google/apis/androidpublisher_v2.rb
@@ -0,0 +1,34 @@
+# 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 'google/apis/androidpublisher_v2/service.rb'
+require 'google/apis/androidpublisher_v2/classes.rb'
+require 'google/apis/androidpublisher_v2/representations.rb'
+
+module Google
+ module Apis
+ # Google Play Developer API
+ #
+ # Lets Android application developers access their Google Play accounts.
+ #
+ # @see https://developers.google.com/android-publisher
+ module AndroidpublisherV2
+ VERSION = 'V2'
+ REVISION = '20150316'
+
+ # View and manage your Google Play Developer account
+ AUTH_ANDROIDPUBLISHER = 'https://www.googleapis.com/auth/androidpublisher'
+ end
+ end
+end
diff --git a/generated/google/apis/androidpublisher_v2/classes.rb b/generated/google/apis/androidpublisher_v2/classes.rb
new file mode 100644
index 000000000..6b7e98512
--- /dev/null
+++ b/generated/google/apis/androidpublisher_v2/classes.rb
@@ -0,0 +1,1374 @@
+# 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 AndroidpublisherV2
+
+ #
+ class Apk
+ include Google::Apis::Core::Hashable
+
+ # Represents the binary payload of an APK.
+ # Corresponds to the JSON property `binary`
+ # @return [Google::Apis::AndroidpublisherV2::ApkBinary]
+ attr_accessor :binary
+
+ # The version code of the APK, as specified in the APK's manifest file.
+ # Corresponds to the JSON property `versionCode`
+ # @return [Fixnum]
+ attr_accessor :version_code
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @binary = args[:binary] unless args[:binary].nil?
+ @version_code = args[:version_code] unless args[:version_code].nil?
+ end
+ end
+
+ # Represents the binary payload of an APK.
+ class ApkBinary
+ include Google::Apis::Core::Hashable
+
+ # A sha1 hash of the APK payload, encoded as a hex string and matching the
+ # output of the sha1sum command.
+ # Corresponds to the JSON property `sha1`
+ # @return [String]
+ attr_accessor :sha1
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @sha1 = args[:sha1] unless args[:sha1].nil?
+ end
+ end
+
+ #
+ class ApkListing
+ include Google::Apis::Core::Hashable
+
+ # The language code, in BCP 47 format (eg "en-US").
+ # Corresponds to the JSON property `language`
+ # @return [String]
+ attr_accessor :language
+
+ # Describe what's new in your APK.
+ # Corresponds to the JSON property `recentChanges`
+ # @return [String]
+ attr_accessor :recent_changes
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @language = args[:language] unless args[:language].nil?
+ @recent_changes = args[:recent_changes] unless args[:recent_changes].nil?
+ end
+ end
+
+ #
+ class ListApkListingsResponse
+ include Google::Apis::Core::Hashable
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidpublisher#apkListingsListResponse".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ #
+ # Corresponds to the JSON property `listings`
+ # @return [Array]
+ attr_accessor :listings
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @listings = args[:listings] unless args[:listings].nil?
+ end
+ end
+
+ #
+ class ApksAddExternallyHostedRequest
+ include Google::Apis::Core::Hashable
+
+ # Defines an APK available for this application that is hosted externally and
+ # not uploaded to Google Play. This function is only available to enterprises
+ # who are using Google Play for Work, and whos application is restricted to the
+ # enterprise private channel
+ # Corresponds to the JSON property `externallyHostedApk`
+ # @return [Google::Apis::AndroidpublisherV2::ExternallyHostedApk]
+ attr_accessor :externally_hosted_apk
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @externally_hosted_apk = args[:externally_hosted_apk] unless args[:externally_hosted_apk].nil?
+ end
+ end
+
+ #
+ class ApksAddExternallyHostedResponse
+ include Google::Apis::Core::Hashable
+
+ # Defines an APK available for this application that is hosted externally and
+ # not uploaded to Google Play. This function is only available to enterprises
+ # who are using Google Play for Work, and whos application is restricted to the
+ # enterprise private channel
+ # Corresponds to the JSON property `externallyHostedApk`
+ # @return [Google::Apis::AndroidpublisherV2::ExternallyHostedApk]
+ attr_accessor :externally_hosted_apk
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @externally_hosted_apk = args[:externally_hosted_apk] unless args[:externally_hosted_apk].nil?
+ end
+ end
+
+ #
+ class ListApksResponse
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `apks`
+ # @return [Array]
+ attr_accessor :apks
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidpublisher#apksListResponse".
+ # 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)
+ @apks = args[:apks] unless args[:apks].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class AppDetails
+ include Google::Apis::Core::Hashable
+
+ # The user-visible support email for this app.
+ # Corresponds to the JSON property `contactEmail`
+ # @return [String]
+ attr_accessor :contact_email
+
+ # The user-visible support telephone number for this app.
+ # Corresponds to the JSON property `contactPhone`
+ # @return [String]
+ attr_accessor :contact_phone
+
+ # The user-visible website for this app.
+ # Corresponds to the JSON property `contactWebsite`
+ # @return [String]
+ attr_accessor :contact_website
+
+ # Default language code, in BCP 47 format (eg "en-US").
+ # Corresponds to the JSON property `defaultLanguage`
+ # @return [String]
+ attr_accessor :default_language
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @contact_email = args[:contact_email] unless args[:contact_email].nil?
+ @contact_phone = args[:contact_phone] unless args[:contact_phone].nil?
+ @contact_website = args[:contact_website] unless args[:contact_website].nil?
+ @default_language = args[:default_language] unless args[:default_language].nil?
+ end
+ end
+
+ # Represents an edit of an app. An edit allows clients to make multiple changes
+ # before committing them in one operation.
+ class AppEdit
+ include Google::Apis::Core::Hashable
+
+ # The time at which the edit will expire and will be no longer valid for use in
+ # any subsequent API calls (encoded as seconds since the Epoch).
+ # Corresponds to the JSON property `expiryTimeSeconds`
+ # @return [String]
+ attr_accessor :expiry_time_seconds
+
+ # The ID of the edit that can be used in subsequent API calls.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @expiry_time_seconds = args[:expiry_time_seconds] unless args[:expiry_time_seconds].nil?
+ @id = args[:id] unless args[:id].nil?
+ end
+ end
+
+ # An Entitlement resource indicates a user's current entitlement to an inapp
+ # item or subscription.
+ class Entitlement
+ include Google::Apis::Core::Hashable
+
+ # This kind represents an entitlement object in the androidpublisher service.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The SKU of the product.
+ # Corresponds to the JSON property `productId`
+ # @return [String]
+ attr_accessor :product_id
+
+ # The type of the inapp product. Possible values are:
+ # - In-app item: "inapp"
+ # - Subscription: "subs"
+ # Corresponds to the JSON property `productType`
+ # @return [String]
+ attr_accessor :product_type
+
+ # The token which can be verified using the subscriptions or products API.
+ # Corresponds to the JSON property `token`
+ # @return [String]
+ attr_accessor :token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @product_id = args[:product_id] unless args[:product_id].nil?
+ @product_type = args[:product_type] unless args[:product_type].nil?
+ @token = args[:token] unless args[:token].nil?
+ end
+ end
+
+ #
+ class ListEntitlementsResponse
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `pageInfo`
+ # @return [Google::Apis::AndroidpublisherV2::PageInfo]
+ attr_accessor :page_info
+
+ #
+ # Corresponds to the JSON property `resources`
+ # @return [Array]
+ attr_accessor :resources
+
+ #
+ # Corresponds to the JSON property `tokenPagination`
+ # @return [Google::Apis::AndroidpublisherV2::TokenPagination]
+ attr_accessor :token_pagination
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @page_info = args[:page_info] unless args[:page_info].nil?
+ @resources = args[:resources] unless args[:resources].nil?
+ @token_pagination = args[:token_pagination] unless args[:token_pagination].nil?
+ end
+ end
+
+ #
+ class ExpansionFile
+ include Google::Apis::Core::Hashable
+
+ # If set this field indicates that this APK has an Expansion File uploaded to it:
+ # this APK does not reference another APK's Expansion File. The field's value
+ # is the size of the uploaded Expansion File in bytes.
+ # Corresponds to the JSON property `fileSize`
+ # @return [String]
+ attr_accessor :file_size
+
+ # If set this APK's Expansion File references another APK's Expansion File. The
+ # file_size field will not be set.
+ # Corresponds to the JSON property `referencesVersion`
+ # @return [Fixnum]
+ attr_accessor :references_version
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @file_size = args[:file_size] unless args[:file_size].nil?
+ @references_version = args[:references_version] unless args[:references_version].nil?
+ end
+ end
+
+ #
+ class UploadExpansionFilesResponse
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `expansionFile`
+ # @return [Google::Apis::AndroidpublisherV2::ExpansionFile]
+ attr_accessor :expansion_file
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @expansion_file = args[:expansion_file] unless args[:expansion_file].nil?
+ end
+ end
+
+ # Defines an APK available for this application that is hosted externally and
+ # not uploaded to Google Play. This function is only available to enterprises
+ # who are using Google Play for Work, and whos application is restricted to the
+ # enterprise private channel
+ class ExternallyHostedApk
+ include Google::Apis::Core::Hashable
+
+ # The application label.
+ # Corresponds to the JSON property `applicationLabel`
+ # @return [String]
+ attr_accessor :application_label
+
+ # A certificate (or array of certificates if a certificate-chain is used) used
+ # to signed this APK, represented as a base64 encoded byte array.
+ # Corresponds to the JSON property `certificateBase64s`
+ # @return [Array]
+ attr_accessor :certificate_base64s
+
+ # The URL at which the APK is hosted. This must be an https URL.
+ # Corresponds to the JSON property `externallyHostedUrl`
+ # @return [String]
+ attr_accessor :externally_hosted_url
+
+ # The SHA1 checksum of this APK, represented as a base64 encoded byte array.
+ # Corresponds to the JSON property `fileSha1Base64`
+ # @return [String]
+ attr_accessor :file_sha1_base64
+
+ # The SHA256 checksum of this APK, represented as a base64 encoded byte array.
+ # Corresponds to the JSON property `fileSha256Base64`
+ # @return [String]
+ attr_accessor :file_sha256_base64
+
+ # The file size in bytes of this APK.
+ # Corresponds to the JSON property `fileSize`
+ # @return [String]
+ attr_accessor :file_size
+
+ # The icon image from the APK, as a base64 encoded byte array.
+ # Corresponds to the JSON property `iconBase64`
+ # @return [String]
+ attr_accessor :icon_base64
+
+ # The maximum SDK supported by this APK (optional).
+ # Corresponds to the JSON property `maximumSdk`
+ # @return [Fixnum]
+ attr_accessor :maximum_sdk
+
+ # The minimum SDK targeted by this APK.
+ # Corresponds to the JSON property `minimumSdk`
+ # @return [Fixnum]
+ attr_accessor :minimum_sdk
+
+ # The native code environments supported by this APK (optional).
+ # Corresponds to the JSON property `nativeCodes`
+ # @return [Array]
+ attr_accessor :native_codes
+
+ # The package name.
+ # Corresponds to the JSON property `packageName`
+ # @return [String]
+ attr_accessor :package_name
+
+ # The features required by this APK (optional).
+ # Corresponds to the JSON property `usesFeatures`
+ # @return [Array]
+ attr_accessor :uses_features
+
+ # The permissions requested by this APK.
+ # Corresponds to the JSON property `usesPermissions`
+ # @return [Array]
+ attr_accessor :uses_permissions
+
+ # The version code of this APK.
+ # Corresponds to the JSON property `versionCode`
+ # @return [Fixnum]
+ attr_accessor :version_code
+
+ # The version name of this APK.
+ # Corresponds to the JSON property `versionName`
+ # @return [String]
+ attr_accessor :version_name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @application_label = args[:application_label] unless args[:application_label].nil?
+ @certificate_base64s = args[:certificate_base64s] unless args[:certificate_base64s].nil?
+ @externally_hosted_url = args[:externally_hosted_url] unless args[:externally_hosted_url].nil?
+ @file_sha1_base64 = args[:file_sha1_base64] unless args[:file_sha1_base64].nil?
+ @file_sha256_base64 = args[:file_sha256_base64] unless args[:file_sha256_base64].nil?
+ @file_size = args[:file_size] unless args[:file_size].nil?
+ @icon_base64 = args[:icon_base64] unless args[:icon_base64].nil?
+ @maximum_sdk = args[:maximum_sdk] unless args[:maximum_sdk].nil?
+ @minimum_sdk = args[:minimum_sdk] unless args[:minimum_sdk].nil?
+ @native_codes = args[:native_codes] unless args[:native_codes].nil?
+ @package_name = args[:package_name] unless args[:package_name].nil?
+ @uses_features = args[:uses_features] unless args[:uses_features].nil?
+ @uses_permissions = args[:uses_permissions] unless args[:uses_permissions].nil?
+ @version_code = args[:version_code] unless args[:version_code].nil?
+ @version_name = args[:version_name] unless args[:version_name].nil?
+ end
+ end
+
+ # A permission used by this APK.
+ class ExternallyHostedApkUsesPermission
+ include Google::Apis::Core::Hashable
+
+ # Optionally, the maximum SDK version for which the permission is required.
+ # Corresponds to the JSON property `maxSdkVersion`
+ # @return [Fixnum]
+ attr_accessor :max_sdk_version
+
+ # The name of the permission requested.
+ # 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)
+ @max_sdk_version = args[:max_sdk_version] unless args[:max_sdk_version].nil?
+ @name = args[:name] unless args[:name].nil?
+ end
+ end
+
+ #
+ class Image
+ include Google::Apis::Core::Hashable
+
+ # A unique id representing this image.
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ # A sha1 hash of the image that was uploaded.
+ # Corresponds to the JSON property `sha1`
+ # @return [String]
+ attr_accessor :sha1
+
+ # A URL that will serve a preview of the image.
+ # 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)
+ @id = args[:id] unless args[:id].nil?
+ @sha1 = args[:sha1] unless args[:sha1].nil?
+ @url = args[:url] unless args[:url].nil?
+ end
+ end
+
+ #
+ class ImagesDeleteAllResponse
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `deleted`
+ # @return [Array]
+ attr_accessor :deleted
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @deleted = args[:deleted] unless args[:deleted].nil?
+ end
+ end
+
+ #
+ class ListImagesResponse
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `images`
+ # @return [Array]
+ attr_accessor :images
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @images = args[:images] unless args[:images].nil?
+ end
+ end
+
+ #
+ class UploadImagesResponse
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `image`
+ # @return [Google::Apis::AndroidpublisherV2::Image]
+ attr_accessor :image
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @image = args[:image] unless args[:image].nil?
+ end
+ end
+
+ #
+ class InAppProduct
+ include Google::Apis::Core::Hashable
+
+ # The default language of the localized data, as defined by BCP 47. e.g. "en-US",
+ # "en-GB".
+ # Corresponds to the JSON property `defaultLanguage`
+ # @return [String]
+ attr_accessor :default_language
+
+ # Default price cannot be zero. In-app products can never be free. Default price
+ # is always in the developer's Checkout merchant currency.
+ # Corresponds to the JSON property `defaultPrice`
+ # @return [Google::Apis::AndroidpublisherV2::Price]
+ attr_accessor :default_price
+
+ # List of localized title and description data.
+ # Corresponds to the JSON property `listings`
+ # @return [Hash]
+ attr_accessor :listings
+
+ # The package name of the parent app.
+ # Corresponds to the JSON property `packageName`
+ # @return [String]
+ attr_accessor :package_name
+
+ # Prices per buyer region. None of these prices should be zero. In-app products
+ # can never be free.
+ # Corresponds to the JSON property `prices`
+ # @return [Hash]
+ attr_accessor :prices
+
+ # Purchase type enum value. Unmodifiable after creation.
+ # Corresponds to the JSON property `purchaseType`
+ # @return [String]
+ attr_accessor :purchase_type
+
+ # Definition of a season for a seasonal subscription. Can be defined only for
+ # yearly subscriptions.
+ # Corresponds to the JSON property `season`
+ # @return [Google::Apis::AndroidpublisherV2::Season]
+ attr_accessor :season
+
+ # The stock-keeping-unit (SKU) of the product, unique within an app.
+ # Corresponds to the JSON property `sku`
+ # @return [String]
+ attr_accessor :sku
+
+ #
+ # Corresponds to the JSON property `status`
+ # @return [String]
+ attr_accessor :status
+
+ # The period of the subscription (if any), i.e. period at which payments must
+ # happen. Defined as ISO 8601 duration, i.e. "P1M" for 1 month period.
+ # Corresponds to the JSON property `subscriptionPeriod`
+ # @return [String]
+ attr_accessor :subscription_period
+
+ # Trial period, specified in ISO 8601 format. Acceptable values are anything
+ # between "P7D" (seven days) and "P999D" (999 days). Seasonal subscriptions
+ # cannot have a trial period.
+ # Corresponds to the JSON property `trialPeriod`
+ # @return [String]
+ attr_accessor :trial_period
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @default_language = args[:default_language] unless args[:default_language].nil?
+ @default_price = args[:default_price] unless args[:default_price].nil?
+ @listings = args[:listings] unless args[:listings].nil?
+ @package_name = args[:package_name] unless args[:package_name].nil?
+ @prices = args[:prices] unless args[:prices].nil?
+ @purchase_type = args[:purchase_type] unless args[:purchase_type].nil?
+ @season = args[:season] unless args[:season].nil?
+ @sku = args[:sku] unless args[:sku].nil?
+ @status = args[:status] unless args[:status].nil?
+ @subscription_period = args[:subscription_period] unless args[:subscription_period].nil?
+ @trial_period = args[:trial_period] unless args[:trial_period].nil?
+ end
+ end
+
+ #
+ class InAppProductListing
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `description`
+ # @return [String]
+ attr_accessor :description
+
+ #
+ # Corresponds to the JSON property `title`
+ # @return [String]
+ attr_accessor :title
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @description = args[:description] unless args[:description].nil?
+ @title = args[:title] unless args[:title].nil?
+ end
+ end
+
+ #
+ class InAppProductsBatchRequest
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `entrys`
+ # @return [Array]
+ attr_accessor :entrys
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @entrys = args[:entrys] unless args[:entrys].nil?
+ end
+ end
+
+ #
+ class InAppProductsBatchRequestEntry
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `batchId`
+ # @return [Fixnum]
+ attr_accessor :batch_id
+
+ #
+ # Corresponds to the JSON property `inappproductsinsertrequest`
+ # @return [Google::Apis::AndroidpublisherV2::InsertInAppProductsRequest]
+ attr_accessor :inappproductsinsertrequest
+
+ #
+ # Corresponds to the JSON property `inappproductsupdaterequest`
+ # @return [Google::Apis::AndroidpublisherV2::UpdateInAppProductsRequest]
+ attr_accessor :inappproductsupdaterequest
+
+ #
+ # Corresponds to the JSON property `methodName`
+ # @return [String]
+ attr_accessor :method_name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
+ @inappproductsinsertrequest = args[:inappproductsinsertrequest] unless args[:inappproductsinsertrequest].nil?
+ @inappproductsupdaterequest = args[:inappproductsupdaterequest] unless args[:inappproductsupdaterequest].nil?
+ @method_name = args[:method_name] unless args[:method_name].nil?
+ end
+ end
+
+ #
+ class InAppProductsBatchResponse
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `entrys`
+ # @return [Array]
+ attr_accessor :entrys
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidpublisher#inappproductsBatchResponse".
+ # 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)
+ @entrys = args[:entrys] unless args[:entrys].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ end
+ end
+
+ #
+ class InAppProductsBatchResponseEntry
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `batchId`
+ # @return [Fixnum]
+ attr_accessor :batch_id
+
+ #
+ # Corresponds to the JSON property `inappproductsinsertresponse`
+ # @return [Google::Apis::AndroidpublisherV2::InsertInAppProductsResponse]
+ attr_accessor :inappproductsinsertresponse
+
+ #
+ # Corresponds to the JSON property `inappproductsupdateresponse`
+ # @return [Google::Apis::AndroidpublisherV2::UpdateInAppProductsResponse]
+ attr_accessor :inappproductsupdateresponse
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @batch_id = args[:batch_id] unless args[:batch_id].nil?
+ @inappproductsinsertresponse = args[:inappproductsinsertresponse] unless args[:inappproductsinsertresponse].nil?
+ @inappproductsupdateresponse = args[:inappproductsupdateresponse] unless args[:inappproductsupdateresponse].nil?
+ end
+ end
+
+ #
+ class InsertInAppProductsRequest
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `inappproduct`
+ # @return [Google::Apis::AndroidpublisherV2::InAppProduct]
+ attr_accessor :inappproduct
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @inappproduct = args[:inappproduct] unless args[:inappproduct].nil?
+ end
+ end
+
+ #
+ class InsertInAppProductsResponse
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `inappproduct`
+ # @return [Google::Apis::AndroidpublisherV2::InAppProduct]
+ attr_accessor :inappproduct
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @inappproduct = args[:inappproduct] unless args[:inappproduct].nil?
+ end
+ end
+
+ #
+ class ListInAppProductsResponse
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `inappproduct`
+ # @return [Array]
+ attr_accessor :inappproduct
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidpublisher#inappproductsListResponse".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ #
+ # Corresponds to the JSON property `pageInfo`
+ # @return [Google::Apis::AndroidpublisherV2::PageInfo]
+ attr_accessor :page_info
+
+ #
+ # Corresponds to the JSON property `tokenPagination`
+ # @return [Google::Apis::AndroidpublisherV2::TokenPagination]
+ attr_accessor :token_pagination
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @inappproduct = args[:inappproduct] unless args[:inappproduct].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @page_info = args[:page_info] unless args[:page_info].nil?
+ @token_pagination = args[:token_pagination] unless args[:token_pagination].nil?
+ end
+ end
+
+ #
+ class UpdateInAppProductsRequest
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `inappproduct`
+ # @return [Google::Apis::AndroidpublisherV2::InAppProduct]
+ attr_accessor :inappproduct
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @inappproduct = args[:inappproduct] unless args[:inappproduct].nil?
+ end
+ end
+
+ #
+ class UpdateInAppProductsResponse
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `inappproduct`
+ # @return [Google::Apis::AndroidpublisherV2::InAppProduct]
+ attr_accessor :inappproduct
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @inappproduct = args[:inappproduct] unless args[:inappproduct].nil?
+ end
+ end
+
+ #
+ class Listing
+ include Google::Apis::Core::Hashable
+
+ # Full description of the app; this may be up to 4000 characters in length.
+ # Corresponds to the JSON property `fullDescription`
+ # @return [String]
+ attr_accessor :full_description
+
+ # Language localization code (for example, "de-AT" for Austrian German).
+ # Corresponds to the JSON property `language`
+ # @return [String]
+ attr_accessor :language
+
+ # Short description of the app (previously known as promo text); this may be up
+ # to 80 characters in length.
+ # Corresponds to the JSON property `shortDescription`
+ # @return [String]
+ attr_accessor :short_description
+
+ # App's localized title.
+ # Corresponds to the JSON property `title`
+ # @return [String]
+ attr_accessor :title
+
+ # URL of a promotional YouTube video for the app.
+ # Corresponds to the JSON property `video`
+ # @return [String]
+ attr_accessor :video
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @full_description = args[:full_description] unless args[:full_description].nil?
+ @language = args[:language] unless args[:language].nil?
+ @short_description = args[:short_description] unless args[:short_description].nil?
+ @title = args[:title] unless args[:title].nil?
+ @video = args[:video] unless args[:video].nil?
+ end
+ end
+
+ #
+ class ListListingsResponse
+ include Google::Apis::Core::Hashable
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidpublisher#listingsListResponse".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ #
+ # Corresponds to the JSON property `listings`
+ # @return [Array]
+ attr_accessor :listings
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @listings = args[:listings] unless args[:listings].nil?
+ end
+ end
+
+ #
+ class MonthDay
+ include Google::Apis::Core::Hashable
+
+ # Day of a month, value in [1, 31] range. Valid range depends on the specified
+ # month.
+ # Corresponds to the JSON property `day`
+ # @return [Fixnum]
+ attr_accessor :day
+
+ # Month of a year. e.g. 1 = JAN, 2 = FEB etc.
+ # Corresponds to the JSON property `month`
+ # @return [Fixnum]
+ attr_accessor :month
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @day = args[:day] unless args[:day].nil?
+ @month = args[:month] unless args[:month].nil?
+ end
+ end
+
+ #
+ class PageInfo
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `resultPerPage`
+ # @return [Fixnum]
+ attr_accessor :result_per_page
+
+ #
+ # Corresponds to the JSON property `startIndex`
+ # @return [Fixnum]
+ attr_accessor :start_index
+
+ #
+ # 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)
+ @result_per_page = args[:result_per_page] unless args[:result_per_page].nil?
+ @start_index = args[:start_index] unless args[:start_index].nil?
+ @total_results = args[:total_results] unless args[:total_results].nil?
+ end
+ end
+
+ #
+ class Price
+ include Google::Apis::Core::Hashable
+
+ # 3 letter Currency code, as defined by ISO 4217.
+ # Corresponds to the JSON property `currency`
+ # @return [String]
+ attr_accessor :currency
+
+ # The price in millionths of the currency base unit represented as a string.
+ # Corresponds to the JSON property `priceMicros`
+ # @return [String]
+ attr_accessor :price_micros
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @currency = args[:currency] unless args[:currency].nil?
+ @price_micros = args[:price_micros] unless args[:price_micros].nil?
+ end
+ end
+
+ # A ProductPurchase resource indicates the status of a user's inapp product
+ # purchase.
+ class ProductPurchase
+ include Google::Apis::Core::Hashable
+
+ # The consumption state of the inapp product. Possible values are:
+ # - Yet to be consumed
+ # - Consumed
+ # Corresponds to the JSON property `consumptionState`
+ # @return [Fixnum]
+ attr_accessor :consumption_state
+
+ # A developer-specified string that contains supplemental information about an
+ # order.
+ # Corresponds to the JSON property `developerPayload`
+ # @return [String]
+ attr_accessor :developer_payload
+
+ # This kind represents an inappPurchase object in the androidpublisher service.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # The purchase state of the order. Possible values are:
+ # - Purchased
+ # - Cancelled
+ # Corresponds to the JSON property `purchaseState`
+ # @return [Fixnum]
+ attr_accessor :purchase_state
+
+ # The time the product was purchased, in milliseconds since the epoch (Jan 1,
+ # 1970).
+ # Corresponds to the JSON property `purchaseTimeMillis`
+ # @return [String]
+ attr_accessor :purchase_time_millis
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @consumption_state = args[:consumption_state] unless args[:consumption_state].nil?
+ @developer_payload = args[:developer_payload] unless args[:developer_payload].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @purchase_state = args[:purchase_state] unless args[:purchase_state].nil?
+ @purchase_time_millis = args[:purchase_time_millis] unless args[:purchase_time_millis].nil?
+ end
+ end
+
+ #
+ class Season
+ include Google::Apis::Core::Hashable
+
+ # Inclusive end date of the recurrence period.
+ # Corresponds to the JSON property `end`
+ # @return [Google::Apis::AndroidpublisherV2::MonthDay]
+ attr_accessor :end
+
+ # Inclusive start date of the recurrence period.
+ # Corresponds to the JSON property `start`
+ # @return [Google::Apis::AndroidpublisherV2::MonthDay]
+ attr_accessor :start
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @end = args[:end] unless args[:end].nil?
+ @start = args[:start] unless args[:start].nil?
+ end
+ end
+
+ # A SubscriptionDeferralInfo contains the data needed to defer a subscription
+ # purchase to a future expiry time.
+ class SubscriptionDeferralInfo
+ include Google::Apis::Core::Hashable
+
+ # The desired next expiry time for the subscription in milliseconds since Epoch.
+ # The given time must be after the current expiry time for the subscription.
+ # Corresponds to the JSON property `desiredExpiryTimeMillis`
+ # @return [String]
+ attr_accessor :desired_expiry_time_millis
+
+ # The expected expiry time for the subscription. If the current expiry time for
+ # the subscription is not the value specified here, the deferral will not occur.
+ # Corresponds to the JSON property `expectedExpiryTimeMillis`
+ # @return [String]
+ attr_accessor :expected_expiry_time_millis
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @desired_expiry_time_millis = args[:desired_expiry_time_millis] unless args[:desired_expiry_time_millis].nil?
+ @expected_expiry_time_millis = args[:expected_expiry_time_millis] unless args[:expected_expiry_time_millis].nil?
+ end
+ end
+
+ # A SubscriptionPurchase resource indicates the status of a user's subscription
+ # purchase.
+ class SubscriptionPurchase
+ include Google::Apis::Core::Hashable
+
+ # Whether the subscription will automatically be renewed when it reaches its
+ # current expiry time.
+ # Corresponds to the JSON property `autoRenewing`
+ # @return [Boolean]
+ attr_accessor :auto_renewing
+ alias_method :auto_renewing?, :auto_renewing
+
+ # Time at which the subscription will expire, in milliseconds since Epoch.
+ # Corresponds to the JSON property `expiryTimeMillis`
+ # @return [String]
+ attr_accessor :expiry_time_millis
+
+ # This kind represents a subscriptionPurchase object in the androidpublisher
+ # service.
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ # Time at which the subscription was granted, in milliseconds since Epoch.
+ # Corresponds to the JSON property `startTimeMillis`
+ # @return [String]
+ attr_accessor :start_time_millis
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @auto_renewing = args[:auto_renewing] unless args[:auto_renewing].nil?
+ @expiry_time_millis = args[:expiry_time_millis] unless args[:expiry_time_millis].nil?
+ @kind = args[:kind] unless args[:kind].nil?
+ @start_time_millis = args[:start_time_millis] unless args[:start_time_millis].nil?
+ end
+ end
+
+ #
+ class DeferSubscriptionPurchasesRequest
+ include Google::Apis::Core::Hashable
+
+ # A SubscriptionDeferralInfo contains the data needed to defer a subscription
+ # purchase to a future expiry time.
+ # Corresponds to the JSON property `deferralInfo`
+ # @return [Google::Apis::AndroidpublisherV2::SubscriptionDeferralInfo]
+ attr_accessor :deferral_info
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @deferral_info = args[:deferral_info] unless args[:deferral_info].nil?
+ end
+ end
+
+ #
+ class DeferSubscriptionPurchasesResponse
+ include Google::Apis::Core::Hashable
+
+ # The new expiry time for the subscription in milliseconds since the Epoch.
+ # Corresponds to the JSON property `newExpiryTimeMillis`
+ # @return [String]
+ attr_accessor :new_expiry_time_millis
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @new_expiry_time_millis = args[:new_expiry_time_millis] unless args[:new_expiry_time_millis].nil?
+ end
+ end
+
+ #
+ class Testers
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `googleGroups`
+ # @return [Array]
+ attr_accessor :google_groups
+
+ #
+ # Corresponds to the JSON property `googlePlusCommunities`
+ # @return [Array]
+ attr_accessor :google_plus_communities
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @google_groups = args[:google_groups] unless args[:google_groups].nil?
+ @google_plus_communities = args[:google_plus_communities] unless args[:google_plus_communities].nil?
+ end
+ end
+
+ #
+ class TokenPagination
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `nextPageToken`
+ # @return [String]
+ attr_accessor :next_page_token
+
+ #
+ # Corresponds to the JSON property `previousPageToken`
+ # @return [String]
+ attr_accessor :previous_page_token
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
+ @previous_page_token = args[:previous_page_token] unless args[:previous_page_token].nil?
+ end
+ end
+
+ #
+ class Track
+ include Google::Apis::Core::Hashable
+
+ #
+ # Corresponds to the JSON property `track`
+ # @return [String]
+ attr_accessor :track
+
+ #
+ # Corresponds to the JSON property `userFraction`
+ # @return [Float]
+ attr_accessor :user_fraction
+
+ #
+ # Corresponds to the JSON property `versionCodes`
+ # @return [Array]
+ attr_accessor :version_codes
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @track = args[:track] unless args[:track].nil?
+ @user_fraction = args[:user_fraction] unless args[:user_fraction].nil?
+ @version_codes = args[:version_codes] unless args[:version_codes].nil?
+ end
+ end
+
+ #
+ class ListTracksResponse
+ include Google::Apis::Core::Hashable
+
+ # Identifies what kind of resource this is. Value: the fixed string "
+ # androidpublisher#tracksListResponse".
+ # Corresponds to the JSON property `kind`
+ # @return [String]
+ attr_accessor :kind
+
+ #
+ # Corresponds to the JSON property `tracks`
+ # @return [Array]
+ attr_accessor :tracks
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @kind = args[:kind] unless args[:kind].nil?
+ @tracks = args[:tracks] unless args[:tracks].nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/androidpublisher_v2/representations.rb b/generated/google/apis/androidpublisher_v2/representations.rb
new file mode 100644
index 000000000..de54f13cd
--- /dev/null
+++ b/generated/google/apis/androidpublisher_v2/representations.rb
@@ -0,0 +1,630 @@
+# 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 AndroidpublisherV2
+
+ class Apk
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ApkBinary
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ApkListing
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListApkListingsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ApksAddExternallyHostedRequest
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ApksAddExternallyHostedResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListApksResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AppDetails
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class AppEdit
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Entitlement
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListEntitlementsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ExpansionFile
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UploadExpansionFilesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ExternallyHostedApk
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ExternallyHostedApkUsesPermission
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Image
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ImagesDeleteAllResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListImagesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UploadImagesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class InAppProduct
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class InAppProductListing
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class InAppProductsBatchRequest
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class InAppProductsBatchRequestEntry
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class InAppProductsBatchResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class InAppProductsBatchResponseEntry
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class InsertInAppProductsRequest
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class InsertInAppProductsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListInAppProductsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UpdateInAppProductsRequest
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class UpdateInAppProductsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Listing
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListListingsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class MonthDay
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class PageInfo
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Price
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ProductPurchase
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Season
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class SubscriptionDeferralInfo
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class SubscriptionPurchase
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class DeferSubscriptionPurchasesRequest
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class DeferSubscriptionPurchasesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Testers
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class TokenPagination
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class Track
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ class ListTracksResponse
+ class Representation < Google::Apis::Core::JsonRepresentation; end
+ end
+
+ # @private
+ class Apk
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :binary, as: 'binary', class: Google::Apis::AndroidpublisherV2::ApkBinary, decorator: Google::Apis::AndroidpublisherV2::ApkBinary::Representation
+
+ property :version_code, as: 'versionCode'
+ end
+ end
+
+ # @private
+ class ApkBinary
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :sha1, as: 'sha1'
+ end
+ end
+
+ # @private
+ class ApkListing
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :language, as: 'language'
+ property :recent_changes, as: 'recentChanges'
+ end
+ end
+
+ # @private
+ class ListApkListingsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ collection :listings, as: 'listings', class: Google::Apis::AndroidpublisherV2::ApkListing, decorator: Google::Apis::AndroidpublisherV2::ApkListing::Representation
+
+ end
+ end
+
+ # @private
+ class ApksAddExternallyHostedRequest
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :externally_hosted_apk, as: 'externallyHostedApk', class: Google::Apis::AndroidpublisherV2::ExternallyHostedApk, decorator: Google::Apis::AndroidpublisherV2::ExternallyHostedApk::Representation
+
+ end
+ end
+
+ # @private
+ class ApksAddExternallyHostedResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :externally_hosted_apk, as: 'externallyHostedApk', class: Google::Apis::AndroidpublisherV2::ExternallyHostedApk, decorator: Google::Apis::AndroidpublisherV2::ExternallyHostedApk::Representation
+
+ end
+ end
+
+ # @private
+ class ListApksResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :apks, as: 'apks', class: Google::Apis::AndroidpublisherV2::Apk, decorator: Google::Apis::AndroidpublisherV2::Apk::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class AppDetails
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :contact_email, as: 'contactEmail'
+ property :contact_phone, as: 'contactPhone'
+ property :contact_website, as: 'contactWebsite'
+ property :default_language, as: 'defaultLanguage'
+ end
+ end
+
+ # @private
+ class AppEdit
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :expiry_time_seconds, as: 'expiryTimeSeconds'
+ property :id, as: 'id'
+ end
+ end
+
+ # @private
+ class Entitlement
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ property :product_id, as: 'productId'
+ property :product_type, as: 'productType'
+ property :token, as: 'token'
+ end
+ end
+
+ # @private
+ class ListEntitlementsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :page_info, as: 'pageInfo', class: Google::Apis::AndroidpublisherV2::PageInfo, decorator: Google::Apis::AndroidpublisherV2::PageInfo::Representation
+
+ collection :resources, as: 'resources', class: Google::Apis::AndroidpublisherV2::Entitlement, decorator: Google::Apis::AndroidpublisherV2::Entitlement::Representation
+
+ property :token_pagination, as: 'tokenPagination', class: Google::Apis::AndroidpublisherV2::TokenPagination, decorator: Google::Apis::AndroidpublisherV2::TokenPagination::Representation
+
+ end
+ end
+
+ # @private
+ class ExpansionFile
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :file_size, as: 'fileSize'
+ property :references_version, as: 'referencesVersion'
+ end
+ end
+
+ # @private
+ class UploadExpansionFilesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :expansion_file, as: 'expansionFile', class: Google::Apis::AndroidpublisherV2::ExpansionFile, decorator: Google::Apis::AndroidpublisherV2::ExpansionFile::Representation
+
+ end
+ end
+
+ # @private
+ class ExternallyHostedApk
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :application_label, as: 'applicationLabel'
+ collection :certificate_base64s, as: 'certificateBase64s'
+ property :externally_hosted_url, as: 'externallyHostedUrl'
+ property :file_sha1_base64, as: 'fileSha1Base64'
+ property :file_sha256_base64, as: 'fileSha256Base64'
+ property :file_size, as: 'fileSize'
+ property :icon_base64, as: 'iconBase64'
+ property :maximum_sdk, as: 'maximumSdk'
+ property :minimum_sdk, as: 'minimumSdk'
+ collection :native_codes, as: 'nativeCodes'
+ property :package_name, as: 'packageName'
+ collection :uses_features, as: 'usesFeatures'
+ collection :uses_permissions, as: 'usesPermissions', class: Google::Apis::AndroidpublisherV2::ExternallyHostedApkUsesPermission, decorator: Google::Apis::AndroidpublisherV2::ExternallyHostedApkUsesPermission::Representation
+
+ property :version_code, as: 'versionCode'
+ property :version_name, as: 'versionName'
+ end
+ end
+
+ # @private
+ class ExternallyHostedApkUsesPermission
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :max_sdk_version, as: 'maxSdkVersion'
+ property :name, as: 'name'
+ end
+ end
+
+ # @private
+ class Image
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :id, as: 'id'
+ property :sha1, as: 'sha1'
+ property :url, as: 'url'
+ end
+ end
+
+ # @private
+ class ImagesDeleteAllResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :deleted, as: 'deleted', class: Google::Apis::AndroidpublisherV2::Image, decorator: Google::Apis::AndroidpublisherV2::Image::Representation
+
+ end
+ end
+
+ # @private
+ class ListImagesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :images, as: 'images', class: Google::Apis::AndroidpublisherV2::Image, decorator: Google::Apis::AndroidpublisherV2::Image::Representation
+
+ end
+ end
+
+ # @private
+ class UploadImagesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :image, as: 'image', class: Google::Apis::AndroidpublisherV2::Image, decorator: Google::Apis::AndroidpublisherV2::Image::Representation
+
+ end
+ end
+
+ # @private
+ class InAppProduct
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :default_language, as: 'defaultLanguage'
+ property :default_price, as: 'defaultPrice', class: Google::Apis::AndroidpublisherV2::Price, decorator: Google::Apis::AndroidpublisherV2::Price::Representation
+
+ hash :listings, as: 'listings', class: Google::Apis::AndroidpublisherV2::InAppProductListing, decorator: Google::Apis::AndroidpublisherV2::InAppProductListing::Representation
+
+ property :package_name, as: 'packageName'
+ hash :prices, as: 'prices', class: Google::Apis::AndroidpublisherV2::Price, decorator: Google::Apis::AndroidpublisherV2::Price::Representation
+
+ property :purchase_type, as: 'purchaseType'
+ property :season, as: 'season', class: Google::Apis::AndroidpublisherV2::Season, decorator: Google::Apis::AndroidpublisherV2::Season::Representation
+
+ property :sku, as: 'sku'
+ property :status, as: 'status'
+ property :subscription_period, as: 'subscriptionPeriod'
+ property :trial_period, as: 'trialPeriod'
+ end
+ end
+
+ # @private
+ class InAppProductListing
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :description, as: 'description'
+ property :title, as: 'title'
+ end
+ end
+
+ # @private
+ class InAppProductsBatchRequest
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :entrys, as: 'entrys', class: Google::Apis::AndroidpublisherV2::InAppProductsBatchRequestEntry, decorator: Google::Apis::AndroidpublisherV2::InAppProductsBatchRequestEntry::Representation
+
+ end
+ end
+
+ # @private
+ class InAppProductsBatchRequestEntry
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :batch_id, as: 'batchId'
+ property :inappproductsinsertrequest, as: 'inappproductsinsertrequest', class: Google::Apis::AndroidpublisherV2::InsertInAppProductsRequest, decorator: Google::Apis::AndroidpublisherV2::InsertInAppProductsRequest::Representation
+
+ property :inappproductsupdaterequest, as: 'inappproductsupdaterequest', class: Google::Apis::AndroidpublisherV2::UpdateInAppProductsRequest, decorator: Google::Apis::AndroidpublisherV2::UpdateInAppProductsRequest::Representation
+
+ property :method_name, as: 'methodName'
+ end
+ end
+
+ # @private
+ class InAppProductsBatchResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :entrys, as: 'entrys', class: Google::Apis::AndroidpublisherV2::InAppProductsBatchResponseEntry, decorator: Google::Apis::AndroidpublisherV2::InAppProductsBatchResponseEntry::Representation
+
+ property :kind, as: 'kind'
+ end
+ end
+
+ # @private
+ class InAppProductsBatchResponseEntry
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :batch_id, as: 'batchId'
+ property :inappproductsinsertresponse, as: 'inappproductsinsertresponse', class: Google::Apis::AndroidpublisherV2::InsertInAppProductsResponse, decorator: Google::Apis::AndroidpublisherV2::InsertInAppProductsResponse::Representation
+
+ property :inappproductsupdateresponse, as: 'inappproductsupdateresponse', class: Google::Apis::AndroidpublisherV2::UpdateInAppProductsResponse, decorator: Google::Apis::AndroidpublisherV2::UpdateInAppProductsResponse::Representation
+
+ end
+ end
+
+ # @private
+ class InsertInAppProductsRequest
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :inappproduct, as: 'inappproduct', class: Google::Apis::AndroidpublisherV2::InAppProduct, decorator: Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+
+ end
+ end
+
+ # @private
+ class InsertInAppProductsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :inappproduct, as: 'inappproduct', class: Google::Apis::AndroidpublisherV2::InAppProduct, decorator: Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+
+ end
+ end
+
+ # @private
+ class ListInAppProductsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :inappproduct, as: 'inappproduct', class: Google::Apis::AndroidpublisherV2::InAppProduct, decorator: Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+
+ property :kind, as: 'kind'
+ property :page_info, as: 'pageInfo', class: Google::Apis::AndroidpublisherV2::PageInfo, decorator: Google::Apis::AndroidpublisherV2::PageInfo::Representation
+
+ property :token_pagination, as: 'tokenPagination', class: Google::Apis::AndroidpublisherV2::TokenPagination, decorator: Google::Apis::AndroidpublisherV2::TokenPagination::Representation
+
+ end
+ end
+
+ # @private
+ class UpdateInAppProductsRequest
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :inappproduct, as: 'inappproduct', class: Google::Apis::AndroidpublisherV2::InAppProduct, decorator: Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+
+ end
+ end
+
+ # @private
+ class UpdateInAppProductsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :inappproduct, as: 'inappproduct', class: Google::Apis::AndroidpublisherV2::InAppProduct, decorator: Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+
+ end
+ end
+
+ # @private
+ class Listing
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :full_description, as: 'fullDescription'
+ property :language, as: 'language'
+ property :short_description, as: 'shortDescription'
+ property :title, as: 'title'
+ property :video, as: 'video'
+ end
+ end
+
+ # @private
+ class ListListingsResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ collection :listings, as: 'listings', class: Google::Apis::AndroidpublisherV2::Listing, decorator: Google::Apis::AndroidpublisherV2::Listing::Representation
+
+ end
+ end
+
+ # @private
+ class MonthDay
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :day, as: 'day'
+ property :month, as: 'month'
+ end
+ end
+
+ # @private
+ class PageInfo
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :result_per_page, as: 'resultPerPage'
+ property :start_index, as: 'startIndex'
+ property :total_results, as: 'totalResults'
+ end
+ end
+
+ # @private
+ class Price
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :currency, as: 'currency'
+ property :price_micros, as: 'priceMicros'
+ end
+ end
+
+ # @private
+ class ProductPurchase
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :consumption_state, as: 'consumptionState'
+ property :developer_payload, as: 'developerPayload'
+ property :kind, as: 'kind'
+ property :purchase_state, as: 'purchaseState'
+ property :purchase_time_millis, as: 'purchaseTimeMillis'
+ end
+ end
+
+ # @private
+ class Season
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :end, as: 'end', class: Google::Apis::AndroidpublisherV2::MonthDay, decorator: Google::Apis::AndroidpublisherV2::MonthDay::Representation
+
+ property :start, as: 'start', class: Google::Apis::AndroidpublisherV2::MonthDay, decorator: Google::Apis::AndroidpublisherV2::MonthDay::Representation
+
+ end
+ end
+
+ # @private
+ class SubscriptionDeferralInfo
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :desired_expiry_time_millis, as: 'desiredExpiryTimeMillis'
+ property :expected_expiry_time_millis, as: 'expectedExpiryTimeMillis'
+ end
+ end
+
+ # @private
+ class SubscriptionPurchase
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :auto_renewing, as: 'autoRenewing'
+ property :expiry_time_millis, as: 'expiryTimeMillis'
+ property :kind, as: 'kind'
+ property :start_time_millis, as: 'startTimeMillis'
+ end
+ end
+
+ # @private
+ class DeferSubscriptionPurchasesRequest
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :deferral_info, as: 'deferralInfo', class: Google::Apis::AndroidpublisherV2::SubscriptionDeferralInfo, decorator: Google::Apis::AndroidpublisherV2::SubscriptionDeferralInfo::Representation
+
+ end
+ end
+
+ # @private
+ class DeferSubscriptionPurchasesResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :new_expiry_time_millis, as: 'newExpiryTimeMillis'
+ end
+ end
+
+ # @private
+ class Testers
+ class Representation < Google::Apis::Core::JsonRepresentation
+ collection :google_groups, as: 'googleGroups'
+ collection :google_plus_communities, as: 'googlePlusCommunities'
+ end
+ end
+
+ # @private
+ class TokenPagination
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :next_page_token, as: 'nextPageToken'
+ property :previous_page_token, as: 'previousPageToken'
+ end
+ end
+
+ # @private
+ class Track
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :track, as: 'track'
+ property :user_fraction, as: 'userFraction'
+ collection :version_codes, as: 'versionCodes'
+ end
+ end
+
+ # @private
+ class ListTracksResponse
+ class Representation < Google::Apis::Core::JsonRepresentation
+ property :kind, as: 'kind'
+ collection :tracks, as: 'tracks', class: Google::Apis::AndroidpublisherV2::Track, decorator: Google::Apis::AndroidpublisherV2::Track::Representation
+
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/androidpublisher_v2/service.rb b/generated/google/apis/androidpublisher_v2/service.rb
new file mode 100644
index 000000000..50849b4d1
--- /dev/null
+++ b/generated/google/apis/androidpublisher_v2/service.rb
@@ -0,0 +1,2390 @@
+# 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 '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 AndroidpublisherV2
+ # Google Play Developer API
+ #
+ # Lets Android application developers access their Google Play accounts.
+ #
+ # @example
+ # require 'google/apis/androidpublisher_v2'
+ #
+ # Androidpublisher = Google::Apis::AndroidpublisherV2 # Alias the module
+ # service = Androidpublisher::AndroidPublisherService.new
+ #
+ # @see https://developers.google.com/android-publisher
+ class AndroidPublisherService < Google::Apis::Core::BaseService
+ # @return [String]
+ # API key. Your API key identifies your project and provides you with API access,
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
+ attr_accessor :key
+
+ # @return [String]
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ attr_accessor :quota_user
+
+ # @return [String]
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ attr_accessor :user_ip
+
+ def initialize
+ super('https://www.googleapis.com/', 'androidpublisher/v2/applications/')
+ end
+
+ # Commits/applies the changes made in this edit back to the app.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::AppEdit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::AppEdit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def commit_edit(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}:commit'
+ command = make_simple_command(:post, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::AppEdit::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::AppEdit
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes an edit for an app. Creating a new edit will automatically delete any
+ # of your previous edits so this method need only be called if you want to
+ # preemptively abandon an edit.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_edit(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns information about the edit specified. Calls will fail if the edit is
+ # no long active (e.g. has been deleted, superseded or expired).
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::AppEdit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::AppEdit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_edit(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::AppEdit::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::AppEdit
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Creates a new edit for an app, populated with the app's current state.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [Google::Apis::AndroidpublisherV2::AppEdit] app_edit_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::AppEdit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::AppEdit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_edit(package_name, app_edit_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::AppEdit::Representation
+ command.request_object = app_edit_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::AppEdit::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::AppEdit
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Checks that the edit can be successfully committed. The edit's changes are not
+ # applied to the live app.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::AppEdit] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::AppEdit]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def validate_edit(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}:validate'
+ command = make_simple_command(:post, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::AppEdit::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::AppEdit
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes the APK-specific localized listing for a specified APK and language
+ # code.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Fixnum] apk_version_code
+ # The APK version code whose APK-specific listings should be read or modified.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the APK-specific localized
+ # listing to read or modify. For example, to select Austrian German, pass "de-AT"
+ # .
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_apk_listing(package_name, edit_id, apk_version_code, language, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}'
+ command = make_simple_command(:delete, path, options)
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['apkVersionCode'] = apk_version_code unless apk_version_code.nil?
+ command.params['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes all the APK-specific localized listings for a specified APK.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Fixnum] apk_version_code
+ # The APK version code whose APK-specific listings should be read or modified.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_all_apk_listings(package_name, edit_id, apk_version_code, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings'
+ command = make_simple_command(:delete, path, options)
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['apkVersionCode'] = apk_version_code unless apk_version_code.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Fetches the APK-specific localized listing for a specified APK and language
+ # code.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Fixnum] apk_version_code
+ # The APK version code whose APK-specific listings should be read or modified.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the APK-specific localized
+ # listing to read or modify. For example, to select Austrian German, pass "de-AT"
+ # .
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ApkListing] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ApkListing]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_apk_listing(package_name, edit_id, apk_version_code, language, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ApkListing::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ApkListing
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['apkVersionCode'] = apk_version_code unless apk_version_code.nil?
+ command.params['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists all the APK-specific localized listings for a specified APK.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Fixnum] apk_version_code
+ # The APK version code whose APK-specific listings should be read or modified.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ListApkListingsResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ListApkListingsResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_apk_listings(package_name, edit_id, apk_version_code, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ListApkListingsResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ListApkListingsResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['apkVersionCode'] = apk_version_code unless apk_version_code.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates or creates the APK-specific localized listing for a specified APK and
+ # language code. This method supports patch semantics.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Fixnum] apk_version_code
+ # The APK version code whose APK-specific listings should be read or modified.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the APK-specific localized
+ # listing to read or modify. For example, to select Austrian German, pass "de-AT"
+ # .
+ # @param [Google::Apis::AndroidpublisherV2::ApkListing] apk_listing_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ApkListing] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ApkListing]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_apk_listing(package_name, edit_id, apk_version_code, language, apk_listing_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::ApkListing::Representation
+ command.request_object = apk_listing_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::ApkListing::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ApkListing
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['apkVersionCode'] = apk_version_code unless apk_version_code.nil?
+ command.params['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates or creates the APK-specific localized listing for a specified APK and
+ # language code.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Fixnum] apk_version_code
+ # The APK version code whose APK-specific listings should be read or modified.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the APK-specific localized
+ # listing to read or modify. For example, to select Austrian German, pass "de-AT"
+ # .
+ # @param [Google::Apis::AndroidpublisherV2::ApkListing] apk_listing_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ApkListing] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ApkListing]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_apk_listing(package_name, edit_id, apk_version_code, language, apk_listing_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/{apkVersionCode}/listings/{language}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::ApkListing::Representation
+ command.request_object = apk_listing_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::ApkListing::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ApkListing
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['apkVersionCode'] = apk_version_code unless apk_version_code.nil?
+ command.params['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Creates a new APK without uploading the APK itself to Google Play, instead
+ # hosting the APK at a specified URL. This function is only available to
+ # enterprises using Google Play for Work whose application is configured to
+ # restrict distribution to the enterprise domain.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Google::Apis::AndroidpublisherV2::ApksAddExternallyHostedRequest] apks_add_externally_hosted_request_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ApksAddExternallyHostedResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ApksAddExternallyHostedResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def add_externally_hosted_apk(package_name, edit_id, apks_add_externally_hosted_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/externallyHosted'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::ApksAddExternallyHostedRequest::Representation
+ command.request_object = apks_add_externally_hosted_request_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::ApksAddExternallyHostedResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ApksAddExternallyHostedResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ #
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ListApksResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ListApksResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_apks(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ListApksResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ListApksResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ #
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [IO, String] upload_source
+ # IO stream or filename containing content to upload
+ # @param [String] content_type
+ # Content type of the uploaded content.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::Apk] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::Apk]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def upload_apk(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks'
+ if upload_source.nil?
+ command = make_simple_command(:post, path, options)
+ else
+ command = make_upload_command(:post, path, options)
+ command.upload_source = upload_source
+ command.upload_content_type = content_type
+ end
+ command.response_representation = Google::Apis::AndroidpublisherV2::Apk::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::Apk
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Fetches app details for this edit. This includes the default language and
+ # developer support contact information.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::AppDetails] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::AppDetails]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_detail(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/details'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::AppDetails::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::AppDetails
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates app details for this edit. This method supports patch semantics.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Google::Apis::AndroidpublisherV2::AppDetails] app_details_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::AppDetails] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::AppDetails]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_detail(package_name, edit_id, app_details_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/details'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::AppDetails::Representation
+ command.request_object = app_details_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::AppDetails::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::AppDetails
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates app details for this edit.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Google::Apis::AndroidpublisherV2::AppDetails] app_details_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::AppDetails] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::AppDetails]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_detail(package_name, edit_id, app_details_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/details'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::AppDetails::Representation
+ command.request_object = app_details_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::AppDetails::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::AppDetails
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Fetches the Expansion File configuration for the APK specified.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Fixnum] apk_version_code
+ # The version code of the APK whose Expansion File configuration is being read
+ # or modified.
+ # @param [String] expansion_file_type
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ExpansionFile] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ExpansionFile]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_expansion_file(package_name, edit_id, apk_version_code, expansion_file_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ExpansionFile::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ExpansionFile
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['apkVersionCode'] = apk_version_code unless apk_version_code.nil?
+ command.params['expansionFileType'] = expansion_file_type unless expansion_file_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates the APK's Expansion File configuration to reference another APK's
+ # Expansion Files. To add a new Expansion File use the Upload method. This
+ # method supports patch semantics.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Fixnum] apk_version_code
+ # The version code of the APK whose Expansion File configuration is being read
+ # or modified.
+ # @param [String] expansion_file_type
+ # @param [Google::Apis::AndroidpublisherV2::ExpansionFile] expansion_file_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ExpansionFile] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ExpansionFile]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_expansion_file(package_name, edit_id, apk_version_code, expansion_file_type, expansion_file_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::ExpansionFile::Representation
+ command.request_object = expansion_file_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::ExpansionFile::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ExpansionFile
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['apkVersionCode'] = apk_version_code unless apk_version_code.nil?
+ command.params['expansionFileType'] = expansion_file_type unless expansion_file_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates the APK's Expansion File configuration to reference another APK's
+ # Expansion Files. To add a new Expansion File use the Upload method.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Fixnum] apk_version_code
+ # The version code of the APK whose Expansion File configuration is being read
+ # or modified.
+ # @param [String] expansion_file_type
+ # @param [Google::Apis::AndroidpublisherV2::ExpansionFile] expansion_file_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ExpansionFile] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ExpansionFile]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_expansion_file(package_name, edit_id, apk_version_code, expansion_file_type, expansion_file_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::ExpansionFile::Representation
+ command.request_object = expansion_file_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::ExpansionFile::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ExpansionFile
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['apkVersionCode'] = apk_version_code unless apk_version_code.nil?
+ command.params['expansionFileType'] = expansion_file_type unless expansion_file_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Uploads and attaches a new Expansion File to the APK specified.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [Fixnum] apk_version_code
+ # The version code of the APK whose Expansion File configuration is being read
+ # or modified.
+ # @param [String] expansion_file_type
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [IO, String] upload_source
+ # IO stream or filename containing content to upload
+ # @param [String] content_type
+ # Content type of the uploaded content.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::UploadExpansionFilesResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::UploadExpansionFilesResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def upload_expansion_file(package_name, edit_id, apk_version_code, expansion_file_type, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}'
+ if upload_source.nil?
+ command = make_simple_command(:post, path, options)
+ else
+ command = make_upload_command(:post, path, options)
+ command.upload_source = upload_source
+ command.upload_content_type = content_type
+ end
+ command.response_representation = Google::Apis::AndroidpublisherV2::UploadExpansionFilesResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::UploadExpansionFilesResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['apkVersionCode'] = apk_version_code unless apk_version_code.nil?
+ command.params['expansionFileType'] = expansion_file_type unless expansion_file_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes the image (specified by id) from the edit.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the localized listing whose
+ # images are to read or modified. For example, to select Austrian German, pass "
+ # de-AT".
+ # @param [String] image_type
+ # @param [String] image_id
+ # Unique identifier an image within the set of images attached to this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_image(package_name, edit_id, language, image_type, image_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}'
+ command = make_simple_command(:delete, path, options)
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['language'] = language unless language.nil?
+ command.params['imageType'] = image_type unless image_type.nil?
+ command.params['imageId'] = image_id unless image_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes all images for the specified language and image type.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the localized listing whose
+ # images are to read or modified. For example, to select Austrian German, pass "
+ # de-AT".
+ # @param [String] image_type
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ImagesDeleteAllResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ImagesDeleteAllResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_all_images(package_name, edit_id, language, image_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/listings/{language}/{imageType}'
+ command = make_simple_command(:delete, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ImagesDeleteAllResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ImagesDeleteAllResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['language'] = language unless language.nil?
+ command.params['imageType'] = image_type unless image_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists all images for the specified language and image type.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the localized listing whose
+ # images are to read or modified. For example, to select Austrian German, pass "
+ # de-AT".
+ # @param [String] image_type
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ListImagesResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ListImagesResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_images(package_name, edit_id, language, image_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/listings/{language}/{imageType}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ListImagesResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ListImagesResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['language'] = language unless language.nil?
+ command.params['imageType'] = image_type unless image_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Uploads a new image and adds it to the list of images for the specified
+ # language and image type.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the localized listing whose
+ # images are to read or modified. For example, to select Austrian German, pass "
+ # de-AT".
+ # @param [String] image_type
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [IO, String] upload_source
+ # IO stream or filename containing content to upload
+ # @param [String] content_type
+ # Content type of the uploaded content.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::UploadImagesResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::UploadImagesResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def upload_image(package_name, edit_id, language, image_type, fields: nil, quota_user: nil, user_ip: nil, upload_source: nil, content_type: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/listings/{language}/{imageType}'
+ if upload_source.nil?
+ command = make_simple_command(:post, path, options)
+ else
+ command = make_upload_command(:post, path, options)
+ command.upload_source = upload_source
+ command.upload_content_type = content_type
+ end
+ command.response_representation = Google::Apis::AndroidpublisherV2::UploadImagesResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::UploadImagesResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['language'] = language unless language.nil?
+ command.params['imageType'] = image_type unless image_type.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes the specified localized store listing from an edit.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the localized listing to read or
+ # modify. For example, to select Austrian German, pass "de-AT".
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_listing(package_name, edit_id, language, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/listings/{language}'
+ command = make_simple_command(:delete, path, options)
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Deletes all localized listings from an edit.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_all_listings(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/listings'
+ command = make_simple_command(:delete, path, options)
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Fetches information about a localized store listing.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the localized listing to read or
+ # modify. For example, to select Austrian German, pass "de-AT".
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::Listing] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::Listing]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_listing(package_name, edit_id, language, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/listings/{language}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::Listing::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::Listing
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns all of the localized store listings attached to this edit.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ListListingsResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ListListingsResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_listings(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/listings'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ListListingsResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ListListingsResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Creates or updates a localized store listing. This method supports patch
+ # semantics.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the localized listing to read or
+ # modify. For example, to select Austrian German, pass "de-AT".
+ # @param [Google::Apis::AndroidpublisherV2::Listing] listing_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::Listing] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::Listing]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_listing(package_name, edit_id, language, listing_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/listings/{language}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::Listing::Representation
+ command.request_object = listing_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::Listing::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::Listing
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Creates or updates a localized store listing.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] language
+ # The language code (a BCP-47 language tag) of the localized listing to read or
+ # modify. For example, to select Austrian German, pass "de-AT".
+ # @param [Google::Apis::AndroidpublisherV2::Listing] listing_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::Listing] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::Listing]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_listing(package_name, edit_id, language, listing_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/listings/{language}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::Listing::Representation
+ command.request_object = listing_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::Listing::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::Listing
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['language'] = language unless language.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ #
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] track
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::Testers] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::Testers]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_tester(package_name, edit_id, track, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/testers/{track}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::Testers::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::Testers
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['track'] = track unless track.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ #
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] track
+ # @param [Google::Apis::AndroidpublisherV2::Testers] testers_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::Testers] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::Testers]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_tester(package_name, edit_id, track, testers_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/testers/{track}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::Testers::Representation
+ command.request_object = testers_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::Testers::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::Testers
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['track'] = track unless track.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ #
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] track
+ # @param [Google::Apis::AndroidpublisherV2::Testers] testers_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::Testers] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::Testers]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_tester(package_name, edit_id, track, testers_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/testers/{track}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::Testers::Representation
+ command.request_object = testers_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::Testers::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::Testers
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['track'] = track unless track.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Fetches the track configuration for the specified track type. Includes the APK
+ # version codes that are in this track.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] track
+ # The track type to read or modify.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::Track] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::Track]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_track(package_name, edit_id, track, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/tracks/{track}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::Track::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::Track
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['track'] = track unless track.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists all the track configurations for this edit.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ListTracksResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ListTracksResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_tracks(package_name, edit_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/tracks'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ListTracksResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ListTracksResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates the track configuration for the specified track type. When halted, the
+ # rollout track cannot be updated without adding new APKs, and adding new APKs
+ # will cause it to resume. This method supports patch semantics.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] track
+ # The track type to read or modify.
+ # @param [Google::Apis::AndroidpublisherV2::Track] track_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::Track] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::Track]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_track(package_name, edit_id, track, track_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/tracks/{track}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::Track::Representation
+ command.request_object = track_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::Track::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::Track
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['track'] = track unless track.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates the track configuration for the specified track type. When halted, the
+ # rollout track cannot be updated without adding new APKs, and adding new APKs
+ # will cause it to resume.
+ # @param [String] package_name
+ # Unique identifier for the Android app that is being updated; for example, "com.
+ # spiffygame".
+ # @param [String] edit_id
+ # Unique identifier for this edit.
+ # @param [String] track
+ # The track type to read or modify.
+ # @param [Google::Apis::AndroidpublisherV2::Track] track_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::Track] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::Track]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_track(package_name, edit_id, track, track_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/edits/{editId}/tracks/{track}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::Track::Representation
+ command.request_object = track_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::Track::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::Track
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['editId'] = edit_id unless edit_id.nil?
+ command.params['track'] = track unless track.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Lists the user's current inapp item or subscription entitlements
+ # @param [String] package_name
+ # The package name of the application the inapp product was sold in (for example,
+ # 'com.some.thing').
+ # @param [Fixnum] max_results
+ # @param [String] product_id
+ # The product id of the inapp product (for example, 'sku1'). This can be used to
+ # restrict the result set.
+ # @param [Fixnum] start_index
+ # @param [String] token
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ListEntitlementsResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ListEntitlementsResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_entitlements(package_name, max_results: nil, product_id: nil, start_index: nil, token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/entitlements'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ListEntitlementsResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ListEntitlementsResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['productId'] = product_id unless product_id.nil?
+ command.query['startIndex'] = start_index unless start_index.nil?
+ command.query['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ #
+ # @param [Google::Apis::AndroidpublisherV2::InAppProductsBatchRequest] in_app_products_batch_request_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::InAppProductsBatchResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::InAppProductsBatchResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def batch_update_in_app_products(in_app_products_batch_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = 'inappproducts/batch'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::InAppProductsBatchRequest::Representation
+ command.request_object = in_app_products_batch_request_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::InAppProductsBatchResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::InAppProductsBatchResponse
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Delete an in-app product for an app.
+ # @param [String] package_name
+ # Unique identifier for the Android app with the in-app product; for example, "
+ # com.spiffygame".
+ # @param [String] sku
+ # Unique identifier for the in-app product.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def delete_in_app_product(package_name, sku, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/inappproducts/{sku}'
+ command = make_simple_command(:delete, path, options)
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['sku'] = sku unless sku.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Returns information about the in-app product specified.
+ # @param [String] package_name
+ # @param [String] sku
+ # Unique identifier for the in-app product.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::InAppProduct] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::InAppProduct]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_in_app_product(package_name, sku, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/inappproducts/{sku}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::InAppProduct
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['sku'] = sku unless sku.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Creates a new in-app product for an app.
+ # @param [String] package_name
+ # Unique identifier for the Android app; for example, "com.spiffygame".
+ # @param [Google::Apis::AndroidpublisherV2::InAppProduct] in_app_product_object
+ # @param [Boolean] auto_convert_missing_prices
+ # If true the prices for all regions targeted by the parent app that don't have
+ # a price specified for this in-app product will be auto converted to the target
+ # currency based on the default price. Defaults to false.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::InAppProduct] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::InAppProduct]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def insert_in_app_product(package_name, in_app_product_object = nil, auto_convert_missing_prices: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/inappproducts'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+ command.request_object = in_app_product_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::InAppProduct
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.query['autoConvertMissingPrices'] = auto_convert_missing_prices unless auto_convert_missing_prices.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # List all the in-app products for an Android app, both subscriptions and
+ # managed in-app products..
+ # @param [String] package_name
+ # Unique identifier for the Android app with in-app products; for example, "com.
+ # spiffygame".
+ # @param [Fixnum] max_results
+ # @param [Fixnum] start_index
+ # @param [String] token
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ListInAppProductsResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ListInAppProductsResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def list_in_app_products(package_name, max_results: nil, start_index: nil, token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/inappproducts'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ListInAppProductsResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ListInAppProductsResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.query['maxResults'] = max_results unless max_results.nil?
+ command.query['startIndex'] = start_index unless start_index.nil?
+ command.query['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates the details of an in-app product. This method supports patch semantics.
+ # @param [String] package_name
+ # Unique identifier for the Android app with the in-app product; for example, "
+ # com.spiffygame".
+ # @param [String] sku
+ # Unique identifier for the in-app product.
+ # @param [Google::Apis::AndroidpublisherV2::InAppProduct] in_app_product_object
+ # @param [Boolean] auto_convert_missing_prices
+ # If true the prices for all regions targeted by the parent app that don't have
+ # a price specified for this in-app product will be auto converted to the target
+ # currency based on the default price. Defaults to false.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::InAppProduct] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::InAppProduct]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def patch_in_app_product(package_name, sku, in_app_product_object = nil, auto_convert_missing_prices: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/inappproducts/{sku}'
+ command = make_simple_command(:patch, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+ command.request_object = in_app_product_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::InAppProduct
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['sku'] = sku unless sku.nil?
+ command.query['autoConvertMissingPrices'] = auto_convert_missing_prices unless auto_convert_missing_prices.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Updates the details of an in-app product.
+ # @param [String] package_name
+ # Unique identifier for the Android app with the in-app product; for example, "
+ # com.spiffygame".
+ # @param [String] sku
+ # Unique identifier for the in-app product.
+ # @param [Google::Apis::AndroidpublisherV2::InAppProduct] in_app_product_object
+ # @param [Boolean] auto_convert_missing_prices
+ # If true the prices for all regions targeted by the parent app that don't have
+ # a price specified for this in-app product will be auto converted to the target
+ # currency based on the default price. Defaults to false.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::InAppProduct] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::InAppProduct]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def update_in_app_product(package_name, sku, in_app_product_object = nil, auto_convert_missing_prices: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/inappproducts/{sku}'
+ command = make_simple_command(:put, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+ command.request_object = in_app_product_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::InAppProduct::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::InAppProduct
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['sku'] = sku unless sku.nil?
+ command.query['autoConvertMissingPrices'] = auto_convert_missing_prices unless auto_convert_missing_prices.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Checks the purchase and consumption status of an inapp item.
+ # @param [String] package_name
+ # The package name of the application the inapp product was sold in (for example,
+ # 'com.some.thing').
+ # @param [String] product_id
+ # The inapp product SKU (for example, 'com.some.thing.inapp1').
+ # @param [String] token
+ # The token provided to the user's device when the inapp product was purchased.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::ProductPurchase] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::ProductPurchase]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_purchase_product(package_name, product_id, token, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/purchases/products/{productId}/tokens/{token}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::ProductPurchase::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::ProductPurchase
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['productId'] = product_id unless product_id.nil?
+ command.params['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Cancels a user's subscription purchase. The subscription remains valid until
+ # its expiration time.
+ # @param [String] package_name
+ # The package name of the application for which this subscription was purchased (
+ # for example, 'com.some.thing').
+ # @param [String] subscription_id
+ # The purchased subscription ID (for example, 'monthly001').
+ # @param [String] token
+ # The token provided to the user's device when the subscription was purchased.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def cancel_purchase_subscription(package_name, subscription_id, token, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel'
+ command = make_simple_command(:post, path, options)
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
+ command.params['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Defers a user's subscription purchase until a specified future expiration time.
+ # @param [String] package_name
+ # The package name of the application for which this subscription was purchased (
+ # for example, 'com.some.thing').
+ # @param [String] subscription_id
+ # The purchased subscription ID (for example, 'monthly001').
+ # @param [String] token
+ # The token provided to the user's device when the subscription was purchased.
+ # @param [Google::Apis::AndroidpublisherV2::DeferSubscriptionPurchasesRequest] defer_subscription_purchases_request_object
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::DeferSubscriptionPurchasesResponse] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::DeferSubscriptionPurchasesResponse]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def defer_purchase_subscription(package_name, subscription_id, token, defer_subscription_purchases_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer'
+ command = make_simple_command(:post, path, options)
+ command.request_representation = Google::Apis::AndroidpublisherV2::DeferSubscriptionPurchasesRequest::Representation
+ command.request_object = defer_subscription_purchases_request_object
+ command.response_representation = Google::Apis::AndroidpublisherV2::DeferSubscriptionPurchasesResponse::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::DeferSubscriptionPurchasesResponse
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
+ command.params['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Checks whether a user's subscription purchase is valid and returns its expiry
+ # time.
+ # @param [String] package_name
+ # The package name of the application for which this subscription was purchased (
+ # for example, 'com.some.thing').
+ # @param [String] subscription_id
+ # The purchased subscription ID (for example, 'monthly001').
+ # @param [String] token
+ # The token provided to the user's device when the subscription was purchased.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [Google::Apis::AndroidpublisherV2::SubscriptionPurchase] parsed result object
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [Google::Apis::AndroidpublisherV2::SubscriptionPurchase]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def get_purchase_subscription(package_name, subscription_id, token, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}'
+ command = make_simple_command(:get, path, options)
+ command.response_representation = Google::Apis::AndroidpublisherV2::SubscriptionPurchase::Representation
+ command.response_class = Google::Apis::AndroidpublisherV2::SubscriptionPurchase
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
+ command.params['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Refunds a user's subscription purchase, but the subscription remains valid
+ # until its expiration time and it will continue to recur.
+ # @param [String] package_name
+ # The package name of the application for which this subscription was purchased (
+ # for example, 'com.some.thing').
+ # @param [String] subscription_id
+ # The purchased subscription ID (for example, 'monthly001').
+ # @param [String] token
+ # The token provided to the user's device when the subscription was purchased.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def refund_purchase_subscription(package_name, subscription_id, token, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund'
+ command = make_simple_command(:post, path, options)
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
+ command.params['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ # Refunds and immediately revokes a user's subscription purchase. Access to the
+ # subscription will be terminated immediately and it will stop recurring.
+ # @param [String] package_name
+ # The package name of the application for which this subscription was purchased (
+ # for example, 'com.some.thing').
+ # @param [String] subscription_id
+ # The purchased subscription ID (for example, 'monthly001').
+ # @param [String] token
+ # The token provided to the user's device when the subscription was purchased.
+ # @param [String] fields
+ # Selector specifying which fields to include in a partial response.
+ # @param [String] quota_user
+ # Available to use for quota purposes for server-side applications. Can be any
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
+ # Overrides userIp if both are provided.
+ # @param [String] user_ip
+ # IP address of the site where the request originates. Use this if you want to
+ # enforce per-user limits.
+ # @param [Google::Apis::RequestOptions] options
+ # Request-specific options
+ #
+ # @yield [result, err] Result & error if block supplied
+ # @yieldparam result [NilClass] No result returned for this method
+ # @yieldparam err [StandardError] error object if request failed
+ #
+ # @return [void]
+ #
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
+ def revoke_purchase_subscription(package_name, subscription_id, token, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+ path = '{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke'
+ command = make_simple_command(:post, path, options)
+ command.params['packageName'] = package_name unless package_name.nil?
+ command.params['subscriptionId'] = subscription_id unless subscription_id.nil?
+ command.params['token'] = token unless token.nil?
+ command.query['fields'] = fields unless fields.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ execute_or_queue_command(command, &block)
+ end
+
+ protected
+
+ def apply_command_defaults(command)
+ command.query['key'] = key unless key.nil?
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
+ command.query['userIp'] = user_ip unless user_ip.nil?
+ end
+ end
+ end
+ end
+end
diff --git a/generated/google/apis/appsactivity_v1.rb b/generated/google/apis/appsactivity_v1.rb
new file mode 100644
index 000000000..dab295b88
--- /dev/null
+++ b/generated/google/apis/appsactivity_v1.rb
@@ -0,0 +1,46 @@
+# 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 'google/apis/appsactivity_v1/service.rb'
+require 'google/apis/appsactivity_v1/classes.rb'
+require 'google/apis/appsactivity_v1/representations.rb'
+
+module Google
+ module Apis
+ # Google Apps Activity API
+ #
+ # Provides a historical view of activity.
+ #
+ # @see https://developers.google.com/google-apps/activity/
+ module AppsactivityV1
+ VERSION = 'V1'
+ REVISION = '20150326'
+
+ # View the activity history of your Google Apps
+ AUTH_ACTIVITY = 'https://www.googleapis.com/auth/activity'
+
+ # View and manage the files in your Google Drive
+ AUTH_DRIVE = 'https://www.googleapis.com/auth/drive'
+
+ # View and manage metadata of files in your Google Drive
+ AUTH_DRIVE_METADATA = 'https://www.googleapis.com/auth/drive.metadata'
+
+ # View metadata for files in your Google Drive
+ AUTH_DRIVE_METADATA_READONLY = 'https://www.googleapis.com/auth/drive.metadata.readonly'
+
+ # View the files in your Google Drive
+ AUTH_DRIVE_READONLY = 'https://www.googleapis.com/auth/drive.readonly'
+ end
+ end
+end
diff --git a/generated/google/apis/appsactivity_v1/classes.rb b/generated/google/apis/appsactivity_v1/classes.rb
new file mode 100644
index 000000000..a3bf20c3a
--- /dev/null
+++ b/generated/google/apis/appsactivity_v1/classes.rb
@@ -0,0 +1,392 @@
+# 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 AppsactivityV1
+
+ # An Activity resource is a combined view of multiple events. An activity has a
+ # list of individual events and a combined view of the common fields among all
+ # events.
+ class Activity
+ include Google::Apis::Core::Hashable
+
+ # Represents the changes associated with an action taken by a user.
+ # Corresponds to the JSON property `combinedEvent`
+ # @return [Google::Apis::AppsactivityV1::Event]
+ attr_accessor :combined_event
+
+ # A list of all the Events that make up the Activity.
+ # Corresponds to the JSON property `singleEvents`
+ # @return [Array]
+ attr_accessor :single_events
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @combined_event = args[:combined_event] unless args[:combined_event].nil?
+ @single_events = args[:single_events] unless args[:single_events].nil?
+ end
+ end
+
+ # Represents the changes associated with an action taken by a user.
+ class Event
+ include Google::Apis::Core::Hashable
+
+ # Additional event types. Some events may have multiple types when multiple
+ # actions are part of a single event. For example, creating a document, renaming
+ # it, and sharing it may be part of a single file-creation event.
+ # Corresponds to the JSON property `additionalEventTypes`
+ # @return [Array]
+ attr_accessor :additional_event_types
+
+ # The time at which the event occurred formatted as Unix time in milliseconds.
+ # Corresponds to the JSON property `eventTimeMillis`
+ # @return [String]
+ attr_accessor :event_time_millis
+
+ # Whether this event is caused by a user being deleted.
+ # Corresponds to the JSON property `fromUserDeletion`
+ # @return [Boolean]
+ attr_accessor :from_user_deletion
+ alias_method :from_user_deletion?, :from_user_deletion
+
+ # Contains information about changes in an object's parents as a result of a
+ # move type event.
+ # Corresponds to the JSON property `move`
+ # @return [Google::Apis::AppsactivityV1::Move]
+ attr_accessor :move
+
+ # Extra information for permissionChange type events, such as the user or group
+ # the new permission applies to.
+ # Corresponds to the JSON property `permissionChanges`
+ # @return [Array