962 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			962 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| # Copyright 2015 Google Inc.
 | |
| #
 | |
| # Licensed under the Apache License, Version 2.0 (the "License");
 | |
| # you may not use this file except in compliance with the License.
 | |
| # You may obtain a copy of the License at
 | |
| #
 | |
| #      http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS,
 | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| # See the License for the specific language governing permissions and
 | |
| # limitations under the License.
 | |
| 
 | |
| require 'date'
 | |
| require 'google/apis/core/base_service'
 | |
| require 'google/apis/core/json_representation'
 | |
| require 'google/apis/core/hashable'
 | |
| require 'google/apis/errors'
 | |
| 
 | |
| module Google
 | |
|   module Apis
 | |
|     module DiscoveryV1
 | |
|       
 | |
|       # 
 | |
|       class DirectoryList
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Indicate the version of the Discovery API used to generate this doc.
 | |
|         # Corresponds to the JSON property `discoveryVersion`
 | |
|         # @return [String]
 | |
|         attr_accessor :discovery_version
 | |
|       
 | |
|         # The individual directory entries. One entry per api/version pair.
 | |
|         # Corresponds to the JSON property `items`
 | |
|         # @return [Array<Google::Apis::DiscoveryV1::DirectoryList::Item>]
 | |
|         attr_accessor :items
 | |
|       
 | |
|         # The kind for this response.
 | |
|         # 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)
 | |
|           @discovery_version = args[:discovery_version] if args.key?(:discovery_version)
 | |
|           @items = args[:items] if args.key?(:items)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|         end
 | |
|         
 | |
|         # 
 | |
|         class Item
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # The description of this API.
 | |
|           # Corresponds to the JSON property `description`
 | |
|           # @return [String]
 | |
|           attr_accessor :description
 | |
|         
 | |
|           # A link to the discovery document.
 | |
|           # Corresponds to the JSON property `discoveryLink`
 | |
|           # @return [String]
 | |
|           attr_accessor :discovery_link
 | |
|         
 | |
|           # The URL for the discovery REST document.
 | |
|           # Corresponds to the JSON property `discoveryRestUrl`
 | |
|           # @return [String]
 | |
|           attr_accessor :discovery_rest_url
 | |
|         
 | |
|           # A link to human readable documentation for the API.
 | |
|           # Corresponds to the JSON property `documentationLink`
 | |
|           # @return [String]
 | |
|           attr_accessor :documentation_link
 | |
|         
 | |
|           # Links to 16x16 and 32x32 icons representing the API.
 | |
|           # Corresponds to the JSON property `icons`
 | |
|           # @return [Google::Apis::DiscoveryV1::DirectoryList::Item::Icons]
 | |
|           attr_accessor :icons
 | |
|         
 | |
|           # The id of this API.
 | |
|           # Corresponds to the JSON property `id`
 | |
|           # @return [String]
 | |
|           attr_accessor :id
 | |
|         
 | |
|           # The kind for this response.
 | |
|           # Corresponds to the JSON property `kind`
 | |
|           # @return [String]
 | |
|           attr_accessor :kind
 | |
|         
 | |
|           # Labels for the status of this API, such as labs or deprecated.
 | |
|           # Corresponds to the JSON property `labels`
 | |
|           # @return [Array<String>]
 | |
|           attr_accessor :labels
 | |
|         
 | |
|           # The name of the API.
 | |
|           # Corresponds to the JSON property `name`
 | |
|           # @return [String]
 | |
|           attr_accessor :name
 | |
|         
 | |
|           # True if this version is the preferred version to use.
 | |
|           # Corresponds to the JSON property `preferred`
 | |
|           # @return [Boolean]
 | |
|           attr_accessor :preferred
 | |
|           alias_method :preferred?, :preferred
 | |
|         
 | |
|           # The title of this API.
 | |
|           # Corresponds to the JSON property `title`
 | |
|           # @return [String]
 | |
|           attr_accessor :title
 | |
|         
 | |
|           # The version of the API.
 | |
|           # Corresponds to the JSON property `version`
 | |
|           # @return [String]
 | |
|           attr_accessor :version
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @description = args[:description] if args.key?(:description)
 | |
|             @discovery_link = args[:discovery_link] if args.key?(:discovery_link)
 | |
|             @discovery_rest_url = args[:discovery_rest_url] if args.key?(:discovery_rest_url)
 | |
|             @documentation_link = args[:documentation_link] if args.key?(:documentation_link)
 | |
