3285 lines
		
	
	
		
			131 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			3285 lines
		
	
	
		
			131 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 DocumentaiV1beta2
 | 
						|
      
 | 
						|
      # Response to an batch document processing request. This is returned in
 | 
						|
      # the LRO Operation after the operation is complete.
 | 
						|
      class GoogleCloudDocumentaiV1beta1BatchProcessDocumentsResponse
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Responses for each individual document.
 | 
						|
        # Corresponds to the JSON property `responses`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1ProcessDocumentResponse>]
 | 
						|
        attr_accessor :responses
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @responses = args[:responses] if args.key?(:responses)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A bounding polygon for the detected image annotation.
 | 
						|
      class GoogleCloudDocumentaiV1beta1BoundingPoly
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The bounding polygon normalized vertices.
 | 
						|
        # Corresponds to the JSON property `normalizedVertices`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1NormalizedVertex>]
 | 
						|
        attr_accessor :normalized_vertices
 | 
						|
      
 | 
						|
        # The bounding polygon vertices.
 | 
						|
        # Corresponds to the JSON property `vertices`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1Vertex>]
 | 
						|
        attr_accessor :vertices
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @normalized_vertices = args[:normalized_vertices] if args.key?(:normalized_vertices)
 | 
						|
          @vertices = args[:vertices] if args.key?(:vertices)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Document represents the canonical document resource in Document Understanding
 | 
						|
      # AI.
 | 
						|
      # It is an interchange format that provides insights into documents and allows
 | 
						|
      # for collaboration between users and Document Understanding AI to iterate and
 | 
						|
      # optimize for quality.
 | 
						|
      class GoogleCloudDocumentaiV1beta1Document
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Inline document content, represented as a stream of bytes.
 | 
						|
        # Note: As with all `bytes` fields, protobuffers use a pure binary
 | 
						|
        # representation, whereas JSON representations use base64.
 | 
						|
        # Corresponds to the JSON property `content`
 | 
						|
        # NOTE: Values are automatically base64 encoded/decoded in the client library.
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :content
 | 
						|
      
 | 
						|
        # A list of entities detected on Document.text. For document shards,
 | 
						|
        # entities in this list may cross shard boundaries.
 | 
						|
        # Corresponds to the JSON property `entities`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentEntity>]
 | 
						|
        attr_accessor :entities
 | 
						|
      
 | 
						|
        # Relationship among Document.entities.
 | 
						|
        # Corresponds to the JSON property `entityRelations`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentEntityRelation>]
 | 
						|
        attr_accessor :entity_relations
 | 
						|
      
 | 
						|
        # The `Status` type defines a logical error model that is suitable for
 | 
						|
        # different programming environments, including REST APIs and RPC APIs. It is
 | 
						|
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
 | 
						|
        # three pieces of data: error code, error message, and error details.
 | 
						|
        # You can find out more about this error model and how to work with it in the
 | 
						|
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
 | 
						|
        # Corresponds to the JSON property `error`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleRpcStatus]
 | 
						|
        attr_accessor :error
 | 
						|
      
 | 
						|
        # An IANA published MIME type (also referred to as media type). For more
 | 
						|
        # information, see
 | 
						|
        # https://www.iana.org/assignments/media-types/media-types.xhtml.
 | 
						|
        # Corresponds to the JSON property `mimeType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :mime_type
 | 
						|
      
 | 
						|
        # Visual page layout for the Document.
 | 
						|
        # Corresponds to the JSON property `pages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPage>]
 | 
						|
        attr_accessor :pages
 | 
						|
      
 | 
						|
        # For a large document, sharding may be performed to produce several
 | 
						|
        # document shards. Each document shard contains this field to detail which
 | 
						|
        # shard it is.
 | 
						|
        # Corresponds to the JSON property `shardInfo`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentShardInfo]
 | 
						|
        attr_accessor :shard_info
 | 
						|
      
 | 
						|
        # UTF-8 encoded text in reading order from the document.
 | 
						|
        # Corresponds to the JSON property `text`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :text
 | 
						|
      
 | 
						|
        # Styles for the Document.text.
 | 
						|
        # Corresponds to the JSON property `textStyles`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentStyle>]
 | 
						|
        attr_accessor :text_styles
 | 
						|
      
 | 
						|
        # A list of translations on Document.text. For document shards,
 | 
						|
        # translations in this list may cross shard boundaries.
 | 
						|
        # Corresponds to the JSON property `translations`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentTranslation>]
 | 
						|
        attr_accessor :translations
 | 
						|
      
 | 
						|
        # Currently supports Google Cloud Storage URI of the form
 | 
						|
        # `gs://bucket_name/object_name`. Object versioning is not supported.
 | 
						|
        # See [Google Cloud Storage Request
 | 
						|
        # URIs](https://cloud.google.com/storage/docs/reference-uris) for more
 | 
						|
        # info.
 | 
						|
        # Corresponds to the JSON property `uri`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :uri
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @content = args[:content] if args.key?(:content)
 | 
						|
          @entities = args[:entities] if args.key?(:entities)
 | 
						|
          @entity_relations = args[:entity_relations] if args.key?(:entity_relations)
 | 
						|
          @error = args[:error] if args.key?(:error)
 | 
						|
          @mime_type = args[:mime_type] if args.key?(:mime_type)
 | 
						|
          @pages = args[:pages] if args.key?(:pages)
 | 
						|
          @shard_info = args[:shard_info] if args.key?(:shard_info)
 | 
						|
          @text = args[:text] if args.key?(:text)
 | 
						|
          @text_styles = args[:text_styles] if args.key?(:text_styles)
 | 
						|
          @translations = args[:translations] if args.key?(:translations)
 | 
						|
          @uri = args[:uri] if args.key?(:uri)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A phrase in the text that is a known entity type, such as a person, an
 | 
						|
      # organization, or location.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentEntity
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Optional. Confidence of detected Schema entity. Range [0, 1].
 | 
						|
        # Corresponds to the JSON property `confidence`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :confidence
 | 
						|
      
 | 
						|
        # Deprecated.  Use `id` field instead.
 | 
						|
        # Corresponds to the JSON property `mentionId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :mention_id
 | 
						|
      
 | 
						|
        # Text value in the document e.g. `1600 Amphitheatre Pkwy`.
 | 
						|
        # Corresponds to the JSON property `mentionText`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :mention_text
 | 
						|
      
 | 
						|
        # Text reference indexing into the Document.text.
 | 
						|
        # Corresponds to the JSON property `textAnchor`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentTextAnchor]
 | 
						|
        attr_accessor :text_anchor
 | 
						|
      
 | 
						|
        # Entity type from a schema e.g. `Address`.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @confidence = args[:confidence] if args.key?(:confidence)
 | 
						|
          @mention_id = args[:mention_id] if args.key?(:mention_id)
 | 
						|
          @mention_text = args[:mention_text] if args.key?(:mention_text)
 | 
						|
          @text_anchor = args[:text_anchor] if args.key?(:text_anchor)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Relationship between Entities.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentEntityRelation
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Object entity id.
 | 
						|
        # Corresponds to the JSON property `objectId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :object_id_prop
 | 
						|
      
 | 
						|
        # Relationship description.
 | 
						|
        # Corresponds to the JSON property `relation`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :relation
 | 
						|
      
 | 
						|
        # Subject entity id.
 | 
						|
        # Corresponds to the JSON property `subjectId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :subject_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
 | 
						|
          @relation = args[:relation] if args.key?(:relation)
 | 
						|
          @subject_id = args[:subject_id] if args.key?(:subject_id)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A page in a Document.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPage
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of visually detected text blocks on the page.
 | 
						|
        # A block has a set of lines (collected into paragraphs) that have a common
 | 
						|
        # line-spacing and orientation.
 | 
						|
        # Corresponds to the JSON property `blocks`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageBlock>]
 | 
						|
        attr_accessor :blocks
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Dimension for the page.
 | 
						|
        # Corresponds to the JSON property `dimension`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDimension]
 | 
						|
        attr_accessor :dimension
 | 
						|
      
 | 
						|
        # A list of visually detected form fields on the page.
 | 
						|
        # Corresponds to the JSON property `formFields`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageFormField>]
 | 
						|
        attr_accessor :form_fields
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        # A list of visually detected text lines on the page.
 | 
						|
        # A collection of tokens that a human would perceive as a line.
 | 
						|
        # Corresponds to the JSON property `lines`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLine>]
 | 
						|
        attr_accessor :lines
 | 
						|
      
 | 
						|
        # 1-based index for current Page in a parent Document.
 | 
						|
        # Useful when a page is taken out of a Document for individual
 | 
						|
        # processing.
 | 
						|
        # Corresponds to the JSON property `pageNumber`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :page_number
 | 
						|
      
 | 
						|
        # A list of visually detected text paragraphs on the page.
 | 
						|
        # A collection of lines that a human would perceive as a paragraph.
 | 
						|
        # Corresponds to the JSON property `paragraphs`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageParagraph>]
 | 
						|
        attr_accessor :paragraphs
 | 
						|
      
 | 
						|
        # A list of visually detected tables on the page.
 | 
						|
        # Corresponds to the JSON property `tables`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageTable>]
 | 
						|
        attr_accessor :tables
 | 
						|
      
 | 
						|
        # A list of visually detected tokens on the page.
 | 
						|
        # Corresponds to the JSON property `tokens`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageToken>]
 | 
						|
        attr_accessor :tokens
 | 
						|
      
 | 
						|
        # A list of detected non-text visual elements e.g. checkbox,
 | 
						|
        # signature etc. on the page.
 | 
						|
        # Corresponds to the JSON property `visualElements`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageVisualElement>]
 | 
						|
        attr_accessor :visual_elements
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @blocks = args[:blocks] if args.key?(:blocks)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @dimension = args[:dimension] if args.key?(:dimension)
 | 
						|
          @form_fields = args[:form_fields] if args.key?(:form_fields)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
          @lines = args[:lines] if args.key?(:lines)
 | 
						|
          @page_number = args[:page_number] if args.key?(:page_number)
 | 
						|
          @paragraphs = args[:paragraphs] if args.key?(:paragraphs)
 | 
						|
          @tables = args[:tables] if args.key?(:tables)
 | 
						|
          @tokens = args[:tokens] if args.key?(:tokens)
 | 
						|
          @visual_elements = args[:visual_elements] if args.key?(:visual_elements)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A block has a set of lines (collected into paragraphs) that have a
 | 
						|
      # common line-spacing and orientation.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageBlock
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Detected language for a structural component.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Confidence of detected language. Range [0, 1].
 | 
						|
        # Corresponds to the JSON property `confidence`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :confidence
 | 
						|
      
 | 
						|
        # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
 | 
						|
        # information, see
 | 
						|
        # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
 | 
						|
        # Corresponds to the JSON property `languageCode`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :language_code
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @confidence = args[:confidence] if args.key?(:confidence)
 | 
						|
          @language_code = args[:language_code] if args.key?(:language_code)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Dimension for the page.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageDimension
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Page height.
 | 
						|
        # Corresponds to the JSON property `height`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :height
 | 
						|
      
 | 
						|
        # Dimension unit.
 | 
						|
        # Corresponds to the JSON property `unit`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :unit
 | 
						|
      
 | 
						|
        # Page width.
 | 
						|
        # Corresponds to the JSON property `width`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :width
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @height = args[:height] if args.key?(:height)
 | 
						|
          @unit = args[:unit] if args.key?(:unit)
 | 
						|
          @width = args[:width] if args.key?(:width)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A form field detected on the page.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageFormField
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `fieldName`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLayout]
 | 
						|
        attr_accessor :field_name
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `fieldValue`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLayout]
 | 
						|
        attr_accessor :field_value
 | 
						|
      
 | 
						|
        # A list of detected languages for name together with confidence.
 | 
						|
        # Corresponds to the JSON property `nameDetectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :name_detected_languages
 | 
						|
      
 | 
						|
        # A list of detected languages for value together with confidence.
 | 
						|
        # Corresponds to the JSON property `valueDetectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :value_detected_languages
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @field_name = args[:field_name] if args.key?(:field_name)
 | 
						|
          @field_value = args[:field_value] if args.key?(:field_value)
 | 
						|
          @name_detected_languages = args[:name_detected_languages] if args.key?(:name_detected_languages)
 | 
						|
          @value_detected_languages = args[:value_detected_languages] if args.key?(:value_detected_languages)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Visual element describing a layout unit on a page.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageLayout
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A bounding polygon for the detected image annotation.
 | 
						|
        # Corresponds to the JSON property `boundingPoly`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1BoundingPoly]
 | 
						|
        attr_accessor :bounding_poly
 | 
						|
      
 | 
						|
        # Confidence of the current Layout within context of the object this
 | 
						|
        # layout is for. e.g. confidence can be for a single token, a table,
 | 
						|
        # a visual element, etc. depending on context. Range [0, 1].
 | 
						|
        # Corresponds to the JSON property `confidence`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :confidence
 | 
						|
      
 | 
						|
        # Detected orientation for the Layout.
 | 
						|
        # Corresponds to the JSON property `orientation`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :orientation
 | 
						|
      
 | 
						|
        # Text reference indexing into the Document.text.
 | 
						|
        # Corresponds to the JSON property `textAnchor`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentTextAnchor]
 | 
						|
        attr_accessor :text_anchor
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
 | 
						|
          @confidence = args[:confidence] if args.key?(:confidence)
 | 
						|
          @orientation = args[:orientation] if args.key?(:orientation)
 | 
						|
          @text_anchor = args[:text_anchor] if args.key?(:text_anchor)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A collection of tokens that a human would perceive as a line.
 | 
						|
      # Does not cross column boundaries, can be horizontal, vertical, etc.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageLine
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A collection of lines that a human would perceive as a paragraph.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageParagraph
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A table representation similar to HTML table structure.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageTable
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Body rows of the table.
 | 
						|
        # Corresponds to the JSON property `bodyRows`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow>]
 | 
						|
        attr_accessor :body_rows
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Header rows of the table.
 | 
						|
        # Corresponds to the JSON property `headerRows`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow>]
 | 
						|
        attr_accessor :header_rows
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @body_rows = args[:body_rows] if args.key?(:body_rows)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @header_rows = args[:header_rows] if args.key?(:header_rows)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A cell representation inside the table.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageTableTableCell
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # How many columns this cell spans.
 | 
						|
        # Corresponds to the JSON property `colSpan`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :col_span
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        # How many rows this cell spans.
 | 
						|
        # Corresponds to the JSON property `rowSpan`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :row_span
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @col_span = args[:col_span] if args.key?(:col_span)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
          @row_span = args[:row_span] if args.key?(:row_span)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A row of table cells.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageTableTableRow
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Cells that make up this row.
 | 
						|
        # Corresponds to the JSON property `cells`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageTableTableCell>]
 | 
						|
        attr_accessor :cells
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @cells = args[:cells] if args.key?(:cells)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A detected token.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageToken
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Detected break at the end of a Token.
 | 
						|
        # Corresponds to the JSON property `detectedBreak`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageTokenDetectedBreak]
 | 
						|
        attr_accessor :detected_break
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @detected_break = args[:detected_break] if args.key?(:detected_break)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Detected break at the end of a Token.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageTokenDetectedBreak
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Detected break type.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Detected non-text visual elements e.g. checkbox, signature etc. on the
 | 
						|
      # page.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentPageVisualElement
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        # Type of the VisualElement.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # For a large document, sharding may be performed to produce several
 | 
						|
      # document shards. Each document shard contains this field to detail which
 | 
						|
      # shard it is.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentShardInfo
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Total number of shards.
 | 
						|
        # Corresponds to the JSON property `shardCount`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :shard_count
 | 
						|
      
 | 
						|
        # The 0-based index of this shard.
 | 
						|
        # Corresponds to the JSON property `shardIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :shard_index
 | 
						|
      
 | 
						|
        # The index of the first character in Document.text in the overall
 | 
						|
        # document global text.
 | 
						|
        # Corresponds to the JSON property `textOffset`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :text_offset
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @shard_count = args[:shard_count] if args.key?(:shard_count)
 | 
						|
          @shard_index = args[:shard_index] if args.key?(:shard_index)
 | 
						|
          @text_offset = args[:text_offset] if args.key?(:text_offset)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Annotation for common text style attributes. This adheres to CSS
 | 
						|
      # conventions as much as possible.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentStyle
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Represents a color in the RGBA color space. This representation is designed
 | 
						|
        # for simplicity of conversion to/from color representations in various
 | 
						|
        # languages over compactness; for example, the fields of this representation
 | 
						|
        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
 | 
						|
        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
 | 
						|
        # method in iOS; and, with just a little work, it can be easily formatted into
 | 
						|
        # a CSS "rgba()" string in JavaScript, as well.
 | 
						|
        # Note: this proto does not carry information about the absolute color space
 | 
						|
        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
 | 
						|
        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
 | 
						|
        # space.
 | 
						|
        # Note: when color equality needs to be decided, implementations, unless
 | 
						|
        # documented otherwise, will treat two colors to be equal if all their red,
 | 
						|
        # green, blue and alpha values each differ by at most 1e-5.
 | 
						|
        # Example (Java):
 | 
						|
        # import com.google.type.Color;
 | 
						|
        # // ...
 | 
						|
        # public static java.awt.Color fromProto(Color protocolor) `
 | 
						|
        # float alpha = protocolor.hasAlpha()
 | 
						|
        # ? protocolor.getAlpha().getValue()
 | 
						|
        # : 1.0;
 | 
						|
        # return new java.awt.Color(
 | 
						|
        # protocolor.getRed(),
 | 
						|
        # protocolor.getGreen(),
 | 
						|
        # protocolor.getBlue(),
 | 
						|
        # alpha);
 | 
						|
        # `
 | 
						|
        # public static Color toProto(java.awt.Color color) `
 | 
						|
        # float red = (float) color.getRed();
 | 
						|
        # float green = (float) color.getGreen();
 | 
						|
        # float blue = (float) color.getBlue();
 | 
						|
        # float denominator = 255.0;
 | 
						|
        # Color.Builder resultBuilder =
 | 
						|
        # Color
 | 
						|
        # .newBuilder()
 | 
						|
        # .setRed(red / denominator)
 | 
						|
        # .setGreen(green / denominator)
 | 
						|
        # .setBlue(blue / denominator);
 | 
						|
        # int alpha = color.getAlpha();
 | 
						|
        # if (alpha != 255) `
 | 
						|
        # result.setAlpha(
 | 
						|
        # FloatValue
 | 
						|
        # .newBuilder()
 | 
						|
        # .setValue(((float) alpha) / denominator)
 | 
						|
        # .build());
 | 
						|
        # `
 | 
						|
        # return resultBuilder.build();
 | 
						|
        # `
 | 
						|
        # // ...
 | 
						|
        # Example (iOS / Obj-C):
 | 
						|
        # // ...
 | 
						|
        # static UIColor* fromProto(Color* protocolor) `
 | 
						|
        # float red = [protocolor red];
 | 
						|
        # float green = [protocolor green];
 | 
						|
        # float blue = [protocolor blue];
 | 
						|
        # FloatValue* alpha_wrapper = [protocolor alpha];
 | 
						|
        # float alpha = 1.0;
 | 
						|
        # if (alpha_wrapper != nil) `
 | 
						|
        # alpha = [alpha_wrapper value];
 | 
						|
        # `
 | 
						|
        # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 | 
						|
        # `
 | 
						|
        # static Color* toProto(UIColor* color) `
 | 
						|
        # CGFloat red, green, blue, alpha;
 | 
						|
        # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
 | 
						|
        # return nil;
 | 
						|
        # `
 | 
						|
        # Color* result = [[Color alloc] init];
 | 
						|
        # [result setRed:red];
 | 
						|
        # [result setGreen:green];
 | 
						|
        # [result setBlue:blue];
 | 
						|
        # if (alpha <= 0.9999) `
 | 
						|
        # [result setAlpha:floatWrapperWithValue(alpha)];
 | 
						|
        # `
 | 
						|
        # [result autorelease];
 | 
						|
        # return result;
 | 
						|
        # `
 | 
						|
        # // ...
 | 
						|
        # Example (JavaScript):
 | 
						|
        # // ...
 | 
						|
        # var protoToCssColor = function(rgb_color) `
 | 
						|
        # var redFrac = rgb_color.red || 0.0;
 | 
						|
        # var greenFrac = rgb_color.green || 0.0;
 | 
						|
        # var blueFrac = rgb_color.blue || 0.0;
 | 
						|
        # var red = Math.floor(redFrac * 255);
 | 
						|
        # var green = Math.floor(greenFrac * 255);
 | 
						|
        # var blue = Math.floor(blueFrac * 255);
 | 
						|
        # if (!('alpha' in rgb_color)) `
 | 
						|
        # return rgbToCssColor_(red, green, blue);
 | 
						|
        # `
 | 
						|
        # var alphaFrac = rgb_color.alpha.value || 0.0;
 | 
						|
        # var rgbParams = [red, green, blue].join(',');
 | 
						|
        # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
 | 
						|
        # `;
 | 
						|
        # var rgbToCssColor_ = function(red, green, blue) `
 | 
						|
        # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
 | 
						|
        # var hexString = rgbNumber.toString(16);
 | 
						|
        # var missingZeros = 6 - hexString.length;
 | 
						|
        # var resultBuilder = ['#'];
 | 
						|
        # for (var i = 0; i < missingZeros; i++) `
 | 
						|
        # resultBuilder.push('0');
 | 
						|
        # `
 | 
						|
        # resultBuilder.push(hexString);
 | 
						|
        # return resultBuilder.join('');
 | 
						|
        # `;
 | 
						|
        # // ...
 | 
						|
        # Corresponds to the JSON property `backgroundColor`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleTypeColor]
 | 
						|
        attr_accessor :background_color
 | 
						|
      
 | 
						|
        # Represents a color in the RGBA color space. This representation is designed
 | 
						|
        # for simplicity of conversion to/from color representations in various
 | 
						|
        # languages over compactness; for example, the fields of this representation
 | 
						|
        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
 | 
						|
        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
 | 
						|
        # method in iOS; and, with just a little work, it can be easily formatted into
 | 
						|
        # a CSS "rgba()" string in JavaScript, as well.
 | 
						|
        # Note: this proto does not carry information about the absolute color space
 | 
						|
        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
 | 
						|
        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
 | 
						|
        # space.
 | 
						|
        # Note: when color equality needs to be decided, implementations, unless
 | 
						|
        # documented otherwise, will treat two colors to be equal if all their red,
 | 
						|
        # green, blue and alpha values each differ by at most 1e-5.
 | 
						|
        # Example (Java):
 | 
						|
        # import com.google.type.Color;
 | 
						|
        # // ...
 | 
						|
        # public static java.awt.Color fromProto(Color protocolor) `
 | 
						|
        # float alpha = protocolor.hasAlpha()
 | 
						|
        # ? protocolor.getAlpha().getValue()
 | 
						|
        # : 1.0;
 | 
						|
        # return new java.awt.Color(
 | 
						|
        # protocolor.getRed(),
 | 
						|
        # protocolor.getGreen(),
 | 
						|
        # protocolor.getBlue(),
 | 
						|
        # alpha);
 | 
						|
        # `
 | 
						|
        # public static Color toProto(java.awt.Color color) `
 | 
						|
        # float red = (float) color.getRed();
 | 
						|
        # float green = (float) color.getGreen();
 | 
						|
        # float blue = (float) color.getBlue();
 | 
						|
        # float denominator = 255.0;
 | 
						|
        # Color.Builder resultBuilder =
 | 
						|
        # Color
 | 
						|
        # .newBuilder()
 | 
						|
        # .setRed(red / denominator)
 | 
						|
        # .setGreen(green / denominator)
 | 
						|
        # .setBlue(blue / denominator);
 | 
						|
        # int alpha = color.getAlpha();
 | 
						|
        # if (alpha != 255) `
 | 
						|
        # result.setAlpha(
 | 
						|
        # FloatValue
 | 
						|
        # .newBuilder()
 | 
						|
        # .setValue(((float) alpha) / denominator)
 | 
						|
        # .build());
 | 
						|
        # `
 | 
						|
        # return resultBuilder.build();
 | 
						|
        # `
 | 
						|
        # // ...
 | 
						|
        # Example (iOS / Obj-C):
 | 
						|
        # // ...
 | 
						|
        # static UIColor* fromProto(Color* protocolor) `
 | 
						|
        # float red = [protocolor red];
 | 
						|
        # float green = [protocolor green];
 | 
						|
        # float blue = [protocolor blue];
 | 
						|
        # FloatValue* alpha_wrapper = [protocolor alpha];
 | 
						|
        # float alpha = 1.0;
 | 
						|
        # if (alpha_wrapper != nil) `
 | 
						|
        # alpha = [alpha_wrapper value];
 | 
						|
        # `
 | 
						|
        # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 | 
						|
        # `
 | 
						|
        # static Color* toProto(UIColor* color) `
 | 
						|
        # CGFloat red, green, blue, alpha;
 | 
						|
        # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
 | 
						|
        # return nil;
 | 
						|
        # `
 | 
						|
        # Color* result = [[Color alloc] init];
 | 
						|
        # [result setRed:red];
 | 
						|
        # [result setGreen:green];
 | 
						|
        # [result setBlue:blue];
 | 
						|
        # if (alpha <= 0.9999) `
 | 
						|
        # [result setAlpha:floatWrapperWithValue(alpha)];
 | 
						|
        # `
 | 
						|
        # [result autorelease];
 | 
						|
        # return result;
 | 
						|
        # `
 | 
						|
        # // ...
 | 
						|
        # Example (JavaScript):
 | 
						|
        # // ...
 | 
						|
        # var protoToCssColor = function(rgb_color) `
 | 
						|
        # var redFrac = rgb_color.red || 0.0;
 | 
						|
        # var greenFrac = rgb_color.green || 0.0;
 | 
						|
        # var blueFrac = rgb_color.blue || 0.0;
 | 
						|
        # var red = Math.floor(redFrac * 255);
 | 
						|
        # var green = Math.floor(greenFrac * 255);
 | 
						|
        # var blue = Math.floor(blueFrac * 255);
 | 
						|
        # if (!('alpha' in rgb_color)) `
 | 
						|
        # return rgbToCssColor_(red, green, blue);
 | 
						|
        # `
 | 
						|
        # var alphaFrac = rgb_color.alpha.value || 0.0;
 | 
						|
        # var rgbParams = [red, green, blue].join(',');
 | 
						|
        # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
 | 
						|
        # `;
 | 
						|
        # var rgbToCssColor_ = function(red, green, blue) `
 | 
						|
        # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
 | 
						|
        # var hexString = rgbNumber.toString(16);
 | 
						|
        # var missingZeros = 6 - hexString.length;
 | 
						|
        # var resultBuilder = ['#'];
 | 
						|
        # for (var i = 0; i < missingZeros; i++) `
 | 
						|
        # resultBuilder.push('0');
 | 
						|
        # `
 | 
						|
        # resultBuilder.push(hexString);
 | 
						|
        # return resultBuilder.join('');
 | 
						|
        # `;
 | 
						|
        # // ...
 | 
						|
        # Corresponds to the JSON property `color`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleTypeColor]
 | 
						|
        attr_accessor :color
 | 
						|
      
 | 
						|
        # Font size with unit.
 | 
						|
        # Corresponds to the JSON property `fontSize`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentStyleFontSize]
 | 
						|
        attr_accessor :font_size
 | 
						|
      
 | 
						|
        # Font weight. Possible values are normal, bold, bolder, and lighter.
 | 
						|
        # https://www.w3schools.com/cssref/pr_font_weight.asp
 | 
						|
        # Corresponds to the JSON property `fontWeight`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :font_weight
 | 
						|
      
 | 
						|
        # Text reference indexing into the Document.text.
 | 
						|
        # Corresponds to the JSON property `textAnchor`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentTextAnchor]
 | 
						|
        attr_accessor :text_anchor
 | 
						|
      
 | 
						|
        # Text decoration. Follows CSS standard.
 | 
						|
        # <text-decoration-line> <text-decoration-color> <text-decoration-style>
 | 
						|
        # https://www.w3schools.com/cssref/pr_text_text-decoration.asp
 | 
						|
        # Corresponds to the JSON property `textDecoration`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :text_decoration
 | 
						|
      
 | 
						|
        # Text style. Possible values are normal, italic, and oblique.
 | 
						|
        # https://www.w3schools.com/cssref/pr_font_font-style.asp
 | 
						|
        # Corresponds to the JSON property `textStyle`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :text_style
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @background_color = args[:background_color] if args.key?(:background_color)
 | 
						|
          @color = args[:color] if args.key?(:color)
 | 
						|
          @font_size = args[:font_size] if args.key?(:font_size)
 | 
						|
          @font_weight = args[:font_weight] if args.key?(:font_weight)
 | 
						|
          @text_anchor = args[:text_anchor] if args.key?(:text_anchor)
 | 
						|
          @text_decoration = args[:text_decoration] if args.key?(:text_decoration)
 | 
						|
          @text_style = args[:text_style] if args.key?(:text_style)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Font size with unit.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentStyleFontSize
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Font size for the text.
 | 
						|
        # Corresponds to the JSON property `size`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :size
 | 
						|
      
 | 
						|
        # Unit for the font size. Follows CSS naming (in, px, pt, etc.).
 | 
						|
        # Corresponds to the JSON property `unit`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :unit
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @size = args[:size] if args.key?(:size)
 | 
						|
          @unit = args[:unit] if args.key?(:unit)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Text reference indexing into the Document.text.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentTextAnchor
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The text segments from the Document.text.
 | 
						|
        # Corresponds to the JSON property `textSegments`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentTextAnchorTextSegment>]
 | 
						|
        attr_accessor :text_segments
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @text_segments = args[:text_segments] if args.key?(:text_segments)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A text segment in the Document.text. The indices may be out of bounds
 | 
						|
      # which indicate that the text extends into another document shard for
 | 
						|
      # large sharded documents. See ShardInfo.text_offset
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentTextAnchorTextSegment
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # TextSegment half open end UTF-8 char index in the
 | 
						|
        # Document.text.
 | 
						|
        # Corresponds to the JSON property `endIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :end_index
 | 
						|
      
 | 
						|
        # TextSegment start UTF-8 char index in the Document.text.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @end_index = args[:end_index] if args.key?(:end_index)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A translation of the text segment.
 | 
						|
      class GoogleCloudDocumentaiV1beta1DocumentTranslation
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
 | 
						|
        # information, see
 | 
						|
        # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
 | 
						|
        # Corresponds to the JSON property `languageCode`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :language_code
 | 
						|
      
 | 
						|
        # Text reference indexing into the Document.text.
 | 
						|
        # Corresponds to the JSON property `textAnchor`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1DocumentTextAnchor]
 | 
						|
        attr_accessor :text_anchor
 | 
						|
      
 | 
						|
        # Text translated into the target language.
 | 
						|
        # Corresponds to the JSON property `translatedText`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :translated_text
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @language_code = args[:language_code] if args.key?(:language_code)
 | 
						|
          @text_anchor = args[:text_anchor] if args.key?(:text_anchor)
 | 
						|
          @translated_text = args[:translated_text] if args.key?(:translated_text)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # The Google Cloud Storage location where the output file will be written to.
 | 
						|
      class GoogleCloudDocumentaiV1beta1GcsDestination
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `uri`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :uri
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @uri = args[:uri] if args.key?(:uri)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # The Google Cloud Storage location where the input file will be read from.
 | 
						|
      class GoogleCloudDocumentaiV1beta1GcsSource
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `uri`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :uri
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @uri = args[:uri] if args.key?(:uri)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # The desired input location and metadata.
 | 
						|
      class GoogleCloudDocumentaiV1beta1InputConfig
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The Google Cloud Storage location where the input file will be read from.
 | 
						|
        # Corresponds to the JSON property `gcsSource`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1GcsSource]
 | 
						|
        attr_accessor :gcs_source
 | 
						|
      
 | 
						|
        # Required. Mimetype of the input. Current supported mimetypes are application/
 | 
						|
        # pdf,
 | 
						|
        # image/tiff, and image/gif.
 | 
						|
        # In addition, application/json type is supported for requests with
 | 
						|
        # ProcessDocumentRequest.automl_params field set. The JSON file needs to
 | 
						|
        # be in Document format.
 | 
						|
        # Corresponds to the JSON property `mimeType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :mime_type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
 | 
						|
          @mime_type = args[:mime_type] if args.key?(:mime_type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A vertex represents a 2D point in the image.
 | 
						|
      # NOTE: the normalized vertex coordinates are relative to the original image
 | 
						|
      # and range from 0 to 1.
 | 
						|
      class GoogleCloudDocumentaiV1beta1NormalizedVertex
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # X coordinate.
 | 
						|
        # Corresponds to the JSON property `x`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :x
 | 
						|
      
 | 
						|
        # Y coordinate.
 | 
						|
        # Corresponds to the JSON property `y`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :y
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @x = args[:x] if args.key?(:x)
 | 
						|
          @y = args[:y] if args.key?(:y)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Contains metadata for the BatchProcessDocuments operation.
 | 
						|
      class GoogleCloudDocumentaiV1beta1OperationMetadata
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The creation time of the operation.
 | 
						|
        # Corresponds to the JSON property `createTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :create_time
 | 
						|
      
 | 
						|
        # The state of the current batch processing.
 | 
						|
        # Corresponds to the JSON property `state`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :state
 | 
						|
      
 | 
						|
        # A message providing more details about the current state of processing.
 | 
						|
        # Corresponds to the JSON property `stateMessage`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :state_message
 | 
						|
      
 | 
						|
        # The last update time of the operation.
 | 
						|
        # Corresponds to the JSON property `updateTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :update_time
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @create_time = args[:create_time] if args.key?(:create_time)
 | 
						|
          @state = args[:state] if args.key?(:state)
 | 
						|
          @state_message = args[:state_message] if args.key?(:state_message)
 | 
						|
          @update_time = args[:update_time] if args.key?(:update_time)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # The desired output location and metadata.
 | 
						|
      class GoogleCloudDocumentaiV1beta1OutputConfig
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The Google Cloud Storage location where the output file will be written to.
 | 
						|
        # Corresponds to the JSON property `gcsDestination`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1GcsDestination]
 | 
						|
        attr_accessor :gcs_destination
 | 
						|
      
 | 
						|
        # The max number of pages to include into each output Document shard JSON on
 | 
						|
        # Google Cloud Storage.
 | 
						|
        # The valid range is [1, 100]. If not specified, the default value is 20.
 | 
						|
        # For example, for one pdf file with 100 pages, 100 parsed pages will be
 | 
						|
        # produced. If `pages_per_shard` = 20, then 5 Document shard JSON files each
 | 
						|
        # containing 20 parsed pages will be written under the prefix
 | 
						|
        # OutputConfig.gcs_destination.uri and suffix pages-x-to-y.json where
 | 
						|
        # x and y are 1-indexed page numbers.
 | 
						|
        # Example GCS outputs with 157 pages and pages_per_shard = 50:
 | 
						|
        # <prefix>pages-001-to-050.json
 | 
						|
        # <prefix>pages-051-to-100.json
 | 
						|
        # <prefix>pages-101-to-150.json
 | 
						|
        # <prefix>pages-151-to-157.json
 | 
						|
        # Corresponds to the JSON property `pagesPerShard`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :pages_per_shard
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
 | 
						|
          @pages_per_shard = args[:pages_per_shard] if args.key?(:pages_per_shard)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Response to a single document processing request.
 | 
						|
      class GoogleCloudDocumentaiV1beta1ProcessDocumentResponse
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The desired input location and metadata.
 | 
						|
        # Corresponds to the JSON property `inputConfig`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1InputConfig]
 | 
						|
        attr_accessor :input_config
 | 
						|
      
 | 
						|
        # The desired output location and metadata.
 | 
						|
        # Corresponds to the JSON property `outputConfig`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta1OutputConfig]
 | 
						|
        attr_accessor :output_config
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @input_config = args[:input_config] if args.key?(:input_config)
 | 
						|
          @output_config = args[:output_config] if args.key?(:output_config)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A vertex represents a 2D point in the image.
 | 
						|
      # NOTE: the vertex coordinates are in the same scale as the original image.
 | 
						|
      class GoogleCloudDocumentaiV1beta1Vertex
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # X coordinate.
 | 
						|
        # Corresponds to the JSON property `x`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :x
 | 
						|
      
 | 
						|
        # Y coordinate.
 | 
						|
        # Corresponds to the JSON property `y`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :y
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @x = args[:x] if args.key?(:x)
 | 
						|
          @y = args[:y] if args.key?(:y)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Parameters to control AutoML model prediction behavior.
 | 
						|
      class GoogleCloudDocumentaiV1beta2AutoMlParams
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Resource name of the AutoML model.
 | 
						|
        # Format: `projects/`project-id`/locations/`location-id`/models/`model-id``.
 | 
						|
        # Corresponds to the JSON property `model`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :model
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @model = args[:model] if args.key?(:model)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Request to batch process documents as an asynchronous operation. The output
 | 
						|
      # is written to Cloud Storage as JSON in the [Document] format.
 | 
						|
      class GoogleCloudDocumentaiV1beta2BatchProcessDocumentsRequest
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Required. Individual requests for each document.
 | 
						|
        # Corresponds to the JSON property `requests`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2ProcessDocumentRequest>]
 | 
						|
        attr_accessor :requests
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @requests = args[:requests] if args.key?(:requests)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Response to an batch document processing request. This is returned in
 | 
						|
      # the LRO Operation after the operation is complete.
 | 
						|
      class GoogleCloudDocumentaiV1beta2BatchProcessDocumentsResponse
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Responses for each individual document.
 | 
						|
        # Corresponds to the JSON property `responses`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2ProcessDocumentResponse>]
 | 
						|
        attr_accessor :responses
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @responses = args[:responses] if args.key?(:responses)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A bounding polygon for the detected image annotation.
 | 
						|
      class GoogleCloudDocumentaiV1beta2BoundingPoly
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The bounding polygon normalized vertices.
 | 
						|
        # Corresponds to the JSON property `normalizedVertices`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2NormalizedVertex>]
 | 
						|
        attr_accessor :normalized_vertices
 | 
						|
      
 | 
						|
        # The bounding polygon vertices.
 | 
						|
        # Corresponds to the JSON property `vertices`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2Vertex>]
 | 
						|
        attr_accessor :vertices
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @normalized_vertices = args[:normalized_vertices] if args.key?(:normalized_vertices)
 | 
						|
          @vertices = args[:vertices] if args.key?(:vertices)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Document represents the canonical document resource in Document Understanding
 | 
						|
      # AI.
 | 
						|
      # It is an interchange format that provides insights into documents and allows
 | 
						|
      # for collaboration between users and Document Understanding AI to iterate and
 | 
						|
      # optimize for quality.
 | 
						|
      class GoogleCloudDocumentaiV1beta2Document
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Inline document content, represented as a stream of bytes.
 | 
						|
        # Note: As with all `bytes` fields, protobuffers use a pure binary
 | 
						|
        # representation, whereas JSON representations use base64.
 | 
						|
        # Corresponds to the JSON property `content`
 | 
						|
        # NOTE: Values are automatically base64 encoded/decoded in the client library.
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :content
 | 
						|
      
 | 
						|
        # A list of entities detected on Document.text. For document shards,
 | 
						|
        # entities in this list may cross shard boundaries.
 | 
						|
        # Corresponds to the JSON property `entities`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentEntity>]
 | 
						|
        attr_accessor :entities
 | 
						|
      
 | 
						|
        # Relationship among Document.entities.
 | 
						|
        # Corresponds to the JSON property `entityRelations`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentEntityRelation>]
 | 
						|
        attr_accessor :entity_relations
 | 
						|
      
 | 
						|
        # The `Status` type defines a logical error model that is suitable for
 | 
						|
        # different programming environments, including REST APIs and RPC APIs. It is
 | 
						|
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
 | 
						|
        # three pieces of data: error code, error message, and error details.
 | 
						|
        # You can find out more about this error model and how to work with it in the
 | 
						|
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
 | 
						|
        # Corresponds to the JSON property `error`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleRpcStatus]
 | 
						|
        attr_accessor :error
 | 
						|
      
 | 
						|
        # Labels for this document.
 | 
						|
        # Corresponds to the JSON property `labels`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentLabel>]
 | 
						|
        attr_accessor :labels
 | 
						|
      
 | 
						|
        # An IANA published MIME type (also referred to as media type). For more
 | 
						|
        # information, see
 | 
						|
        # https://www.iana.org/assignments/media-types/media-types.xhtml.
 | 
						|
        # Corresponds to the JSON property `mimeType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :mime_type
 | 
						|
      
 | 
						|
        # Visual page layout for the Document.
 | 
						|
        # Corresponds to the JSON property `pages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPage>]
 | 
						|
        attr_accessor :pages
 | 
						|
      
 | 
						|
        # For a large document, sharding may be performed to produce several
 | 
						|
        # document shards. Each document shard contains this field to detail which
 | 
						|
        # shard it is.
 | 
						|
        # Corresponds to the JSON property `shardInfo`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentShardInfo]
 | 
						|
        attr_accessor :shard_info
 | 
						|
      
 | 
						|
        # UTF-8 encoded text in reading order from the document.
 | 
						|
        # Corresponds to the JSON property `text`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :text
 | 
						|
      
 | 
						|
        # Styles for the Document.text.
 | 
						|
        # Corresponds to the JSON property `textStyles`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentStyle>]
 | 
						|
        attr_accessor :text_styles
 | 
						|
      
 | 
						|
        # A list of translations on Document.text. For document shards,
 | 
						|
        # translations in this list may cross shard boundaries.
 | 
						|
        # Corresponds to the JSON property `translations`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentTranslation>]
 | 
						|
        attr_accessor :translations
 | 
						|
      
 | 
						|
        # Currently supports Google Cloud Storage URI of the form
 | 
						|
        # `gs://bucket_name/object_name`. Object versioning is not supported.
 | 
						|
        # See [Google Cloud Storage Request
 | 
						|
        # URIs](https://cloud.google.com/storage/docs/reference-uris) for more
 | 
						|
        # info.
 | 
						|
        # Corresponds to the JSON property `uri`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :uri
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @content = args[:content] if args.key?(:content)
 | 
						|
          @entities = args[:entities] if args.key?(:entities)
 | 
						|
          @entity_relations = args[:entity_relations] if args.key?(:entity_relations)
 | 
						|
          @error = args[:error] if args.key?(:error)
 | 
						|
          @labels = args[:labels] if args.key?(:labels)
 | 
						|
          @mime_type = args[:mime_type] if args.key?(:mime_type)
 | 
						|
          @pages = args[:pages] if args.key?(:pages)
 | 
						|
          @shard_info = args[:shard_info] if args.key?(:shard_info)
 | 
						|
          @text = args[:text] if args.key?(:text)
 | 
						|
          @text_styles = args[:text_styles] if args.key?(:text_styles)
 | 
						|
          @translations = args[:translations] if args.key?(:translations)
 | 
						|
          @uri = args[:uri] if args.key?(:uri)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A phrase in the text that is a known entity type, such as a person, an
 | 
						|
      # organization, or location.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentEntity
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Optional. Confidence of detected Schema entity. Range [0, 1].
 | 
						|
        # Corresponds to the JSON property `confidence`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :confidence
 | 
						|
      
 | 
						|
        # Deprecated.  Use `id` field instead.
 | 
						|
        # Corresponds to the JSON property `mentionId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :mention_id
 | 
						|
      
 | 
						|
        # Text value in the document e.g. `1600 Amphitheatre Pkwy`.
 | 
						|
        # Corresponds to the JSON property `mentionText`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :mention_text
 | 
						|
      
 | 
						|
        # Text reference indexing into the Document.text.
 | 
						|
        # Corresponds to the JSON property `textAnchor`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentTextAnchor]
 | 
						|
        attr_accessor :text_anchor
 | 
						|
      
 | 
						|
        # Entity type from a schema e.g. `Address`.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @confidence = args[:confidence] if args.key?(:confidence)
 | 
						|
          @mention_id = args[:mention_id] if args.key?(:mention_id)
 | 
						|
          @mention_text = args[:mention_text] if args.key?(:mention_text)
 | 
						|
          @text_anchor = args[:text_anchor] if args.key?(:text_anchor)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Relationship between Entities.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentEntityRelation
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Object entity id.
 | 
						|
        # Corresponds to the JSON property `objectId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :object_id_prop
 | 
						|
      
 | 
						|
        # Relationship description.
 | 
						|
        # Corresponds to the JSON property `relation`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :relation
 | 
						|
      
 | 
						|
        # Subject entity id.
 | 
						|
        # Corresponds to the JSON property `subjectId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :subject_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
 | 
						|
          @relation = args[:relation] if args.key?(:relation)
 | 
						|
          @subject_id = args[:subject_id] if args.key?(:subject_id)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Label attaches schema information and/or other metadata to segments within
 | 
						|
      # a Document. Multiple Labels on a single field can denote either
 | 
						|
      # different labels, different instances of the same label created at
 | 
						|
      # different times, or some combination of both.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentLabel
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Label is generated AutoML model. This field stores the full resource
 | 
						|
        # name of the AutoML model.
 | 
						|
        # Format:
 | 
						|
        # `projects/`project-id`/locations/`location-id`/models/`model-id``
 | 
						|
        # Corresponds to the JSON property `automlModel`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :automl_model
 | 
						|
      
 | 
						|
        # Confidence score between 0 and 1 for label assignment.
 | 
						|
        # Corresponds to the JSON property `confidence`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :confidence
 | 
						|
      
 | 
						|
        # Name of the label.
 | 
						|
        # When the label is generated from AutoML Text Classification model, this
 | 
						|
        # field represents the name of the category.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @automl_model = args[:automl_model] if args.key?(:automl_model)
 | 
						|
          @confidence = args[:confidence] if args.key?(:confidence)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A page in a Document.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPage
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of visually detected text blocks on the page.
 | 
						|
        # A block has a set of lines (collected into paragraphs) that have a common
 | 
						|
        # line-spacing and orientation.
 | 
						|
        # Corresponds to the JSON property `blocks`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageBlock>]
 | 
						|
        attr_accessor :blocks
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Dimension for the page.
 | 
						|
        # Corresponds to the JSON property `dimension`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDimension]
 | 
						|
        attr_accessor :dimension
 | 
						|
      
 | 
						|
        # A list of visually detected form fields on the page.
 | 
						|
        # Corresponds to the JSON property `formFields`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageFormField>]
 | 
						|
        attr_accessor :form_fields
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        # A list of visually detected text lines on the page.
 | 
						|
        # A collection of tokens that a human would perceive as a line.
 | 
						|
        # Corresponds to the JSON property `lines`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLine>]
 | 
						|
        attr_accessor :lines
 | 
						|
      
 | 
						|
        # 1-based index for current Page in a parent Document.
 | 
						|
        # Useful when a page is taken out of a Document for individual
 | 
						|
        # processing.
 | 
						|
        # Corresponds to the JSON property `pageNumber`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :page_number
 | 
						|
      
 | 
						|
        # A list of visually detected text paragraphs on the page.
 | 
						|
        # A collection of lines that a human would perceive as a paragraph.
 | 
						|
        # Corresponds to the JSON property `paragraphs`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageParagraph>]
 | 
						|
        attr_accessor :paragraphs
 | 
						|
      
 | 
						|
        # A list of visually detected tables on the page.
 | 
						|
        # Corresponds to the JSON property `tables`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageTable>]
 | 
						|
        attr_accessor :tables
 | 
						|
      
 | 
						|
        # A list of visually detected tokens on the page.
 | 
						|
        # Corresponds to the JSON property `tokens`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageToken>]
 | 
						|
        attr_accessor :tokens
 | 
						|
      
 | 
						|
        # A list of detected non-text visual elements e.g. checkbox,
 | 
						|
        # signature etc. on the page.
 | 
						|
        # Corresponds to the JSON property `visualElements`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageVisualElement>]
 | 
						|
        attr_accessor :visual_elements
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @blocks = args[:blocks] if args.key?(:blocks)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @dimension = args[:dimension] if args.key?(:dimension)
 | 
						|
          @form_fields = args[:form_fields] if args.key?(:form_fields)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
          @lines = args[:lines] if args.key?(:lines)
 | 
						|
          @page_number = args[:page_number] if args.key?(:page_number)
 | 
						|
          @paragraphs = args[:paragraphs] if args.key?(:paragraphs)
 | 
						|
          @tables = args[:tables] if args.key?(:tables)
 | 
						|
          @tokens = args[:tokens] if args.key?(:tokens)
 | 
						|
          @visual_elements = args[:visual_elements] if args.key?(:visual_elements)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A block has a set of lines (collected into paragraphs) that have a
 | 
						|
      # common line-spacing and orientation.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageBlock
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Detected language for a structural component.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Confidence of detected language. Range [0, 1].
 | 
						|
        # Corresponds to the JSON property `confidence`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :confidence
 | 
						|
      
 | 
						|
        # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
 | 
						|
        # information, see
 | 
						|
        # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
 | 
						|
        # Corresponds to the JSON property `languageCode`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :language_code
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @confidence = args[:confidence] if args.key?(:confidence)
 | 
						|
          @language_code = args[:language_code] if args.key?(:language_code)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Dimension for the page.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageDimension
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Page height.
 | 
						|
        # Corresponds to the JSON property `height`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :height
 | 
						|
      
 | 
						|
        # Dimension unit.
 | 
						|
        # Corresponds to the JSON property `unit`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :unit
 | 
						|
      
 | 
						|
        # Page width.
 | 
						|
        # Corresponds to the JSON property `width`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :width
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @height = args[:height] if args.key?(:height)
 | 
						|
          @unit = args[:unit] if args.key?(:unit)
 | 
						|
          @width = args[:width] if args.key?(:width)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A form field detected on the page.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageFormField
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `fieldName`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLayout]
 | 
						|
        attr_accessor :field_name
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `fieldValue`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLayout]
 | 
						|
        attr_accessor :field_value
 | 
						|
      
 | 
						|
        # A list of detected languages for name together with confidence.
 | 
						|
        # Corresponds to the JSON property `nameDetectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :name_detected_languages
 | 
						|
      
 | 
						|
        # A list of detected languages for value together with confidence.
 | 
						|
        # Corresponds to the JSON property `valueDetectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :value_detected_languages
 | 
						|
      
 | 
						|
        # If the value is non-textual, this field represents the type. Current
 | 
						|
        # valid values are:
 | 
						|
        # - blank (this indicates the field_value is normal text)
 | 
						|
        # - "unfilled_checkbox"
 | 
						|
        # - "filled_checkbox"
 | 
						|
        # Corresponds to the JSON property `valueType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :value_type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @field_name = args[:field_name] if args.key?(:field_name)
 | 
						|
          @field_value = args[:field_value] if args.key?(:field_value)
 | 
						|
          @name_detected_languages = args[:name_detected_languages] if args.key?(:name_detected_languages)
 | 
						|
          @value_detected_languages = args[:value_detected_languages] if args.key?(:value_detected_languages)
 | 
						|
          @value_type = args[:value_type] if args.key?(:value_type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Visual element describing a layout unit on a page.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageLayout
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A bounding polygon for the detected image annotation.
 | 
						|
        # Corresponds to the JSON property `boundingPoly`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2BoundingPoly]
 | 
						|
        attr_accessor :bounding_poly
 | 
						|
      
 | 
						|
        # Confidence of the current Layout within context of the object this
 | 
						|
        # layout is for. e.g. confidence can be for a single token, a table,
 | 
						|
        # a visual element, etc. depending on context. Range [0, 1].
 | 
						|
        # Corresponds to the JSON property `confidence`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :confidence
 | 
						|
      
 | 
						|
        # Detected orientation for the Layout.
 | 
						|
        # Corresponds to the JSON property `orientation`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :orientation
 | 
						|
      
 | 
						|
        # Text reference indexing into the Document.text.
 | 
						|
        # Corresponds to the JSON property `textAnchor`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentTextAnchor]
 | 
						|
        attr_accessor :text_anchor
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
 | 
						|
          @confidence = args[:confidence] if args.key?(:confidence)
 | 
						|
          @orientation = args[:orientation] if args.key?(:orientation)
 | 
						|
          @text_anchor = args[:text_anchor] if args.key?(:text_anchor)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A collection of tokens that a human would perceive as a line.
 | 
						|
      # Does not cross column boundaries, can be horizontal, vertical, etc.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageLine
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A collection of lines that a human would perceive as a paragraph.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageParagraph
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A table representation similar to HTML table structure.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageTable
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Body rows of the table.
 | 
						|
        # Corresponds to the JSON property `bodyRows`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow>]
 | 
						|
        attr_accessor :body_rows
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Header rows of the table.
 | 
						|
        # Corresponds to the JSON property `headerRows`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow>]
 | 
						|
        attr_accessor :header_rows
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @body_rows = args[:body_rows] if args.key?(:body_rows)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @header_rows = args[:header_rows] if args.key?(:header_rows)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A cell representation inside the table.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageTableTableCell
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # How many columns this cell spans.
 | 
						|
        # Corresponds to the JSON property `colSpan`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :col_span
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        # How many rows this cell spans.
 | 
						|
        # Corresponds to the JSON property `rowSpan`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :row_span
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @col_span = args[:col_span] if args.key?(:col_span)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
          @row_span = args[:row_span] if args.key?(:row_span)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A row of table cells.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageTableTableRow
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Cells that make up this row.
 | 
						|
        # Corresponds to the JSON property `cells`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageTableTableCell>]
 | 
						|
        attr_accessor :cells
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @cells = args[:cells] if args.key?(:cells)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A detected token.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageToken
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Detected break at the end of a Token.
 | 
						|
        # Corresponds to the JSON property `detectedBreak`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageTokenDetectedBreak]
 | 
						|
        attr_accessor :detected_break
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @detected_break = args[:detected_break] if args.key?(:detected_break)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Detected break at the end of a Token.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageTokenDetectedBreak
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Detected break type.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Detected non-text visual elements e.g. checkbox, signature etc. on the
 | 
						|
      # page.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentPageVisualElement
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A list of detected languages together with confidence.
 | 
						|
        # Corresponds to the JSON property `detectedLanguages`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageDetectedLanguage>]
 | 
						|
        attr_accessor :detected_languages
 | 
						|
      
 | 
						|
        # Visual element describing a layout unit on a page.
 | 
						|
        # Corresponds to the JSON property `layout`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentPageLayout]
 | 
						|
        attr_accessor :layout
 | 
						|
      
 | 
						|
        # Type of the VisualElement.
 | 
						|
        # Corresponds to the JSON property `type`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
 | 
						|
          @layout = args[:layout] if args.key?(:layout)
 | 
						|
          @type = args[:type] if args.key?(:type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # For a large document, sharding may be performed to produce several
 | 
						|
      # document shards. Each document shard contains this field to detail which
 | 
						|
      # shard it is.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentShardInfo
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Total number of shards.
 | 
						|
        # Corresponds to the JSON property `shardCount`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :shard_count
 | 
						|
      
 | 
						|
        # The 0-based index of this shard.
 | 
						|
        # Corresponds to the JSON property `shardIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :shard_index
 | 
						|
      
 | 
						|
        # The index of the first character in Document.text in the overall
 | 
						|
        # document global text.
 | 
						|
        # Corresponds to the JSON property `textOffset`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :text_offset
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @shard_count = args[:shard_count] if args.key?(:shard_count)
 | 
						|
          @shard_index = args[:shard_index] if args.key?(:shard_index)
 | 
						|
          @text_offset = args[:text_offset] if args.key?(:text_offset)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Annotation for common text style attributes. This adheres to CSS
 | 
						|
      # conventions as much as possible.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentStyle
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Represents a color in the RGBA color space. This representation is designed
 | 
						|
        # for simplicity of conversion to/from color representations in various
 | 
						|
        # languages over compactness; for example, the fields of this representation
 | 
						|
        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
 | 
						|
        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
 | 
						|
        # method in iOS; and, with just a little work, it can be easily formatted into
 | 
						|
        # a CSS "rgba()" string in JavaScript, as well.
 | 
						|
        # Note: this proto does not carry information about the absolute color space
 | 
						|
        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
 | 
						|
        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
 | 
						|
        # space.
 | 
						|
        # Note: when color equality needs to be decided, implementations, unless
 | 
						|
        # documented otherwise, will treat two colors to be equal if all their red,
 | 
						|
        # green, blue and alpha values each differ by at most 1e-5.
 | 
						|
        # Example (Java):
 | 
						|
        # import com.google.type.Color;
 | 
						|
        # // ...
 | 
						|
        # public static java.awt.Color fromProto(Color protocolor) `
 | 
						|
        # float alpha = protocolor.hasAlpha()
 | 
						|
        # ? protocolor.getAlpha().getValue()
 | 
						|
        # : 1.0;
 | 
						|
        # return new java.awt.Color(
 | 
						|
        # protocolor.getRed(),
 | 
						|
        # protocolor.getGreen(),
 | 
						|
        # protocolor.getBlue(),
 | 
						|
        # alpha);
 | 
						|
        # `
 | 
						|
        # public static Color toProto(java.awt.Color color) `
 | 
						|
        # float red = (float) color.getRed();
 | 
						|
        # float green = (float) color.getGreen();
 | 
						|
        # float blue = (float) color.getBlue();
 | 
						|
        # float denominator = 255.0;
 | 
						|
        # Color.Builder resultBuilder =
 | 
						|
        # Color
 | 
						|
        # .newBuilder()
 | 
						|
        # .setRed(red / denominator)
 | 
						|
        # .setGreen(green / denominator)
 | 
						|
        # .setBlue(blue / denominator);
 | 
						|
        # int alpha = color.getAlpha();
 | 
						|
        # if (alpha != 255) `
 | 
						|
        # result.setAlpha(
 | 
						|
        # FloatValue
 | 
						|
        # .newBuilder()
 | 
						|
        # .setValue(((float) alpha) / denominator)
 | 
						|
        # .build());
 | 
						|
        # `
 | 
						|
        # return resultBuilder.build();
 | 
						|
        # `
 | 
						|
        # // ...
 | 
						|
        # Example (iOS / Obj-C):
 | 
						|
        # // ...
 | 
						|
        # static UIColor* fromProto(Color* protocolor) `
 | 
						|
        # float red = [protocolor red];
 | 
						|
        # float green = [protocolor green];
 | 
						|
        # float blue = [protocolor blue];
 | 
						|
        # FloatValue* alpha_wrapper = [protocolor alpha];
 | 
						|
        # float alpha = 1.0;
 | 
						|
        # if (alpha_wrapper != nil) `
 | 
						|
        # alpha = [alpha_wrapper value];
 | 
						|
        # `
 | 
						|
        # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 | 
						|
        # `
 | 
						|
        # static Color* toProto(UIColor* color) `
 | 
						|
        # CGFloat red, green, blue, alpha;
 | 
						|
        # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
 | 
						|
        # return nil;
 | 
						|
        # `
 | 
						|
        # Color* result = [[Color alloc] init];
 | 
						|
        # [result setRed:red];
 | 
						|
        # [result setGreen:green];
 | 
						|
        # [result setBlue:blue];
 | 
						|
        # if (alpha <= 0.9999) `
 | 
						|
        # [result setAlpha:floatWrapperWithValue(alpha)];
 | 
						|
        # `
 | 
						|
        # [result autorelease];
 | 
						|
        # return result;
 | 
						|
        # `
 | 
						|
        # // ...
 | 
						|
        # Example (JavaScript):
 | 
						|
        # // ...
 | 
						|
        # var protoToCssColor = function(rgb_color) `
 | 
						|
        # var redFrac = rgb_color.red || 0.0;
 | 
						|
        # var greenFrac = rgb_color.green || 0.0;
 | 
						|
        # var blueFrac = rgb_color.blue || 0.0;
 | 
						|
        # var red = Math.floor(redFrac * 255);
 | 
						|
        # var green = Math.floor(greenFrac * 255);
 | 
						|
        # var blue = Math.floor(blueFrac * 255);
 | 
						|
        # if (!('alpha' in rgb_color)) `
 | 
						|
        # return rgbToCssColor_(red, green, blue);
 | 
						|
        # `
 | 
						|
        # var alphaFrac = rgb_color.alpha.value || 0.0;
 | 
						|
        # var rgbParams = [red, green, blue].join(',');
 | 
						|
        # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
 | 
						|
        # `;
 | 
						|
        # var rgbToCssColor_ = function(red, green, blue) `
 | 
						|
        # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
 | 
						|
        # var hexString = rgbNumber.toString(16);
 | 
						|
        # var missingZeros = 6 - hexString.length;
 | 
						|
        # var resultBuilder = ['#'];
 | 
						|
        # for (var i = 0; i < missingZeros; i++) `
 | 
						|
        # resultBuilder.push('0');
 | 
						|
        # `
 | 
						|
        # resultBuilder.push(hexString);
 | 
						|
        # return resultBuilder.join('');
 | 
						|
        # `;
 | 
						|
        # // ...
 | 
						|
        # Corresponds to the JSON property `backgroundColor`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleTypeColor]
 | 
						|
        attr_accessor :background_color
 | 
						|
      
 | 
						|
        # Represents a color in the RGBA color space. This representation is designed
 | 
						|
        # for simplicity of conversion to/from color representations in various
 | 
						|
        # languages over compactness; for example, the fields of this representation
 | 
						|
        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
 | 
						|
        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
 | 
						|
        # method in iOS; and, with just a little work, it can be easily formatted into
 | 
						|
        # a CSS "rgba()" string in JavaScript, as well.
 | 
						|
        # Note: this proto does not carry information about the absolute color space
 | 
						|
        # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
 | 
						|
        # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
 | 
						|
        # space.
 | 
						|
        # Note: when color equality needs to be decided, implementations, unless
 | 
						|
        # documented otherwise, will treat two colors to be equal if all their red,
 | 
						|
        # green, blue and alpha values each differ by at most 1e-5.
 | 
						|
        # Example (Java):
 | 
						|
        # import com.google.type.Color;
 | 
						|
        # // ...
 | 
						|
        # public static java.awt.Color fromProto(Color protocolor) `
 | 
						|
        # float alpha = protocolor.hasAlpha()
 | 
						|
        # ? protocolor.getAlpha().getValue()
 | 
						|
        # : 1.0;
 | 
						|
        # return new java.awt.Color(
 | 
						|
        # protocolor.getRed(),
 | 
						|
        # protocolor.getGreen(),
 | 
						|
        # protocolor.getBlue(),
 | 
						|
        # alpha);
 | 
						|
        # `
 | 
						|
        # public static Color toProto(java.awt.Color color) `
 | 
						|
        # float red = (float) color.getRed();
 | 
						|
        # float green = (float) color.getGreen();
 | 
						|
        # float blue = (float) color.getBlue();
 | 
						|
        # float denominator = 255.0;
 | 
						|
        # Color.Builder resultBuilder =
 | 
						|
        # Color
 | 
						|
        # .newBuilder()
 | 
						|
        # .setRed(red / denominator)
 | 
						|
        # .setGreen(green / denominator)
 | 
						|
        # .setBlue(blue / denominator);
 | 
						|
        # int alpha = color.getAlpha();
 | 
						|
        # if (alpha != 255) `
 | 
						|
        # result.setAlpha(
 | 
						|
        # FloatValue
 | 
						|
        # .newBuilder()
 | 
						|
        # .setValue(((float) alpha) / denominator)
 | 
						|
        # .build());
 | 
						|
        # `
 | 
						|
        # return resultBuilder.build();
 | 
						|
        # `
 | 
						|
        # // ...
 | 
						|
        # Example (iOS / Obj-C):
 | 
						|
        # // ...
 | 
						|
        # static UIColor* fromProto(Color* protocolor) `
 | 
						|
        # float red = [protocolor red];
 | 
						|
        # float green = [protocolor green];
 | 
						|
        # float blue = [protocolor blue];
 | 
						|
        # FloatValue* alpha_wrapper = [protocolor alpha];
 | 
						|
        # float alpha = 1.0;
 | 
						|
        # if (alpha_wrapper != nil) `
 | 
						|
        # alpha = [alpha_wrapper value];
 | 
						|
        # `
 | 
						|
        # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 | 
						|
        # `
 | 
						|
        # static Color* toProto(UIColor* color) `
 | 
						|
        # CGFloat red, green, blue, alpha;
 | 
						|
        # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
 | 
						|
        # return nil;
 | 
						|
        # `
 | 
						|
        # Color* result = [[Color alloc] init];
 | 
						|
        # [result setRed:red];
 | 
						|
        # [result setGreen:green];
 | 
						|
        # [result setBlue:blue];
 | 
						|
        # if (alpha <= 0.9999) `
 | 
						|
        # [result setAlpha:floatWrapperWithValue(alpha)];
 | 
						|
        # `
 | 
						|
        # [result autorelease];
 | 
						|
        # return result;
 | 
						|
        # `
 | 
						|
        # // ...
 | 
						|
        # Example (JavaScript):
 | 
						|
        # // ...
 | 
						|
        # var protoToCssColor = function(rgb_color) `
 | 
						|
        # var redFrac = rgb_color.red || 0.0;
 | 
						|
        # var greenFrac = rgb_color.green || 0.0;
 | 
						|
        # var blueFrac = rgb_color.blue || 0.0;
 | 
						|
        # var red = Math.floor(redFrac * 255);
 | 
						|
        # var green = Math.floor(greenFrac * 255);
 | 
						|
        # var blue = Math.floor(blueFrac * 255);
 | 
						|
        # if (!('alpha' in rgb_color)) `
 | 
						|
        # return rgbToCssColor_(red, green, blue);
 | 
						|
        # `
 | 
						|
        # var alphaFrac = rgb_color.alpha.value || 0.0;
 | 
						|
        # var rgbParams = [red, green, blue].join(',');
 | 
						|
        # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
 | 
						|
        # `;
 | 
						|
        # var rgbToCssColor_ = function(red, green, blue) `
 | 
						|
        # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
 | 
						|
        # var hexString = rgbNumber.toString(16);
 | 
						|
        # var missingZeros = 6 - hexString.length;
 | 
						|
        # var resultBuilder = ['#'];
 | 
						|
        # for (var i = 0; i < missingZeros; i++) `
 | 
						|
        # resultBuilder.push('0');
 | 
						|
        # `
 | 
						|
        # resultBuilder.push(hexString);
 | 
						|
        # return resultBuilder.join('');
 | 
						|
        # `;
 | 
						|
        # // ...
 | 
						|
        # Corresponds to the JSON property `color`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleTypeColor]
 | 
						|
        attr_accessor :color
 | 
						|
      
 | 
						|
        # Font size with unit.
 | 
						|
        # Corresponds to the JSON property `fontSize`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentStyleFontSize]
 | 
						|
        attr_accessor :font_size
 | 
						|
      
 | 
						|
        # Font weight. Possible values are normal, bold, bolder, and lighter.
 | 
						|
        # https://www.w3schools.com/cssref/pr_font_weight.asp
 | 
						|
        # Corresponds to the JSON property `fontWeight`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :font_weight
 | 
						|
      
 | 
						|
        # Text reference indexing into the Document.text.
 | 
						|
        # Corresponds to the JSON property `textAnchor`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentTextAnchor]
 | 
						|
        attr_accessor :text_anchor
 | 
						|
      
 | 
						|
        # Text decoration. Follows CSS standard.
 | 
						|
        # <text-decoration-line> <text-decoration-color> <text-decoration-style>
 | 
						|
        # https://www.w3schools.com/cssref/pr_text_text-decoration.asp
 | 
						|
        # Corresponds to the JSON property `textDecoration`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :text_decoration
 | 
						|
      
 | 
						|
        # Text style. Possible values are normal, italic, and oblique.
 | 
						|
        # https://www.w3schools.com/cssref/pr_font_font-style.asp
 | 
						|
        # Corresponds to the JSON property `textStyle`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :text_style
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @background_color = args[:background_color] if args.key?(:background_color)
 | 
						|
          @color = args[:color] if args.key?(:color)
 | 
						|
          @font_size = args[:font_size] if args.key?(:font_size)
 | 
						|
          @font_weight = args[:font_weight] if args.key?(:font_weight)
 | 
						|
          @text_anchor = args[:text_anchor] if args.key?(:text_anchor)
 | 
						|
          @text_decoration = args[:text_decoration] if args.key?(:text_decoration)
 | 
						|
          @text_style = args[:text_style] if args.key?(:text_style)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Font size with unit.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentStyleFontSize
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Font size for the text.
 | 
						|
        # Corresponds to the JSON property `size`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :size
 | 
						|
      
 | 
						|
        # Unit for the font size. Follows CSS naming (in, px, pt, etc.).
 | 
						|
        # Corresponds to the JSON property `unit`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :unit
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @size = args[:size] if args.key?(:size)
 | 
						|
          @unit = args[:unit] if args.key?(:unit)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Text reference indexing into the Document.text.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentTextAnchor
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The text segments from the Document.text.
 | 
						|
        # Corresponds to the JSON property `textSegments`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentTextAnchorTextSegment>]
 | 
						|
        attr_accessor :text_segments
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @text_segments = args[:text_segments] if args.key?(:text_segments)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A text segment in the Document.text. The indices may be out of bounds
 | 
						|
      # which indicate that the text extends into another document shard for
 | 
						|
      # large sharded documents. See ShardInfo.text_offset
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentTextAnchorTextSegment
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # TextSegment half open end UTF-8 char index in the
 | 
						|
        # Document.text.
 | 
						|
        # Corresponds to the JSON property `endIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :end_index
 | 
						|
      
 | 
						|
        # TextSegment start UTF-8 char index in the Document.text.
 | 
						|
        # Corresponds to the JSON property `startIndex`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :start_index
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @end_index = args[:end_index] if args.key?(:end_index)
 | 
						|
          @start_index = args[:start_index] if args.key?(:start_index)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A translation of the text segment.
 | 
						|
      class GoogleCloudDocumentaiV1beta2DocumentTranslation
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
 | 
						|
        # information, see
 | 
						|
        # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
 | 
						|
        # Corresponds to the JSON property `languageCode`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :language_code
 | 
						|
      
 | 
						|
        # Text reference indexing into the Document.text.
 | 
						|
        # Corresponds to the JSON property `textAnchor`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2DocumentTextAnchor]
 | 
						|
        attr_accessor :text_anchor
 | 
						|
      
 | 
						|
        # Text translated into the target language.
 | 
						|
        # Corresponds to the JSON property `translatedText`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :translated_text
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @language_code = args[:language_code] if args.key?(:language_code)
 | 
						|
          @text_anchor = args[:text_anchor] if args.key?(:text_anchor)
 | 
						|
          @translated_text = args[:translated_text] if args.key?(:translated_text)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Parameters to control entity extraction behavior.
 | 
						|
      class GoogleCloudDocumentaiV1beta2EntityExtractionParams
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Whether to enable entity extraction.
 | 
						|
        # Corresponds to the JSON property `enabled`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :enabled
 | 
						|
        alias_method :enabled?, :enabled
 | 
						|
      
 | 
						|
        # Model version of the entity extraction. Default is
 | 
						|
        # "builtin/stable". Specify "builtin/latest" for the latest model.
 | 
						|
        # Corresponds to the JSON property `modelVersion`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :model_version
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @enabled = args[:enabled] if args.key?(:enabled)
 | 
						|
          @model_version = args[:model_version] if args.key?(:model_version)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Parameters to control form extraction behavior.
 | 
						|
      class GoogleCloudDocumentaiV1beta2FormExtractionParams
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Whether to enable form extraction.
 | 
						|
        # Corresponds to the JSON property `enabled`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :enabled
 | 
						|
        alias_method :enabled?, :enabled
 | 
						|
      
 | 
						|
        # Reserved for future use.
 | 
						|
        # Corresponds to the JSON property `keyValuePairHints`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2KeyValuePairHint>]
 | 
						|
        attr_accessor :key_value_pair_hints
 | 
						|
      
 | 
						|
        # Model version of the form extraction system. Default is
 | 
						|
        # "builtin/stable". Specify "builtin/latest" for the latest model.
 | 
						|
        # For custom form models, specify: “custom/`model_name`". Model name
 | 
						|
        # format is "bucket_name/path/to/modeldir" corresponding to
 | 
						|
        # "gs://bucket_name/path/to/modeldir" where annotated examples are stored.
 | 
						|
        # Corresponds to the JSON property `modelVersion`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :model_version
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @enabled = args[:enabled] if args.key?(:enabled)
 | 
						|
          @key_value_pair_hints = args[:key_value_pair_hints] if args.key?(:key_value_pair_hints)
 | 
						|
          @model_version = args[:model_version] if args.key?(:model_version)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # The Google Cloud Storage location where the output file will be written to.
 | 
						|
      class GoogleCloudDocumentaiV1beta2GcsDestination
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `uri`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :uri
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @uri = args[:uri] if args.key?(:uri)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # The Google Cloud Storage location where the input file will be read from.
 | 
						|
      class GoogleCloudDocumentaiV1beta2GcsSource
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # 
 | 
						|
        # Corresponds to the JSON property `uri`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :uri
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @uri = args[:uri] if args.key?(:uri)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # The desired input location and metadata.
 | 
						|
      class GoogleCloudDocumentaiV1beta2InputConfig
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Content in bytes, represented as a stream of bytes.
 | 
						|
        # Note: As with all `bytes` fields, proto buffer messages use a pure binary
 | 
						|
        # representation, whereas JSON representations use base64.
 | 
						|
        # This field only works for synchronous ProcessDocument method.
 | 
						|
        # Corresponds to the JSON property `contents`
 | 
						|
        # NOTE: Values are automatically base64 encoded/decoded in the client library.
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :contents
 | 
						|
      
 | 
						|
        # The Google Cloud Storage location where the input file will be read from.
 | 
						|
        # Corresponds to the JSON property `gcsSource`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2GcsSource]
 | 
						|
        attr_accessor :gcs_source
 | 
						|
      
 | 
						|
        # Required. Mimetype of the input. Current supported mimetypes are application/
 | 
						|
        # pdf,
 | 
						|
        # image/tiff, and image/gif.
 | 
						|
        # In addition, application/json type is supported for requests with
 | 
						|
        # ProcessDocumentRequest.automl_params field set. The JSON file needs to
 | 
						|
        # be in Document format.
 | 
						|
        # Corresponds to the JSON property `mimeType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :mime_type
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @contents = args[:contents] if args.key?(:contents)
 | 
						|
          @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
 | 
						|
          @mime_type = args[:mime_type] if args.key?(:mime_type)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Reserved for future use.
 | 
						|
      class GoogleCloudDocumentaiV1beta2KeyValuePairHint
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The key text for the hint.
 | 
						|
        # Corresponds to the JSON property `key`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :key
 | 
						|
      
 | 
						|
        # Type of the value. This is case-insensitive, and could be one of:
 | 
						|
        # ADDRESS, LOCATION, ORGANIZATION, PERSON, PHONE_NUMBER,
 | 
						|
        # ID, NUMBER, EMAIL, PRICE, TERMS, DATE, NAME. Types not in this list will
 | 
						|
        # be ignored.
 | 
						|
        # Corresponds to the JSON property `valueTypes`
 | 
						|
        # @return [Array<String>]
 | 
						|
        attr_accessor :value_types
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @key = args[:key] if args.key?(:key)
 | 
						|
          @value_types = args[:value_types] if args.key?(:value_types)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A vertex represents a 2D point in the image.
 | 
						|
      # NOTE: the normalized vertex coordinates are relative to the original image
 | 
						|
      # and range from 0 to 1.
 | 
						|
      class GoogleCloudDocumentaiV1beta2NormalizedVertex
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # X coordinate.
 | 
						|
        # Corresponds to the JSON property `x`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :x
 | 
						|
      
 | 
						|
        # Y coordinate.
 | 
						|
        # Corresponds to the JSON property `y`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :y
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @x = args[:x] if args.key?(:x)
 | 
						|
          @y = args[:y] if args.key?(:y)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Parameters to control Optical Character Recognition (OCR) behavior.
 | 
						|
      class GoogleCloudDocumentaiV1beta2OcrParams
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # List of languages to use for OCR. In most cases, an empty value
 | 
						|
        # yields the best results since it enables automatic language detection. For
 | 
						|
        # languages based on the Latin alphabet, setting `language_hints` is not
 | 
						|
        # needed. In rare cases, when the language of the text in the image is known,
 | 
						|
        # setting a hint will help get better results (although it will be a
 | 
						|
        # significant hindrance if the hint is wrong). Document processing returns an
 | 
						|
        # error if one or more of the specified languages is not one of the
 | 
						|
        # supported languages.
 | 
						|
        # Corresponds to the JSON property `languageHints`
 | 
						|
        # @return [Array<String>]
 | 
						|
        attr_accessor :language_hints
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @language_hints = args[:language_hints] if args.key?(:language_hints)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Contains metadata for the BatchProcessDocuments operation.
 | 
						|
      class GoogleCloudDocumentaiV1beta2OperationMetadata
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The creation time of the operation.
 | 
						|
        # Corresponds to the JSON property `createTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :create_time
 | 
						|
      
 | 
						|
        # The state of the current batch processing.
 | 
						|
        # Corresponds to the JSON property `state`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :state
 | 
						|
      
 | 
						|
        # A message providing more details about the current state of processing.
 | 
						|
        # Corresponds to the JSON property `stateMessage`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :state_message
 | 
						|
      
 | 
						|
        # The last update time of the operation.
 | 
						|
        # Corresponds to the JSON property `updateTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :update_time
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @create_time = args[:create_time] if args.key?(:create_time)
 | 
						|
          @state = args[:state] if args.key?(:state)
 | 
						|
          @state_message = args[:state_message] if args.key?(:state_message)
 | 
						|
          @update_time = args[:update_time] if args.key?(:update_time)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # The desired output location and metadata.
 | 
						|
      class GoogleCloudDocumentaiV1beta2OutputConfig
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The Google Cloud Storage location where the output file will be written to.
 | 
						|
        # Corresponds to the JSON property `gcsDestination`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2GcsDestination]
 | 
						|
        attr_accessor :gcs_destination
 | 
						|
      
 | 
						|
        # The max number of pages to include into each output Document shard JSON on
 | 
						|
        # Google Cloud Storage.
 | 
						|
        # The valid range is [1, 100]. If not specified, the default value is 20.
 | 
						|
        # For example, for one pdf file with 100 pages, 100 parsed pages will be
 | 
						|
        # produced. If `pages_per_shard` = 20, then 5 Document shard JSON files each
 | 
						|
        # containing 20 parsed pages will be written under the prefix
 | 
						|
        # OutputConfig.gcs_destination.uri and suffix pages-x-to-y.json where
 | 
						|
        # x and y are 1-indexed page numbers.
 | 
						|
        # Example GCS outputs with 157 pages and pages_per_shard = 50:
 | 
						|
        # <prefix>pages-001-to-050.json
 | 
						|
        # <prefix>pages-051-to-100.json
 | 
						|
        # <prefix>pages-101-to-150.json
 | 
						|
        # <prefix>pages-151-to-157.json
 | 
						|
        # Corresponds to the JSON property `pagesPerShard`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :pages_per_shard
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
 | 
						|
          @pages_per_shard = args[:pages_per_shard] if args.key?(:pages_per_shard)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Request to process one document.
 | 
						|
      class GoogleCloudDocumentaiV1beta2ProcessDocumentRequest
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Parameters to control AutoML model prediction behavior.
 | 
						|
        # Corresponds to the JSON property `automlParams`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2AutoMlParams]
 | 
						|
        attr_accessor :automl_params
 | 
						|
      
 | 
						|
        # Specifies a known document type for deeper structure detection. Valid
 | 
						|
        # values are currently "general" and "invoice". If not provided, "general"\
 | 
						|
        # is used as default. If any other value is given, the request is rejected.
 | 
						|
        # Corresponds to the JSON property `documentType`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :document_type
 | 
						|
      
 | 
						|
        # Parameters to control entity extraction behavior.
 | 
						|
        # Corresponds to the JSON property `entityExtractionParams`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2EntityExtractionParams]
 | 
						|
        attr_accessor :entity_extraction_params
 | 
						|
      
 | 
						|
        # Parameters to control form extraction behavior.
 | 
						|
        # Corresponds to the JSON property `formExtractionParams`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2FormExtractionParams]
 | 
						|
        attr_accessor :form_extraction_params
 | 
						|
      
 | 
						|
        # The desired input location and metadata.
 | 
						|
        # Corresponds to the JSON property `inputConfig`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2InputConfig]
 | 
						|
        attr_accessor :input_config
 | 
						|
      
 | 
						|
        # Parameters to control Optical Character Recognition (OCR) behavior.
 | 
						|
        # Corresponds to the JSON property `ocrParams`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2OcrParams]
 | 
						|
        attr_accessor :ocr_params
 | 
						|
      
 | 
						|
        # The desired output location and metadata.
 | 
						|
        # Corresponds to the JSON property `outputConfig`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2OutputConfig]
 | 
						|
        attr_accessor :output_config
 | 
						|
      
 | 
						|
        # Target project and location to make a call.
 | 
						|
        # Format: `projects/`project-id`/locations/`location-id``.
 | 
						|
        # If no location is specified, a region will be chosen automatically.
 | 
						|
        # This field is only populated when used in ProcessDocument method.
 | 
						|
        # Corresponds to the JSON property `parent`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :parent
 | 
						|
      
 | 
						|
        # Parameters to control table extraction behavior.
 | 
						|
        # Corresponds to the JSON property `tableExtractionParams`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2TableExtractionParams]
 | 
						|
        attr_accessor :table_extraction_params
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @automl_params = args[:automl_params] if args.key?(:automl_params)
 | 
						|
          @document_type = args[:document_type] if args.key?(:document_type)
 | 
						|
          @entity_extraction_params = args[:entity_extraction_params] if args.key?(:entity_extraction_params)
 | 
						|
          @form_extraction_params = args[:form_extraction_params] if args.key?(:form_extraction_params)
 | 
						|
          @input_config = args[:input_config] if args.key?(:input_config)
 | 
						|
          @ocr_params = args[:ocr_params] if args.key?(:ocr_params)
 | 
						|
          @output_config = args[:output_config] if args.key?(:output_config)
 | 
						|
          @parent = args[:parent] if args.key?(:parent)
 | 
						|
          @table_extraction_params = args[:table_extraction_params] if args.key?(:table_extraction_params)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Response to a single document processing request.
 | 
						|
      class GoogleCloudDocumentaiV1beta2ProcessDocumentResponse
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The desired input location and metadata.
 | 
						|
        # Corresponds to the JSON property `inputConfig`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2InputConfig]
 | 
						|
        attr_accessor :input_config
 | 
						|
      
 | 
						|
        # The desired output location and metadata.
 | 
						|
        # Corresponds to the JSON property `outputConfig`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2OutputConfig]
 | 
						|
        attr_accessor :output_config
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @input_config = args[:input_config] if args.key?(:input_config)
 | 
						|
          @output_config = args[:output_config] if args.key?(:output_config)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A hint for a table bounding box on the page for table parsing.
 | 
						|
      class GoogleCloudDocumentaiV1beta2TableBoundHint
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # A bounding polygon for the detected image annotation.
 | 
						|
        # Corresponds to the JSON property `boundingBox`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2BoundingPoly]
 | 
						|
        attr_accessor :bounding_box
 | 
						|
      
 | 
						|
        # Optional. Page number for multi-paged inputs this hint applies to. If not
 | 
						|
        # provided, this hint will apply to all pages by default. This value is
 | 
						|
        # 1-based.
 | 
						|
        # Corresponds to the JSON property `pageNumber`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :page_number
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
 | 
						|
          @page_number = args[:page_number] if args.key?(:page_number)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Parameters to control table extraction behavior.
 | 
						|
      class GoogleCloudDocumentaiV1beta2TableExtractionParams
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Whether to enable table extraction.
 | 
						|
        # Corresponds to the JSON property `enabled`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :enabled
 | 
						|
        alias_method :enabled?, :enabled
 | 
						|
      
 | 
						|
        # Optional. Reserved for future use.
 | 
						|
        # Corresponds to the JSON property `headerHints`
 | 
						|
        # @return [Array<String>]
 | 
						|
        attr_accessor :header_hints
 | 
						|
      
 | 
						|
        # Model version of the table extraction system. Default is "builtin/stable".
 | 
						|
        # Specify "builtin/latest" for the latest model.
 | 
						|
        # Corresponds to the JSON property `modelVersion`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :model_version
 | 
						|
      
 | 
						|
        # Optional. Table bounding box hints that can be provided to complex cases
 | 
						|
        # which our algorithm cannot locate the table(s) in.
 | 
						|
        # Corresponds to the JSON property `tableBoundHints`
 | 
						|
        # @return [Array<Google::Apis::DocumentaiV1beta2::GoogleCloudDocumentaiV1beta2TableBoundHint>]
 | 
						|
        attr_accessor :table_bound_hints
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @enabled = args[:enabled] if args.key?(:enabled)
 | 
						|
          @header_hints = args[:header_hints] if args.key?(:header_hints)
 | 
						|
          @model_version = args[:model_version] if args.key?(:model_version)
 | 
						|
          @table_bound_hints = args[:table_bound_hints] if args.key?(:table_bound_hints)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A vertex represents a 2D point in the image.
 | 
						|
      # NOTE: the vertex coordinates are in the same scale as the original image.
 | 
						|
      class GoogleCloudDocumentaiV1beta2Vertex
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # X coordinate.
 | 
						|
        # Corresponds to the JSON property `x`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :x
 | 
						|
      
 | 
						|
        # Y coordinate.
 | 
						|
        # Corresponds to the JSON property `y`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :y
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @x = args[:x] if args.key?(:x)
 | 
						|
          @y = args[:y] if args.key?(:y)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # This resource represents a long-running operation that is the result of a
 | 
						|
      # network API call.
 | 
						|
      class GoogleLongrunningOperation
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # If the value is `false`, it means the operation is still in progress.
 | 
						|
        # If `true`, the operation is completed, and either `error` or `response` is
 | 
						|
        # available.
 | 
						|
        # Corresponds to the JSON property `done`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :done
 | 
						|
        alias_method :done?, :done
 | 
						|
      
 | 
						|
        # The `Status` type defines a logical error model that is suitable for
 | 
						|
        # different programming environments, including REST APIs and RPC APIs. It is
 | 
						|
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
 | 
						|
        # three pieces of data: error code, error message, and error details.
 | 
						|
        # You can find out more about this error model and how to work with it in the
 | 
						|
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
 | 
						|
        # Corresponds to the JSON property `error`
 | 
						|
        # @return [Google::Apis::DocumentaiV1beta2::GoogleRpcStatus]
 | 
						|
        attr_accessor :error
 | 
						|
      
 | 
						|
        # Service-specific metadata associated with the operation.  It typically
 | 
						|
        # contains progress information and common metadata such as create time.
 | 
						|
        # Some services might not provide such metadata.  Any method that returns a
 | 
						|
        # long-running operation should document the metadata type, if any.
 | 
						|
        # Corresponds to the JSON property `metadata`
 | 
						|
        # @return [Hash<String,Object>]
 | 
						|
        attr_accessor :metadata
 | 
						|
      
 | 
						|
        # The server-assigned name, which is only unique within the same service that
 | 
						|
        # originally returns it. If you use the default HTTP mapping, the
 | 
						|
        # `name` should be a resource name ending with `operations/`unique_id``.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # The normal response of the operation in case of success.  If the original
 | 
						|
        # method returns no data on success, such as `Delete`, the response is
 | 
						|
        # `google.protobuf.Empty`.  If the original method is standard
 | 
						|
        # `Get`/`Create`/`Update`, the response should be the resource.  For other
 | 
						|
        # methods, the response should have the type `XxxResponse`, where `Xxx`
 | 
						|
        # is the original method name.  For example, if the original method name
 | 
						|
        # is `TakeSnapshot()`, the inferred response type is
 | 
						|
        # `TakeSnapshotResponse`.
 | 
						|
        # Corresponds to the JSON property `response`
 | 
						|
        # @return [Hash<String,Object>]
 | 
						|
        attr_accessor :response
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @done = args[:done] if args.key?(:done)
 | 
						|
          @error = args[:error] if args.key?(:error)
 | 
						|
          @metadata = args[:metadata] if args.key?(:metadata)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @response = args[:response] if args.key?(:response)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # The `Status` type defines a logical error model that is suitable for
 | 
						|
      # different programming environments, including REST APIs and RPC APIs. It is
 | 
						|
      # used by [gRPC](https://github.com/grpc). Each `Status` message contains
 | 
						|
      # three pieces of data: error code, error message, and error details.
 | 
						|
      # You can find out more about this error model and how to work with it in the
 | 
						|
      # [API Design Guide](https://cloud.google.com/apis/design/errors).
 | 
						|
      class GoogleRpcStatus
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The status code, which should be an enum value of google.rpc.Code.
 | 
						|
        # Corresponds to the JSON property `code`
 | 
						|
        # @return [Fixnum]
 | 
						|
        attr_accessor :code
 | 
						|
      
 | 
						|
        # A list of messages that carry the error details.  There is a common set of
 | 
						|
        # message types for APIs to use.
 | 
						|
        # Corresponds to the JSON property `details`
 | 
						|
        # @return [Array<Hash<String,Object>>]
 | 
						|
        attr_accessor :details
 | 
						|
      
 | 
						|
        # A developer-facing error message, which should be in English. Any
 | 
						|
        # user-facing error message should be localized and sent in the
 | 
						|
        # google.rpc.Status.details field, or localized by the client.
 | 
						|
        # Corresponds to the JSON property `message`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :message
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @code = args[:code] if args.key?(:code)
 | 
						|
          @details = args[:details] if args.key?(:details)
 | 
						|
          @message = args[:message] if args.key?(:message)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Represents a color in the RGBA color space. This representation is designed
 | 
						|
      # for simplicity of conversion to/from color representations in various
 | 
						|
      # languages over compactness; for example, the fields of this representation
 | 
						|
      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
 | 
						|
      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
 | 
						|
      # method in iOS; and, with just a little work, it can be easily formatted into
 | 
						|
      # a CSS "rgba()" string in JavaScript, as well.
 | 
						|
      # Note: this proto does not carry information about the absolute color space
 | 
						|
      # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
 | 
						|
      # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
 | 
						|
      # space.
 | 
						|
      # Note: when color equality needs to be decided, implementations, unless
 | 
						|
      # documented otherwise, will treat two colors to be equal if all their red,
 | 
						|
      # green, blue and alpha values each differ by at most 1e-5.
 | 
						|
      # Example (Java):
 | 
						|
      # import com.google.type.Color;
 | 
						|
      # // ...
 | 
						|
      # public static java.awt.Color fromProto(Color protocolor) `
 | 
						|
      # float alpha = protocolor.hasAlpha()
 | 
						|
      # ? protocolor.getAlpha().getValue()
 | 
						|
      # : 1.0;
 | 
						|
      # return new java.awt.Color(
 | 
						|
      # protocolor.getRed(),
 | 
						|
      # protocolor.getGreen(),
 | 
						|
      # protocolor.getBlue(),
 | 
						|
      # alpha);
 | 
						|
      # `
 | 
						|
      # public static Color toProto(java.awt.Color color) `
 | 
						|
      # float red = (float) color.getRed();
 | 
						|
      # float green = (float) color.getGreen();
 | 
						|
      # float blue = (float) color.getBlue();
 | 
						|
      # float denominator = 255.0;
 | 
						|
      # Color.Builder resultBuilder =
 | 
						|
      # Color
 | 
						|
      # .newBuilder()
 | 
						|
      # .setRed(red / denominator)
 | 
						|
      # .setGreen(green / denominator)
 | 
						|
      # .setBlue(blue / denominator);
 | 
						|
      # int alpha = color.getAlpha();
 | 
						|
      # if (alpha != 255) `
 | 
						|
      # result.setAlpha(
 | 
						|
      # FloatValue
 | 
						|
      # .newBuilder()
 | 
						|
      # .setValue(((float) alpha) / denominator)
 | 
						|
      # .build());
 | 
						|
      # `
 | 
						|
      # return resultBuilder.build();
 | 
						|
      # `
 | 
						|
      # // ...
 | 
						|
      # Example (iOS / Obj-C):
 | 
						|
      # // ...
 | 
						|
      # static UIColor* fromProto(Color* protocolor) `
 | 
						|
      # float red = [protocolor red];
 | 
						|
      # float green = [protocolor green];
 | 
						|
      # float blue = [protocolor blue];
 | 
						|
      # FloatValue* alpha_wrapper = [protocolor alpha];
 | 
						|
      # float alpha = 1.0;
 | 
						|
      # if (alpha_wrapper != nil) `
 | 
						|
      # alpha = [alpha_wrapper value];
 | 
						|
      # `
 | 
						|
      # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 | 
						|
      # `
 | 
						|
      # static Color* toProto(UIColor* color) `
 | 
						|
      # CGFloat red, green, blue, alpha;
 | 
						|
      # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
 | 
						|
      # return nil;
 | 
						|
      # `
 | 
						|
      # Color* result = [[Color alloc] init];
 | 
						|
      # [result setRed:red];
 | 
						|
      # [result setGreen:green];
 | 
						|
      # [result setBlue:blue];
 | 
						|
      # if (alpha <= 0.9999) `
 | 
						|
      # [result setAlpha:floatWrapperWithValue(alpha)];
 | 
						|
      # `
 | 
						|
      # [result autorelease];
 | 
						|
      # return result;
 | 
						|
      # `
 | 
						|
      # // ...
 | 
						|
      # Example (JavaScript):
 | 
						|
      # // ...
 | 
						|
      # var protoToCssColor = function(rgb_color) `
 | 
						|
      # var redFrac = rgb_color.red || 0.0;
 | 
						|
      # var greenFrac = rgb_color.green || 0.0;
 | 
						|
      # var blueFrac = rgb_color.blue || 0.0;
 | 
						|
      # var red = Math.floor(redFrac * 255);
 | 
						|
      # var green = Math.floor(greenFrac * 255);
 | 
						|
      # var blue = Math.floor(blueFrac * 255);
 | 
						|
      # if (!('alpha' in rgb_color)) `
 | 
						|
      # return rgbToCssColor_(red, green, blue);
 | 
						|
      # `
 | 
						|
      # var alphaFrac = rgb_color.alpha.value || 0.0;
 | 
						|
      # var rgbParams = [red, green, blue].join(',');
 | 
						|
      # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
 | 
						|
      # `;
 | 
						|
      # var rgbToCssColor_ = function(red, green, blue) `
 | 
						|
      # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
 | 
						|
      # var hexString = rgbNumber.toString(16);
 | 
						|
      # var missingZeros = 6 - hexString.length;
 | 
						|
      # var resultBuilder = ['#'];
 | 
						|
      # for (var i = 0; i < missingZeros; i++) `
 | 
						|
      # resultBuilder.push('0');
 | 
						|
      # `
 | 
						|
      # resultBuilder.push(hexString);
 | 
						|
      # return resultBuilder.join('');
 | 
						|
      # `;
 | 
						|
      # // ...
 | 
						|
      class GoogleTypeColor
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The fraction of this color that should be applied to the pixel. That is,
 | 
						|
        # the final pixel color is defined by the equation:
 | 
						|
        # pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
 | 
						|
        # This means that a value of 1.0 corresponds to a solid color, whereas
 | 
						|
        # a value of 0.0 corresponds to a completely transparent color. This
 | 
						|
        # uses a wrapper message rather than a simple float scalar so that it is
 | 
						|
        # possible to distinguish between a default value and the value being unset.
 | 
						|
        # If omitted, this color object is to be rendered as a solid color
 | 
						|
        # (as if the alpha value had been explicitly given with a value of 1.0).
 | 
						|
        # Corresponds to the JSON property `alpha`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :alpha
 | 
						|
      
 | 
						|
        # The amount of blue in the color as a value in the interval [0, 1].
 | 
						|
        # Corresponds to the JSON property `blue`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :blue
 | 
						|
      
 | 
						|
        # The amount of green in the color as a value in the interval [0, 1].
 | 
						|
        # Corresponds to the JSON property `green`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :green
 | 
						|
      
 | 
						|
        # The amount of red in the color as a value in the interval [0, 1].
 | 
						|
        # Corresponds to the JSON property `red`
 | 
						|
        # @return [Float]
 | 
						|
        attr_accessor :red
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @alpha = args[:alpha] if args.key?(:alpha)
 | 
						|
          @blue = args[:blue] if args.key?(:blue)
 | 
						|
          @green = args[:green] if args.key?(:green)
 | 
						|
          @red = args[:red] if args.key?(:red)
 | 
						|
        end
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |