962 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			Ruby
		
	
	
	
		
		
			
		
	
	
			962 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| 
								 | 
							
								# Copyright 2020 Google LLC
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Licensed under the Apache License, Version 2.0 (the "License");
							 | 
						||
| 
								 | 
							
								# you may not use this file except in compliance with the License.
							 | 
						||
| 
								 | 
							
								# You may obtain a copy of the License at
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#      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
							 |