|             @icons = args[:icons] if args.key?(:icons)
 | |
|             @id = args[:id] if args.key?(:id)
 | |
|             @kind = args[:kind] if args.key?(:kind)
 | |
|             @labels = args[:labels] if args.key?(:labels)
 | |
|             @name = args[:name] if args.key?(:name)
 | |
|             @preferred = args[:preferred] if args.key?(:preferred)
 | |
|             @title = args[:title] if args.key?(:title)
 | |
|             @version = args[:version] if args.key?(:version)
 | |
|           end
 | |
|           
 | |
|           # Links to 16x16 and 32x32 icons representing the API.
 | |
|           class Icons
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # The URL of the 16x16 icon.
 | |
|             # Corresponds to the JSON property `x16`
 | |
|             # @return [String]
 | |
|             attr_accessor :x16
 | |
|           
 | |
|             # The URL of the 32x32 icon.
 | |
|             # Corresponds to the JSON property `x32`
 | |
|             # @return [String]
 | |
|             attr_accessor :x32
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @x16 = args[:x16] if args.key?(:x16)
 | |
|               @x32 = args[:x32] if args.key?(:x32)
 | |
|             end
 | |
|           end
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class JsonSchema
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # A reference to another schema. The value of this property is the "id" of
 | |
|         # another schema.
 | |
|         # Corresponds to the JSON property `$ref`
 | |
|         # @return [String]
 | |
|         attr_accessor :_ref
 | |
|       
 | |
|         # If this is a schema for an object, this property is the schema for any
 | |
|         # additional properties with dynamic keys on this object.
 | |
|         # Corresponds to the JSON property `additionalProperties`
 | |
|         # @return [Google::Apis::DiscoveryV1::JsonSchema]
 | |
|         attr_accessor :additional_properties
 | |
|       
 | |
|         # Additional information about this property.
 | |
|         # Corresponds to the JSON property `annotations`
 | |
|         # @return [Google::Apis::DiscoveryV1::JsonSchema::Annotations]
 | |
|         attr_accessor :annotations
 | |
|       
 | |
|         # The default value of this property (if one exists).
 | |
|         # Corresponds to the JSON property `default`
 | |
|         # @return [String]
 | |
|         attr_accessor :default
 | |
|       
 | |
|         # A description of this object.
 | |
|         # Corresponds to the JSON property `description`
 | |
|         # @return [String]
 | |
|         attr_accessor :description
 | |
|       
 | |
|         # Values this parameter may take (if it is an enum).
 | |
|         # Corresponds to the JSON property `enum`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :enum
 | |
|       
 | |
|         # The descriptions for the enums. Each position maps to the corresponding value
 | |
|         # in the "enum" array.
 | |
|         # Corresponds to the JSON property `enumDescriptions`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :enum_descriptions
 | |
|       
 | |
|         # An additional regular expression or key that helps constrain the value. For
 | |
|         # more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-
 | |
|         # 5.23
 | |
|         # Corresponds to the JSON property `format`
 | |
|         # @return [String]
 | |
|         attr_accessor :format
 | |
|       
 | |
|         # Unique identifier for this schema.
 | |
|         # Corresponds to the JSON property `id`
 | |
|         # @return [String]
 | |
|         attr_accessor :id
 | |
|       
 | |
|         # If this is a schema for an array, this property is the schema for each element
 | |
|         # in the array.
 | |
|         # Corresponds to the JSON property `items`
 | |
|         # @return [Google::Apis::DiscoveryV1::JsonSchema]
 | |
|         attr_accessor :items
 | |
|       
 | |
|         # Whether this parameter goes in the query or the path for REST requests.
 | |
|         # Corresponds to the JSON property `location`
 | |
|         # @return [String]
 | |
|         attr_accessor :location
 | |
|       
 | |
|         # The maximum value of this parameter.
 | |
|         # Corresponds to the JSON property `maximum`
 | |
|         # @return [String]
 | |
|         attr_accessor :maximum
 | |
|       
 | |
|         # The minimum value of this parameter.
 | |
|         # Corresponds to the JSON property `minimum`
 | |
|         # @return [String]
 | |
|         attr_accessor :minimum
 | |
|       
 | |
|         # The regular expression this parameter must conform to. Uses Java 6 regex
 | |
|         # format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
 | |
|         # Corresponds to the JSON property `pattern`
 | |
|         # @return [String]
 | |
|         attr_accessor :pattern
 | |
|       
 | |
|         # If this is a schema for an object, list the schema for each property of this
 | |
|         # object.
 | |
|         # Corresponds to the JSON property `properties`
 | |
|         # @return [Hash<String,Google::Apis::DiscoveryV1::JsonSchema>]
 | |
|         attr_accessor :properties
 | |
|       
 | |
|         # The value is read-only, generated by the service. The value cannot be modified
 | |
|         # by the client. If the value is included in a POST, PUT, or PATCH request, it
 | |
|         # is ignored by the service.
 | |
|         # Corresponds to the JSON property `readOnly`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :read_only
 | |
|         alias_method :read_only?, :read_only
 | |
|       
 | |
|         # Whether this parameter may appear multiple times.
 | |
|         # Corresponds to the JSON property `repeated`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :repeated
 | |
|         alias_method :repeated?, :repeated
 | |
|       
 | |
|         # Whether the parameter is required.
 | |
|         # Corresponds to the JSON property `required`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :required
 | |
|         alias_method :required?, :required
 | |
|       
 | |
|         # The value type for this schema. A list of values can be found here: http://
 | |
|         # tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
 | |
|         # Corresponds to the JSON property `type`
 | |
|         # @return [String]
 | |
|         attr_accessor :type
 | |
|       
 | |
|         # In a variant data type, the value of one property is used to determine how to
 | |
|         # interpret the entire entity. Its value must exist in a map of descriminant
 | |
|         # values to schema names.
 | |
|         # Corresponds to the JSON property `variant`
 | |
|         # @return [Google::Apis::DiscoveryV1::JsonSchema::Variant]
 | |
|         attr_accessor :variant
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @_ref = args[:_ref] if args.key?(:_ref)
 | |
|           @additional_properties = args[:additional_properties] if args.key?(:additional_properties)
 | |
|           @annotations = args[:annotations] if args.key?(:annotations)
 | |
|           @default = args[:default] if args.key?(:default)
 | |
|           @description = args[:description] if args.key?(:description)
 | |
|           @enum = args[:enum] if args.key?(:enum)
 | |
|           @enum_descriptions = args[:enum_descriptions] if args.key?(:enum_descriptions)
 | |
|           @format = args[:format] if args.key?(:format)
 | |
|           @id = args[:id] if args.key?(:id)
 | |
|           @items = args[:items] if args.key?(:items)
 | |
|           @location = args[:location] if args.key?(:location)
 | |
|           @maximum = args[:maximum] if args.key?(:maximum)
 | |
|           @minimum = args[:minimum] if args.key?(:minimum)
 | |
|           @pattern = args[:pattern] if args.key?(:pattern)
 | |
|           @properties = args[:properties] if args.key?(:properties)
 | |
|           @read_only = args[:read_only] if args.key?(:read_only)
 | |
|           @repeated = args[:repeated] if args.key?(:repeated)
 | |
|           @required = args[:required] if args.key?(:required)
 | |
|           @type = args[:type] if args.key?(:type)
 | |
|           @variant = args[:variant] if args.key?(:variant)
 | |
|         end
 | |
|         
 | |
|         # Additional information about this property.
 | |
|         class Annotations
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # A list of methods for which this property is required on requests.
 | |
|           # Corresponds to the JSON property `required`
 | |
|           # @return [Array<String>]
 | |
|           attr_accessor :required
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @required = args[:required] if args.key?(:required)
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # In a variant data type, the value of one property is used to determine how to
 | |
|         # interpret the entire entity. Its value must exist in a map of descriminant
 | |
|         # values to schema names.
 | |
|         class Variant
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # The name of the type discriminant property.
 | |
|           # Corresponds to the JSON property `discriminant`
 | |
|           # @return [String]
 | |
|           attr_accessor :discriminant
 | |
|         
 | |
|           # The map of discriminant value to schema to use for parsing..
 | |
|           # Corresponds to the JSON property `map`
 | |
|           # @return [Array<Google::Apis::DiscoveryV1::JsonSchema::Variant::Map>]
 | |
|           attr_accessor :map
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @discriminant = args[:discriminant] if args.key?(:discriminant)
 | |
|             @map = args[:map] if args.key?(:map)
 | |
|           end
 | |
|           
 | |
|           # 
 | |
|           class Map
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `$ref`
 | |
|             # @return [String]
 | |
|             attr_accessor :_ref
 | |
|           
 | |
|             # 
 | |
|             # Corresponds to the JSON property `type_value`
 | |
|             # @return [String]
 | |
|             attr_accessor :type_value
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @_ref = args[:_ref] if args.key?(:_ref)
 | |
|               @type_value = args[:type_value] if args.key?(:type_value)
 | |
|             end
 | |
|           end
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class RestDescription
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Authentication information.
 | |
|         # Corresponds to the JSON property `auth`
 | |
|         # @return [Google::Apis::DiscoveryV1::RestDescription::Auth]
 | |
|         attr_accessor :auth
 | |
|       
 | |
|         # [DEPRECATED] The base path for REST requests.
 | |
|         # Corresponds to the JSON property `basePath`
 | |
|         # @return [String]
 | |
|         attr_accessor :base_path
 | |
|       
 | |
|         # [DEPRECATED] The base URL for REST requests.
 | |
|         # Corresponds to the JSON property `baseUrl`
 | |
|         # @return [String]
 | |
|         attr_accessor :base_url
 | |
|       
 | |
|         # The path for REST batch requests.
 | |
|         # Corresponds to the JSON property `batchPath`
 | |
|         # @return [String]
 | |
|         attr_accessor :batch_path
 | |
|       
 | |
|         # Indicates how the API name should be capitalized and split into various parts.
 | |
|         # Useful for generating pretty class names.
 | |
|         # Corresponds to the JSON property `canonicalName`
 | |
|         # @return [String]
 | |
|         attr_accessor :canonical_name
 | |
|       
 | |
|         # The description of this API.
 | |
|         # Corresponds to the JSON property `description`
 | |
|         # @return [String]
 | |
|         attr_accessor :description
 | |
|       
 | |
|         # Indicate the version of the Discovery API used to generate this doc.
 | |
|         # Corresponds to the JSON property `discoveryVersion`
 | |
|         # @return [String]
 | |
|         attr_accessor :discovery_version
 | |
|       
 | |
|         # A link to human readable documentation for the API.
 | |
|         # Corresponds to the JSON property `documentationLink`
 | |
|         # @return [String]
 | |
|         attr_accessor :documentation_link
 | |
|       
 | |
|         # The ETag for this response.
 | |
|         # Corresponds to the JSON property `etag`
 | |
|         # @return [String]
 | |
|         attr_accessor :etag
 | |
|       
 | |
|         # Enable exponential backoff for suitable methods in the generated clients.
 | |
|         # Corresponds to the JSON property `exponentialBackoffDefault`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :exponential_backoff_default
 | |
|         alias_method :exponential_backoff_default?, :exponential_backoff_default
 | |
|       
 | |
|         # A list of supported features for this API.
 | |
|         # Corresponds to the JSON property `features`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :features
 | |
|       
 | |
|         # Links to 16x16 and 32x32 icons representing the API.
 | |
|         # Corresponds to the JSON property `icons`
 | |
|         # @return [Google::Apis::DiscoveryV1::RestDescription::Icons]
 | |
|         attr_accessor :icons
 | |
|       
 | |
|         # The ID of this API.
 | |
|         # Corresponds to the JSON property `id`
 | |
|         # @return [String]
 | |
|         attr_accessor :id
 | |
|       
 | |
|         # The kind for this response.
 | |
|         # Corresponds to the JSON property `kind`
 | |
|         # @return [String]
 | |
|         attr_accessor :kind
 | |
|       
 | |
|         # Labels for the status of this API, such as labs or deprecated.
 | |
|         # Corresponds to the JSON property `labels`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :labels
 | |
|       
 | |
|         # API-level methods for this API.
 | |
|         # Corresponds to the JSON property `methods`
 | |
|         # @return [Hash<String,Google::Apis::DiscoveryV1::RestMethod>]
 | |
|         attr_accessor :api_methods
 | |
|       
 | |
|         # The name of this API.
 | |
|         # Corresponds to the JSON property `name`
 | |
|         # @return [String]
 | |
|         attr_accessor :name
 | |
|       
 | |
|         # The domain of the owner of this API. Together with the ownerName and a
 | |
|         # packagePath values, this can be used to generate a library for this API which
 | |
|         # would have a unique fully qualified name.
 | |
|         # Corresponds to the JSON property `ownerDomain`
 | |
|         # @return [String]
 | |
|         attr_accessor :owner_domain
 | |
|       
 | |
|         # The name of the owner of this API. See ownerDomain.
 | |
|         # Corresponds to the JSON property `ownerName`
 | |
|         # @return [String]
 | |
|         attr_accessor :owner_name
 | |
|       
 | |
|         # The package of the owner of this API. See ownerDomain.
 | |
|         # Corresponds to the JSON property `packagePath`
 | |
|         # @return [String]
 | |
|         attr_accessor :package_path
 | |
|       
 | |
|         # Common parameters that apply across all apis.
 | |
|         # Corresponds to the JSON property `parameters`
 | |
|         # @return [Hash<String,Google::Apis::DiscoveryV1::JsonSchema>]
 | |
|         attr_accessor :parameters
 | |
|       
 | |
|         # The protocol described by this document.
 | |
|         # Corresponds to the JSON property `protocol`
 | |
|         # @return [String]
 | |
|         attr_accessor :protocol
 | |
|       
 | |
|         # The resources in this API.
 | |
|         # Corresponds to the JSON property `resources`
 | |
|         # @return [Hash<String,Google::Apis::DiscoveryV1::RestResource>]
 | |
|         attr_accessor :resources
 | |
|       
 | |
|         # The version of this API.
 | |
|         # Corresponds to the JSON property `revision`
 | |
|         # @return [String]
 | |
|         attr_accessor :revision
 | |
|       
 | |
|         # The root URL under which all API services live.
 | |
|         # Corresponds to the JSON property `rootUrl`
 | |
|         # @return [String]
 | |
|         attr_accessor :root_url
 | |
|       
 | |
|         # The schemas for this API.
 | |
|         # Corresponds to the JSON property `schemas`
 | |
|         # @return [Hash<String,Google::Apis::DiscoveryV1::JsonSchema>]
 | |
|         attr_accessor :schemas
 | |
|       
 | |
|         # The base path for all REST requests.
 | |
|         # Corresponds to the JSON property `servicePath`
 | |
|         # @return [String]
 | |
|         attr_accessor :service_path
 | |
|       
 | |
|         # The title of this API.
 | |
|         # Corresponds to the JSON property `title`
 | |
|         # @return [String]
 | |
|         attr_accessor :title
 | |
|       
 | |
|         # The version of this API.
 | |
|         # Corresponds to the JSON property `version`
 | |
|         # @return [String]
 | |
|         attr_accessor :version
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `version_module`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :version_module
 | |
|         alias_method :version_module?, :version_module
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @auth = args[:auth] if args.key?(:auth)
 | |
|           @base_path = args[:base_path] if args.key?(:base_path)
 | |
|           @base_url = args[:base_url] if args.key?(:base_url)
 | |
|           @batch_path = args[:batch_path] if args.key?(:batch_path)
 | |
|           @canonical_name = args[:canonical_name] if args.key?(:canonical_name)
 | |
|           @description = args[:description] if args.key?(:description)
 | |
|           @discovery_version = args[:discovery_version] if args.key?(:discovery_version)
 | |
|           @documentation_link = args[:documentation_link] if args.key?(:documentation_link)
 | |
|           @etag = args[:etag] if args.key?(:etag)
 | |
|           @exponential_backoff_default = args[:exponential_backoff_default] if args.key?(:exponential_backoff_default)
 | |
|           @features = args[:features] if args.key?(:features)
 | |
|           @icons = args[:icons] if args.key?(:icons)
 | |
|           @id = args[:id] if args.key?(:id)
 | |
|           @kind = args[:kind] if args.key?(:kind)
 | |
|           @labels = args[:labels] if args.key?(:labels)
 | |
|           @api_methods = args[:api_methods] if args.key?(:api_methods)
 | |
|           @name = args[:name] if args.key?(:name)
 | |
|           @owner_domain = args[:owner_domain] if args.key?(:owner_domain)
 | |
|           @owner_name = args[:owner_name] if args.key?(:owner_name)
 | |
|           @package_path = args[:package_path] if args.key?(:package_path)
 | |
|           @parameters = args[:parameters] if args.key?(:parameters)
 | |
|           @protocol = args[:protocol] if args.key?(:protocol)
 | |
|           @resources = args[:resources] if args.key?(:resources)
 | |
|           @revision = args[:revision] if args.key?(:revision)
 | |
|           @root_url = args[:root_url] if args.key?(:root_url)
 | |
|           @schemas = args[:schemas] if args.key?(:schemas)
 | |
|           @service_path = args[:service_path] if args.key?(:service_path)
 | |
|           @title = args[:title] if args.key?(:title)
 | |
|           @version = args[:version] if args.key?(:version)
 | |
|           @version_module = args[:version_module] if args.key?(:version_module)
 | |
|         end
 | |
|         
 | |
|         # Authentication information.
 | |
|         class Auth
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # OAuth 2.0 authentication information.
 | |
|           # Corresponds to the JSON property `oauth2`
 | |
|           # @return [Google::Apis::DiscoveryV1::RestDescription::Auth::Oauth2]
 | |
|           attr_accessor :oauth2
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @oauth2 = args[:oauth2] if args.key?(:oauth2)
 | |
|           end
 | |
|           
 | |
|           # OAuth 2.0 authentication information.
 | |
|           class Oauth2
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # Available OAuth 2.0 scopes.
 | |
|             # Corresponds to the JSON property `scopes`
 | |
|             # @return [Hash<String,Google::Apis::DiscoveryV1::RestDescription::Auth::Oauth2::Scope>]
 | |
|             attr_accessor :scopes
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @scopes = args[:scopes] if args.key?(:scopes)
 | |
|             end
 | |
|             
 | |
|             # The scope value.
 | |
|             class Scope
 | |
|               include Google::Apis::Core::Hashable
 | |
|             
 | |
|               # Description of scope.
 | |
|               # Corresponds to the JSON property `description`
 | |
|               # @return [String]
 | |
|               attr_accessor :description
 | |
|             
 | |
|               def initialize(**args)
 | |
|                  update!(**args)
 | |
|               end
 | |
|             
 | |
|               # Update properties of this object
 | |
|               def update!(**args)
 | |
|                 @description = args[:description] if args.key?(:description)
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # Links to 16x16 and 32x32 icons representing the API.
 | |
|         class Icons
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # The URL of the 16x16 icon.
 | |
|           # Corresponds to the JSON property `x16`
 | |
|           # @return [String]
 | |
|           attr_accessor :x16
 | |
|         
 | |
|           # The URL of the 32x32 icon.
 | |
|           # Corresponds to the JSON property `x32`
 | |
|           # @return [String]
 | |
|           attr_accessor :x32
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @x16 = args[:x16] if args.key?(:x16)
 | |
|             @x32 = args[:x32] if args.key?(:x32)
 | |
|           end
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class RestMethod
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Description of this method.
 | |
|         # Corresponds to the JSON property `description`
 | |
|         # @return [String]
 | |
|         attr_accessor :description
 | |
|       
 | |
|         # Whether this method requires an ETag to be specified. The ETag is sent as an
 | |
|         # HTTP If-Match or If-None-Match header.
 | |
|         # Corresponds to the JSON property `etagRequired`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :etag_required
 | |
|         alias_method :etag_required?, :etag_required
 | |
|       
 | |
|         # HTTP method used by this method.
 | |
|         # Corresponds to the JSON property `httpMethod`
 | |
|         # @return [String]
 | |
|         attr_accessor :http_method
 | |
|       
 | |
|         # A unique ID for this method. This property can be used to match methods
 | |
|         # between different versions of Discovery.
 | |
|         # Corresponds to the JSON property `id`
 | |
|         # @return [String]
 | |
|         attr_accessor :id
 | |
|       
 | |
|         # Media upload parameters.
 | |
|         # Corresponds to the JSON property `mediaUpload`
 | |
|         # @return [Google::Apis::DiscoveryV1::RestMethod::MediaUpload]
 | |
|         attr_accessor :media_upload
 | |
|       
 | |
|         # Ordered list of required parameters, serves as a hint to clients on how to
 | |
|         # structure their method signatures. The array is ordered such that the "most-
 | |
|         # significant" parameter appears first.
 | |
|         # Corresponds to the JSON property `parameterOrder`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :parameter_order
 | |
|       
 | |
|         # Details for all parameters in this method.
 | |
|         # Corresponds to the JSON property `parameters`
 | |
|         # @return [Hash<String,Google::Apis::DiscoveryV1::JsonSchema>]
 | |
|         attr_accessor :parameters
 | |
|       
 | |
|         # The URI path of this REST method. Should be used in conjunction with the
 | |
|         # basePath property at the api-level.
 | |
|         # Corresponds to the JSON property `path`
 | |
|         # @return [String]
 | |
|         attr_accessor :path
 | |
|       
 | |
|         # The schema for the request.
 | |
|         # Corresponds to the JSON property `request`
 | |
|         # @return [Google::Apis::DiscoveryV1::RestMethod::Request]
 | |
|         attr_accessor :request
 | |
|       
 | |
|         # The schema for the response.
 | |
|         # Corresponds to the JSON property `response`
 | |
|         # @return [Google::Apis::DiscoveryV1::RestMethod::Response]
 | |
|         attr_accessor :response
 | |
|       
 | |
|         # OAuth 2.0 scopes applicable to this method.
 | |
|         # Corresponds to the JSON property `scopes`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :scopes
 | |
|       
 | |
|         # Whether this method supports media downloads.
 | |
|         # Corresponds to the JSON property `supportsMediaDownload`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :supports_media_download
 | |
|         alias_method :supports_media_download?, :supports_media_download
 | |
|       
 | |
|         # Whether this method supports media uploads.
 | |
|         # Corresponds to the JSON property `supportsMediaUpload`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :supports_media_upload
 | |
|         alias_method :supports_media_upload?, :supports_media_upload
 | |
|       
 | |
|         # Whether this method supports subscriptions.
 | |
|         # Corresponds to the JSON property `supportsSubscription`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :supports_subscription
 | |
|         alias_method :supports_subscription?, :supports_subscription
 | |
|       
 | |
|         # Indicates that downloads from this method should use the download service URL (
 | |
|         # i.e. "/download"). Only applies if the method supports media download.
 | |
|         # Corresponds to the JSON property `useMediaDownloadService`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :use_media_download_service
 | |
|         alias_method :use_media_download_service?, :use_media_download_service
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @description = args[:description] if args.key?(:description)
 | |
|           @etag_required = args[:etag_required] if args.key?(:etag_required)
 | |
|           @http_method = args[:http_method] if args.key?(:http_method)
 | |
|           @id = args[:id] if args.key?(:id)
 | |
|           @media_upload = args[:media_upload] if args.key?(:media_upload)
 | |
|           @parameter_order = args[:parameter_order] if args.key?(:parameter_order)
 | |
|           @parameters = args[:parameters] if args.key?(:parameters)
 | |
|           @path = args[:path] if args.key?(:path)
 | |
|           @request = args[:request] if args.key?(:request)
 | |
|           @response = args[:response] if args.key?(:response)
 | |
|           @scopes = args[:scopes] if args.key?(:scopes)
 | |
|           @supports_media_download = args[:supports_media_download] if args.key?(:supports_media_download)
 | |
|           @supports_media_upload = args[:supports_media_upload] if args.key?(:supports_media_upload)
 | |
|           @supports_subscription = args[:supports_subscription] if args.key?(:supports_subscription)
 | |
|           @use_media_download_service = args[:use_media_download_service] if args.key?(:use_media_download_service)
 | |
|         end
 | |
|         
 | |
|         # Media upload parameters.
 | |
|         class MediaUpload
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # MIME Media Ranges for acceptable media uploads to this method.
 | |
|           # Corresponds to the JSON property `accept`
 | |
|           # @return [Array<String>]
 | |
|           attr_accessor :accept
 | |
|         
 | |
|           # Maximum size of a media upload, such as "1MB", "2GB" or "3TB".
 | |
|           # Corresponds to the JSON property `maxSize`
 | |
|           # @return [String]
 | |
|           attr_accessor :max_size
 | |
|         
 | |
|           # Supported upload protocols.
 | |
|           # Corresponds to the JSON property `protocols`
 | |
|           # @return [Google::Apis::DiscoveryV1::RestMethod::MediaUpload::Protocols]
 | |
|           attr_accessor :protocols
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @accept = args[:accept] if args.key?(:accept)
 | |
|             @max_size = args[:max_size] if args.key?(:max_size)
 | |
|             @protocols = args[:protocols] if args.key?(:protocols)
 | |
|           end
 | |
|           
 | |
|           # Supported upload protocols.
 | |
|           class Protocols
 | |
|             include Google::Apis::Core::Hashable
 | |
|           
 | |
|             # Supports the Resumable Media Upload protocol.
 | |
|             # Corresponds to the JSON property `resumable`
 | |
|             # @return [Google::Apis::DiscoveryV1::RestMethod::MediaUpload::Protocols::Resumable]
 | |
|             attr_accessor :resumable
 | |
|           
 | |
|             # Supports uploading as a single HTTP request.
 | |
|             # Corresponds to the JSON property `simple`
 | |
|             # @return [Google::Apis::DiscoveryV1::RestMethod::MediaUpload::Protocols::Simple]
 | |
|             attr_accessor :simple
 | |
|           
 | |
|             def initialize(**args)
 | |
|                update!(**args)
 | |
|             end
 | |
|           
 | |
|             # Update properties of this object
 | |
|             def update!(**args)
 | |
|               @resumable = args[:resumable] if args.key?(:resumable)
 | |
|               @simple = args[:simple] if args.key?(:simple)
 | |
|             end
 | |
|             
 | |
|             # Supports the Resumable Media Upload protocol.
 | |
|             class Resumable
 | |
|               include Google::Apis::Core::Hashable
 | |
|             
 | |
|               # True if this endpoint supports uploading multipart media.
 | |
|               # Corresponds to the JSON property `multipart`
 | |
|               # @return [Boolean]
 | |
|               attr_accessor :multipart
 | |
|               alias_method :multipart?, :multipart
 | |
|             
 | |
|               # The URI path to be used for upload. Should be used in conjunction with the
 | |
|               # basePath property at the api-level.
 | |
|               # Corresponds to the JSON property `path`
 | |
|               # @return [String]
 | |
|               attr_accessor :path
 | |
|             
 | |
|               def initialize(**args)
 | |
|                  update!(**args)
 | |
|               end
 | |
|             
 | |
|               # Update properties of this object
 | |
|               def update!(**args)
 | |
|                 @multipart = args[:multipart] if args.key?(:multipart)
 | |
|                 @path = args[:path] if args.key?(:path)
 | |
|               end
 | |
|             end
 | |
|             
 | |
|             # Supports uploading as a single HTTP request.
 | |
|             class Simple
 | |
|               include Google::Apis::Core::Hashable
 | |
|             
 | |
|               # True if this endpoint supports upload multipart media.
 | |
|               # Corresponds to the JSON property `multipart`
 | |
|               # @return [Boolean]
 | |
|               attr_accessor :multipart
 | |
|               alias_method :multipart?, :multipart
 | |
|             
 | |
|               # The URI path to be used for upload. Should be used in conjunction with the
 | |
|               # basePath property at the api-level.
 | |
|               # Corresponds to the JSON property `path`
 | |
|               # @return [String]
 | |
|               attr_accessor :path
 | |
|             
 | |
|               def initialize(**args)
 | |
|                  update!(**args)
 | |
|               end
 | |
|             
 | |
|               # Update properties of this object
 | |
|               def update!(**args)
 | |
|                 @multipart = args[:multipart] if args.key?(:multipart)
 | |
|                 @path = args[:path] if args.key?(:path)
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # The schema for the request.
 | |
|         class Request
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # Schema ID for the request schema.
 | |
|           # Corresponds to the JSON property `$ref`
 | |
|           # @return [String]
 | |
|           attr_accessor :_ref
 | |
|         
 | |
|           # parameter name.
 | |
|           # Corresponds to the JSON property `parameterName`
 | |
|           # @return [String]
 | |
|           attr_accessor :parameter_name
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @_ref = args[:_ref] if args.key?(:_ref)
 | |
|             @parameter_name = args[:parameter_name] if args.key?(:parameter_name)
 | |
|           end
 | |
|         end
 | |
|         
 | |
|         # The schema for the response.
 | |
|         class Response
 | |
|           include Google::Apis::Core::Hashable
 | |
|         
 | |
|           # Schema ID for the response schema.
 | |
|           # Corresponds to the JSON property `$ref`
 | |
|           # @return [String]
 | |
|           attr_accessor :_ref
 | |
|         
 | |
|           def initialize(**args)
 | |
|              update!(**args)
 | |
|           end
 | |
|         
 | |
|           # Update properties of this object
 | |
|           def update!(**args)
 | |
|             @_ref = args[:_ref] if args.key?(:_ref)
 | |
|           end
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class RestResource
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Methods on this resource.
 | |
|         # Corresponds to the JSON property `methods`
 | |
|         # @return [Hash<String,Google::Apis::DiscoveryV1::RestMethod>]
 | |
|         attr_accessor :api_methods
 | |
|       
 | |
|         # Sub-resources on this resource.
 | |
|         # Corresponds to the JSON property `resources`
 | |
|         # @return [Hash<String,Google::Apis::DiscoveryV1::RestResource>]
 | |
|         attr_accessor :resources
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @api_methods = args[:api_methods] if args.key?(:api_methods)
 | |
|           @resources = args[:resources] if args.key?(:resources)
 | |
|         end
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |