diff --git a/generated/google/apis/accesscontextmanager_v1.rb b/generated/google/apis/accesscontextmanager_v1.rb index 151b09d8f..45442234b 100644 --- a/generated/google/apis/accesscontextmanager_v1.rb +++ b/generated/google/apis/accesscontextmanager_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/access-context-manager/docs/reference/rest/ module AccesscontextmanagerV1 VERSION = 'V1' - REVISION = '20190529' + REVISION = '20190704' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/accesscontextmanager_v1/service.rb b/generated/google/apis/accesscontextmanager_v1/service.rb index c36c3b429..c2bd88a2a 100644 --- a/generated/google/apis/accesscontextmanager_v1/service.rb +++ b/generated/google/apis/accesscontextmanager_v1/service.rb @@ -401,7 +401,7 @@ module Google # `accessPolicies/`policy_id`/accessLevels/`short_name`` # @param [Google::Apis::AccesscontextmanagerV1::AccessLevel] access_level_object # @param [String] update_mask - # Required. Mask to control which fields get updated. Must be non-empty. + # Required. Mask to control which fields get updated. Must be non-empty. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user diff --git a/generated/google/apis/accesscontextmanager_v1beta.rb b/generated/google/apis/accesscontextmanager_v1beta.rb index 18bfbd391..49b395c9e 100644 --- a/generated/google/apis/accesscontextmanager_v1beta.rb +++ b/generated/google/apis/accesscontextmanager_v1beta.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/access-context-manager/docs/reference/rest/ module AccesscontextmanagerV1beta VERSION = 'V1beta' - REVISION = '20190617' + REVISION = '20190704' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/accesscontextmanager_v1beta/service.rb b/generated/google/apis/accesscontextmanager_v1beta/service.rb index 5ee94e682..714ac5e79 100644 --- a/generated/google/apis/accesscontextmanager_v1beta/service.rb +++ b/generated/google/apis/accesscontextmanager_v1beta/service.rb @@ -401,7 +401,7 @@ module Google # `accessPolicies/`policy_id`/accessLevels/`short_name`` # @param [Google::Apis::AccesscontextmanagerV1beta::AccessLevel] access_level_object # @param [String] update_mask - # Required. Mask to control which fields get updated. Must be non-empty. + # Required. Mask to control which fields get updated. Must be non-empty. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user diff --git a/generated/google/apis/cloudbilling_v1.rb b/generated/google/apis/cloudbilling_v1.rb index 9975f0829..4f44e4449 100644 --- a/generated/google/apis/cloudbilling_v1.rb +++ b/generated/google/apis/cloudbilling_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/billing/ module CloudbillingV1 VERSION = 'V1' - REVISION = '20190702' + REVISION = '20190709' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudbilling_v1/classes.rb b/generated/google/apis/cloudbilling_v1/classes.rb index f54686a9d..22db28b53 100644 --- a/generated/google/apis/cloudbilling_v1/classes.rb +++ b/generated/google/apis/cloudbilling_v1/classes.rb @@ -72,7 +72,7 @@ module Google # ` # "log_type": "DATA_READ", # "exempted_members": [ - # "user:foo@gmail.com" + # "user:jose@example.com" # ] # `, # ` @@ -84,7 +84,7 @@ module Google # ] # `, # ` - # "service": "fooservice.googleapis.com" + # "service": "sampleservice.googleapis.com" # "audit_log_configs": [ # ` # "log_type": "DATA_READ", @@ -92,16 +92,16 @@ module Google # ` # "log_type": "DATA_WRITE", # "exempted_members": [ - # "user:bar@gmail.com" + # "user:aliya@example.com" # ] # ` # ] # ` # ] # ` - # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ - # logging. It also exempts foo@gmail.com from DATA_READ logging, and - # bar@gmail.com from DATA_WRITE logging. + # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ + # logging. It also exempts jose@example.com from DATA_READ logging, and + # aliya@example.com from DATA_WRITE logging. class AuditConfig include Google::Apis::Core::Hashable @@ -135,7 +135,7 @@ module Google # ` # "log_type": "DATA_READ", # "exempted_members": [ - # "user:foo@gmail.com" + # "user:jose@example.com" # ] # `, # ` @@ -144,7 +144,7 @@ module Google # ] # ` # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - # foo@gmail.com from DATA_READ logging. + # jose@example.com from DATA_READ logging. class AuditLogConfig include Google::Apis::Core::Hashable @@ -248,7 +248,7 @@ module Google # * `allAuthenticatedUsers`: A special identifier that represents anyone # who is authenticated with a Google account or a service account. # * `user:`emailid``: An email address that represents a specific Google - # account. For example, `alice@gmail.com` . + # account. For example, `alice@example.com` . # * `serviceAccount:`emailid``: An email address that represents a service # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. @@ -569,7 +569,7 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten blindly. + # policy is overwritten. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] diff --git a/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb b/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb index 93f57de54..23286c954 100644 --- a/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +++ b/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/private-catalog/ module CloudprivatecatalogproducerV1beta1 VERSION = 'V1beta1' - REVISION = '20190531' + REVISION = '20190704' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb b/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb index 80d80b362..0dc61c46c 100644 --- a/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +++ b/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb @@ -598,7 +598,7 @@ module Google # ` # "log_type": "DATA_READ", # "exempted_members": [ - # "user:foo@gmail.com" + # "user:jose@example.com" # ] # `, # ` @@ -610,7 +610,7 @@ module Google # ] # `, # ` - # "service": "fooservice.googleapis.com" + # "service": "sampleservice.googleapis.com" # "audit_log_configs": [ # ` # "log_type": "DATA_READ", @@ -618,16 +618,16 @@ module Google # ` # "log_type": "DATA_WRITE", # "exempted_members": [ - # "user:bar@gmail.com" + # "user:aliya@example.com" # ] # ` # ] # ` # ] # ` - # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ - # logging. It also exempts foo@gmail.com from DATA_READ logging, and - # bar@gmail.com from DATA_WRITE logging. + # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ + # logging. It also exempts jose@example.com from DATA_READ logging, and + # aliya@example.com from DATA_WRITE logging. class GoogleIamV1AuditConfig include Google::Apis::Core::Hashable @@ -661,7 +661,7 @@ module Google # ` # "log_type": "DATA_READ", # "exempted_members": [ - # "user:foo@gmail.com" + # "user:jose@example.com" # ] # `, # ` @@ -670,7 +670,7 @@ module Google # ] # ` # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - # foo@gmail.com from DATA_READ logging. + # jose@example.com from DATA_READ logging. class GoogleIamV1AuditLogConfig include Google::Apis::Core::Hashable @@ -681,6 +681,14 @@ module Google # @return [Array] attr_accessor :exempted_members + # Specifies whether principals can be exempted for the same LogType in + # lower-level resource policies. If true, any lower-level exemptions will + # be ignored. + # Corresponds to the JSON property `ignoreChildExemptions` + # @return [Boolean] + attr_accessor :ignore_child_exemptions + alias_method :ignore_child_exemptions?, :ignore_child_exemptions + # The log type that this config enables. # Corresponds to the JSON property `logType` # @return [String] @@ -693,6 +701,7 @@ module Google # Update properties of this object def update!(**args) @exempted_members = args[:exempted_members] if args.key?(:exempted_members) + @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions) @log_type = args[:log_type] if args.key?(:log_type) end end @@ -716,7 +725,7 @@ module Google # * `allAuthenticatedUsers`: A special identifier that represents anyone # who is authenticated with a Google account or a service account. # * `user:`emailid``: An email address that represents a specific Google - # account. For example, `alice@gmail.com` . + # account. For example, `alice@example.com` . # * `serviceAccount:`emailid``: An email address that represents a service # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. @@ -804,7 +813,7 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten blindly. + # policy is overwritten. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] diff --git a/generated/google/apis/cloudprivatecatalogproducer_v1beta1/representations.rb b/generated/google/apis/cloudprivatecatalogproducer_v1beta1/representations.rb index 621b8876d..c8fc1e11e 100644 --- a/generated/google/apis/cloudprivatecatalogproducer_v1beta1/representations.rb +++ b/generated/google/apis/cloudprivatecatalogproducer_v1beta1/representations.rb @@ -294,6 +294,7 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation collection :exempted_members, as: 'exemptedMembers' + property :ignore_child_exemptions, as: 'ignoreChildExemptions' property :log_type, as: 'logType' end end diff --git a/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb b/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb index 89d8c0ff2..7f34231b0 100644 --- a/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +++ b/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb @@ -151,6 +151,11 @@ module Google # @param [String] resource # REQUIRED: The resource for which the policy is being requested. # See the operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. + # Acceptable values are 0 and 1. + # If the value is 0, or the field is omitted, policy format version 1 will be + # returned. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -168,11 +173,12 @@ module Google # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required - def get_catalog_iam_policy(resource, fields: nil, quota_user: nil, options: nil, &block) + def get_catalog_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1beta1/{+resource}:getIamPolicy', options) command.response_representation = Google::Apis::CloudprivatecatalogproducerV1beta1::GoogleIamV1Policy::Representation command.response_class = Google::Apis::CloudprivatecatalogproducerV1beta1::GoogleIamV1Policy command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) diff --git a/generated/google/apis/compute_alpha.rb b/generated/google/apis/compute_alpha.rb index fab1967a8..d9cd0aad8 100644 --- a/generated/google/apis/compute_alpha.rb +++ b/generated/google/apis/compute_alpha.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/compute/docs/reference/latest/ module ComputeAlpha VERSION = 'Alpha' - REVISION = '20190618' + REVISION = '20190624' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/compute_alpha/classes.rb b/generated/google/apis/compute_alpha/classes.rb index bbf47acf8..b0451ad36 100644 --- a/generated/google/apis/compute_alpha/classes.rb +++ b/generated/google/apis/compute_alpha/classes.rb @@ -2420,10 +2420,34 @@ module Google class Backend include Google::Apis::Core::Hashable - # Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL - # load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE - # (for HTTP(S)) and CONNECTION (for TCP/SSL). - # For Internal Load Balancing, the default and only supported mode is CONNECTION. + # Specifies the balancing mode for the backend. + # When choosing a balancing mode, you need to consider the loadBalancingScheme, + # and protocol for the backend service, as well as the type of backend (instance + # group or NEG). + # + # - If the load balancing mode is CONNECTION, then the load is spread based on + # how many concurrent connections the backend can handle. + # The CONNECTION balancing mode is only available if the protocol for the + # backend service is SSL, TCP, or UDP. + # If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and + # TCP Proxy load balancers), you must also specify exactly one of the following + # parameters: maxConnections, maxConnectionsPerInstance, or + # maxConnectionsPerEndpoint. + # If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/ + # UDP load balancers), you cannot specify any additional parameters. + # + # - If the load balancing mode is RATE, then the load is spread based on the + # rate of HTTP requests per second (RPS). + # The RATE balancing mode is only available if the protocol for the backend + # service is HTTP or HTTPS. You must specify exactly one of the following + # parameters: maxRate, maxRatePerInstance, or maxRatePerEndpoint. + # + # - If the load balancing mode is UTILIZATION, then the load is spread based on + # the CPU utilization of instances in an instance group. + # The UTILIZATION balancing mode is only available if the loadBalancingScheme of + # the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED + # and the backend is made up of instance groups. There are no restrictions on + # the backend service protocol. # Corresponds to the JSON property `balancingMode` # @return [String] attr_accessor :balancing_mode @@ -2451,47 +2475,61 @@ module Google attr_accessor :failover alias_method :failover?, :failover - # The fully-qualified URL of an Instance Group or Network Endpoint Group - # resource. In case of instance group this defines the list of instances that - # serve traffic. Member virtual machine instances from each instance group must - # live in the same zone as the instance group itself. No two backends in a - # backend service are allowed to use same Instance Group resource. - # For Network Endpoint Groups this defines list of endpoints. All endpoints of - # Network Endpoint Group must be hosted on instances located in the same zone as - # the Network Endpoint Group. - # Backend service can not contain mix of Instance Group and Network Endpoint - # Group backends. - # Note that you must specify an Instance Group or Network Endpoint Group - # resource using the fully-qualified URL, rather than a partial URL. - # When the BackendService has load balancing scheme INTERNAL, the instance group - # must be within the same region as the BackendService. Network Endpoint Groups - # are not supported for INTERNAL load balancing scheme. + # The fully-qualified URL of an instance group or network endpoint group (NEG) + # resource. The type of backend that a backend service supports depends on the + # backend service's loadBalancingScheme. + # + # - When the loadBalancingScheme for the backend service is EXTERNAL, + # INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the backend can be either an + # instance group or a NEG. The backends on the backend service must be either + # all instance groups or all NEGs. You cannot mix instance group and NEG + # backends on the same backend service. + # - When the loadBalancingScheme for the backend service is INTERNAL, the + # backend must be an instance group in the same region as the backend service. + # NEGs are not supported. + # You must use the fully-qualified URL (starting with https://www.googleapis.com/ + # ) to specify the instance group or NEG. Partial URLs are not supported. # Corresponds to the JSON property `group` # @return [String] attr_accessor :group - # The max number of simultaneous connections for the group. Can be used with - # either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either - # maxConnections or maxConnectionsPerInstance must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for simultaneous connections for the entire backend ( + # instance group or NEG). If the backend's balancingMode is UTILIZATION, this is + # an optional parameter. If the backend's balancingMode is CONNECTION, and + # backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, + # you must specify either this parameter, maxConnectionsPerInstance, or + # maxConnectionsPerEndpoint. + # Not available if the backend's balancingMode is RATE. If the + # loadBalancingScheme is INTERNAL, then maxConnections is not supported, even + # though the backend requires a balancing mode of CONNECTION. # Corresponds to the JSON property `maxConnections` # @return [Fixnum] attr_accessor :max_connections - # The max number of simultaneous connections that a single backend network - # endpoint can handle. This is used to calculate the capacity of the group. Can - # be used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION - # mode, either maxConnections or maxConnectionsPerEndpoint must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for simultaneous connections for an endpoint of a NEG. + # This is multiplied by the number of endpoints in the NEG to implicitly + # calculate a maximum number of target maximum simultaneous connections for the + # NEG. If the backend's balancingMode is CONNECTION, and the backend is attached + # to a backend service whose loadBalancingScheme is EXTERNAL, you must specify + # either this parameter, maxConnections, or maxConnectionsPerInstance. + # Not available if the backend's balancingMode is RATE. Internal TCP/UDP load + # balancing does not support setting maxConnectionsPerEndpoint even though its + # backends require a balancing mode of CONNECTION. # Corresponds to the JSON property `maxConnectionsPerEndpoint` # @return [Fixnum] attr_accessor :max_connections_per_endpoint - # The max number of simultaneous connections that a single backend instance can - # handle. This is used to calculate the capacity of the group. Can be used in - # either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either - # maxConnections or maxConnectionsPerInstance must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for simultaneous connections for a single VM in a + # backend instance group. This is multiplied by the number of instances in the + # instance group to implicitly calculate a target maximum number of simultaneous + # connections for the whole instance group. If the backend's balancingMode is + # UTILIZATION, this is an optional parameter. If the backend's balancingMode is + # CONNECTION, and backend is attached to a backend service whose + # loadBalancingScheme is EXTERNAL, you must specify either this parameter, + # maxConnections, or maxConnectionsPerEndpoint. + # Not available if the backend's balancingMode is RATE. Internal TCP/UDP load + # balancing does not support setting maxConnectionsPerInstance even though its + # backends require a balancing mode of CONNECTION. # Corresponds to the JSON property `maxConnectionsPerInstance` # @return [Fixnum] attr_accessor :max_connections_per_instance @@ -2504,27 +2542,33 @@ module Google # @return [Fixnum] attr_accessor :max_rate - # The max requests per second (RPS) that a single backend network endpoint can - # handle. This is used to calculate the capacity of the group. Can be used in - # either balancing mode. For RATE mode, either maxRate or maxRatePerEndpoint - # must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for requests per second (RPS) for an endpoint of a + # NEG. This is multiplied by the number of endpoints in the NEG to implicitly + # calculate a target maximum rate for the NEG. + # If the backend's balancingMode is RATE, you must specify either this parameter, + # maxRate, or maxRatePerInstance. + # Not available if the backend's balancingMode is CONNECTION. # Corresponds to the JSON property `maxRatePerEndpoint` # @return [Float] attr_accessor :max_rate_per_endpoint - # The max requests per second (RPS) that a single backend instance can handle. - # This is used to calculate the capacity of the group. Can be used in either - # balancing mode. For RATE mode, either maxRate or maxRatePerInstance must be - # set. - # This cannot be used for internal load balancing. + # Defines a maximum target for requests per second (RPS) for a single VM in a + # backend instance group. This is multiplied by the number of instances in the + # instance group to implicitly calculate a target maximum rate for the whole + # instance group. + # If the backend's balancingMode is UTILIZATION, this is an optional parameter. + # If the backend's balancingMode is RATE, you must specify either this parameter, + # maxRate, or maxRatePerEndpoint. + # Not available if the backend's balancingMode is CONNECTION. # Corresponds to the JSON property `maxRatePerInstance` # @return [Float] attr_accessor :max_rate_per_instance - # Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization - # target for the group. The default is 0.8. Valid range is [0.0, 1.0]. - # This cannot be used for internal load balancing. + # Defines the maximum average CPU utilization of a backend VM in an instance + # group. The valid range is [0.0, 1.0]. This is an optional parameter if the + # backend's balancingMode is UTILIZATION. + # This parameter can be used in conjunction with maxRate, maxRatePerInstance, + # maxConnections, or maxConnectionsPerInstance. # Corresponds to the JSON property `maxUtilization` # @return [Float] attr_accessor :max_utilization @@ -2550,7 +2594,9 @@ module Google end end - # A BackendBucket resource. This resource defines a Cloud Storage bucket. + # Represents a Cloud Storage Bucket resource. + # This Cloud Storage bucket resource is referenced by a URL map of a load + # balancer. For more information, read Backend Buckets. class BackendBucket include Google::Apis::Core::Hashable @@ -2778,16 +2824,22 @@ module Google end end - # A BackendService resource. This resource defines a group of backend virtual - # machines and their serving capacity. (== resource_for v1.backendService ==) (== - # resource_for beta.backendService ==) + # Represents a Backend Service resource. + # Backend services must have an associated health check. Backend services also + # store information about session affinity. For more information, read Backend + # Services. + # A backendServices resource represents a global backend service. Global backend + # services are used for HTTP(S), SSL Proxy, TCP Proxy load balancing and Traffic + # Director. + # A regionBackendServices resource represents a regional backend service. + # Regional backend services are used for internal TCP/UDP load balancing. For + # more information, read Internal TCP/UDP Load balancing. (== resource_for v1. + # backendService ==) (== resource_for beta.backendService ==) class BackendService include Google::Apis::Core::Hashable - # Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If set - # to 0, the cookie is non-persistent and lasts only until the end of the browser - # session (or equivalent). The maximum allowed value for TTL is one day. - # When the load balancing scheme is INTERNAL, this field is not used. + # If set to 0, the cookie is non-persistent and lasts only until the end of the + # browser session (or equivalent). The maximum allowed value is one day (86,400). # Corresponds to the JSON property `affinityCookieTtlSec` # @return [Fixnum] attr_accessor :affinity_cookie_ttl_sec @@ -2833,14 +2885,15 @@ module Google # @return [String] attr_accessor :description - # If true, enable Cloud CDN for this BackendService. - # When the load balancing scheme is INTERNAL, this field is not used. + # If true, enables Cloud CDN for the backend service. Only applicable if the + # loadBalancingScheme is EXTERNAL and the protocol is HTTP or HTTPS. # Corresponds to the JSON property `enableCDN` # @return [Boolean] attr_accessor :enable_cdn alias_method :enable_cdn?, :enable_cdn - # + # Applicable only to Failover for Internal TCP/UDP Load Balancing. Requires at + # least one backend instance group to be defined as a backup (failover) backend. # Corresponds to the JSON property `failoverPolicy` # @return [Google::Apis::ComputeAlpha::BackendServiceFailoverPolicy] attr_accessor :failover_policy @@ -2948,23 +3001,27 @@ module Google # Deprecated in favor of portName. The TCP port to connect on the backend. The # default value is 80. - # This cannot be used for internal load balancing. + # This cannot be used if the loadBalancingScheme is INTERNAL (Internal TCP/UDP + # Load Balancing). # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port - # Name of backend port. The same name should appear in the instance groups - # referenced by this service. Required when the load balancing scheme is - # EXTERNAL. - # When the load balancing scheme is INTERNAL, this field is not used. + # A named port on a backend instance group representing the port for + # communication to the backend VMs in that group. Required when the + # loadBalancingScheme is EXTERNAL and the backends are instance groups. The + # named port must be defined on each backend instance group. This parameter has + # no meaning if the backends are NEGs. + # Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP + # Load Blaancing). # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name # The protocol this BackendService uses to communicate with backends. - # Possible values are HTTP, HTTPS, TCP, and SSL. The default is HTTP. - # For internal load balancing, the possible values are TCP and UDP, and the - # default is TCP. + # Possible values are HTTP, HTTPS, TCP, SSL, or UDP, depending on the chosen + # load balancer or Traffic Director configuration. Refer to the documentation + # for the load balancer or for Traffic director for more information. # Corresponds to the JSON property `protocol` # @return [String] attr_accessor :protocol @@ -2998,18 +3055,22 @@ module Google # @return [String] attr_accessor :self_link_with_id - # Type of session affinity to use. The default is NONE. - # When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or - # GENERATED_COOKIE. - # When the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP, + # Type of session affinity to use. The default is NONE. Session affinity is not + # applicable if the --protocol is UDP. + # When the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP, + # or GENERATED_COOKIE. GENERATED_COOKIE is only available if the protocol is + # HTTP or HTTPS. + # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP, # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. - # When the protocol is UDP, this field is not used. + # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, possible values are + # NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE. # Corresponds to the JSON property `sessionAffinity` # @return [String] attr_accessor :session_affinity - # How many seconds to wait for the backend before considering it a failed - # request. Default is 30 seconds. + # The backend service timeout has a different meaning depending on the type of + # load balancer. For more information read, Backend service settings The + # default is 30 seconds. # Corresponds to the JSON property `timeoutSec` # @return [Fixnum] attr_accessor :timeout_sec @@ -3214,11 +3275,6 @@ module Google class BackendServiceFailoverPolicy include Google::Apis::Core::Hashable - # On failover or failback, this field indicates whether connection drain will be - # honored. Setting this to true has the following effect: connections to the old - # active pool are not drained. Connections to the new active pool use the - # timeout of 10 min (currently fixed). Setting to false has the following effect: - # both old and new connections will have a drain timeout of 10 min. # This can be set to true only if the protocol is TCP. # The default is false. # Corresponds to the JSON property `disableConnectionDrainOnFailover` @@ -3226,23 +3282,22 @@ module Google attr_accessor :disable_connection_drain_on_failover alias_method :disable_connection_drain_on_failover?, :disable_connection_drain_on_failover - # This option is used only when no healthy VMs are detected in the primary and - # backup instance groups. When set to true, traffic is dropped. When set to - # false, new connections are sent across all VMs in the primary group. + # Applicable only to Failover for Internal TCP/UDP Load Balancing. If set to + # true, connections to the load balancer are dropped when all primary and all + # backup backend VMs are unhealthy. If set to false, connections are distributed + # among all primary VMs when all primary and all backup backend VMs are + # unhealthy. # The default is false. # Corresponds to the JSON property `dropTrafficIfUnhealthy` # @return [Boolean] attr_accessor :drop_traffic_if_unhealthy alias_method :drop_traffic_if_unhealthy?, :drop_traffic_if_unhealthy - # The value of the field must be in [0, 1]. If the ratio of the healthy VMs in - # the primary backend is at or below this number, traffic arriving at the load- - # balanced IP will be directed to the failover backend. - # In case where 'failoverRatio' is not set or all the VMs in the backup backend - # are unhealthy, the traffic will be directed back to the primary backend in the - # "force" mode, where traffic will be spread to the healthy VMs with the best - # effort, or to all VMs when no VM is healthy. - # This field is only used with l4 load balancing. + # Applicable only to Failover for Internal TCP/UDP Load Balancing. The value of + # the field must be in the range [0, 1]. If the value is 0, the load balancer + # performs a failover when the number of healthy primary VMs equals zero. For + # all other values, the load balancer performs a failover when the total number + # of healthy primary VMs is less than this ratio. # Corresponds to the JSON property `failoverRatio` # @return [Float] attr_accessor :failover_ratio @@ -4699,8 +4754,9 @@ module Google class ConnectionDraining include Google::Apis::Core::Hashable - # Time for which instance will be drained (not accept new connections, but still - # work to finish started). + # The amount of time in seconds to allow existing connections to persist while + # on unhealthy backend VMs. Only applicable if the protocol is not UDP. The + # valid range is [0, 3600]. # Corresponds to the JSON property `drainingTimeoutSec` # @return [Fixnum] attr_accessor :draining_timeout_sec @@ -7233,13 +7289,32 @@ module Google end end - # A ForwardingRule resource. A ForwardingRule resource specifies which pool of - # target virtual machines to forward a packet to if it matches the given [ - # IPAddress, IPProtocol, ports] tuple. (== resource_for beta.forwardingRules ==) - # (== resource_for v1.forwardingRules ==) (== resource_for beta. - # globalForwardingRules ==) (== resource_for v1.globalForwardingRules ==) (== - # resource_for beta.regionForwardingRules ==) (== resource_for v1. - # regionForwardingRules ==) + # Represents a Forwarding Rule resource. + # A forwardingRules resource represents a regional forwarding rule. + # Regional external forwarding rules can reference any of the following + # resources: + # + # - A target instance + # - A Cloud VPN Classic gateway (targetVpnGateway), + # - A target pool for a Network Load Balancer + # - A global target HTTP(S) proxy for an HTTP(S) load balancer using Standard + # Tier + # - A target SSL proxy for a SSL Proxy load balancer using Standard Tier + # - A target TCP proxy for a TCP Proxy load balancer using Standard Tier. + # Regional internal forwarding rules can reference the backend service of an + # internal TCP/UDP load balancer. + # For regional internal forwarding rules, the following applies: + # - If the loadBalancingScheme for the load balancer is INTERNAL, then the + # forwarding rule references a regional internal backend service. + # - If the loadBalancingScheme for the load balancer is INTERNAL_MANAGED, then + # the forwarding rule must reference a regional target HTTP(S) proxy. + # For more information, read Using Forwarding rules. + # A globalForwardingRules resource represents a global forwarding rule. + # Global forwarding rules are only used by load balancers that use Premium Tier. + # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules = + # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1. + # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (== + # resource_for v1.regionForwardingRules ==) class ForwardingRule include Google::Apis::Core::Hashable @@ -8410,9 +8485,11 @@ module Google end end - # An HealthCheck resource. This resource defines a template for how individual - # virtual machines should be checked for health, via one of the supported - # protocols. + # Represents a Health Check resource. + # Health checks are used for most GCP load balancers and managed instance group + # auto-healing. For more information, read Health Check Concepts. + # To perform health checks on network load balancers, you must use either + # httpHealthChecks or httpsHealthChecks. class HealthCheck include Google::Apis::Core::Hashable @@ -9585,8 +9662,9 @@ module Google end end - # An HttpHealthCheck resource. This resource defines a template for how - # individual instances should be checked for health, via HTTP. + # Represents a legacy HTTP Health Check resource. + # Legacy health checks are required by network load balancers. For more + # information, read Health Check Concepts. class HttpHealthCheck include Google::Apis::Core::Hashable @@ -9647,6 +9725,7 @@ module Google attr_accessor :port # The request path of the HTTP health check request. The default value is /. + # This field does not support query parameters. # Corresponds to the JSON property `requestPath` # @return [String] attr_accessor :request_path @@ -10208,8 +10287,9 @@ module Google end end - # An HttpsHealthCheck resource. This resource defines a template for how - # individual instances should be checked for health, via HTTPS. + # Represents a legacy HTTPS Health Check resource. + # Legacy health checks are required by network load balancers. For more + # information, read Health Check Concepts. class HttpsHealthCheck include Google::Apis::Core::Hashable @@ -19215,19 +19295,18 @@ module Google # This field will be deprecated soon. Use the exchange_subnet_routes field # instead. Indicates whether full mesh connectivity is created and managed - # automatically. When it is set to true, Google Compute Engine will - # automatically create and manage the routes between two networks when the state - # is ACTIVE. Otherwise, user needs to create routes manually to route packets to - # peer network. + # automatically between peered networks. Currently this field should always be + # true since Google Compute Engine will automatically create and manage + # subnetwork routes between two networks when peering state is ACTIVE. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes alias_method :auto_create_routes?, :auto_create_routes - # Whether full mesh connectivity is created and managed automatically. When it - # is set to true, Google Compute Engine will automatically create and manage the - # routes between two networks when the peering state is ACTIVE. Otherwise, user - # needs to create routes manually to route packets to peer network. + # Indicates whether full mesh connectivity is created and managed automatically + # between peered networks. Currently this field should always be true since + # Google Compute Engine will automatically create and manage subnetwork routes + # between two networks when peering state is ACTIVE. # Corresponds to the JSON property `exchangeSubnetRoutes` # @return [Boolean] attr_accessor :exchange_subnet_routes @@ -19347,8 +19426,10 @@ module Google include Google::Apis::Core::Hashable # This field will be deprecated soon. Use exchange_subnet_routes in - # network_peering instead. Whether Google Compute Engine manages the routes - # automatically. + # network_peering instead. Indicates whether full mesh connectivity is created + # and managed automatically between peered networks. Currently this field should + # always be true since Google Compute Engine will automatically create and + # manage subnetwork routes between two networks when peering state is ACTIVE. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes @@ -25213,9 +25294,13 @@ module Google class RegionUrlMapsValidateRequest include Google::Apis::Core::Hashable - # A UrlMap resource. This resource defines the mapping from URL to the - # BackendService resource, based on the "longest-match" of the URL's host and - # path. + # Represents a URL Map resource. + # A URL map resource is a component of certain types of load balancers. This + # resource defines mappings from host names and URL paths to either a backend + # service or a backend bucket. + # To use this resource, the backend service must have a loadBalancingScheme of + # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more + # information, read URL Map Concepts. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeAlpha::UrlMap] attr_accessor :resource @@ -28388,7 +28473,8 @@ module Google # @return [Fixnum] attr_accessor :min_node_cpus - # A set of node affinity and anti-affinity. + # A set of node affinity and anti-affinity configurations. Refer to Configuring + # node affinity for more information. # Corresponds to the JSON property `nodeAffinities` # @return [Array] attr_accessor :node_affinities @@ -28434,7 +28520,8 @@ module Google # @return [String] attr_accessor :key - # Defines the operation of node selection. + # Defines the operation of node selection. Valid operators are IN for affinity + # and NOT_IN for anti-affinity. # Corresponds to the JSON property `operator` # @return [String] attr_accessor :operator @@ -28513,9 +28600,11 @@ module Google end end - # A security policy is comprised of one or more rules. It can also be associated - # with one or more 'targets'. (== resource_for v1.securityPolicies ==) (== - # resource_for beta.securityPolicies ==) + # Represents a Cloud Armor Security Policy resource. + # Only external backend services that use load balancers can reference a + # Security Policy. For more information, read Cloud Armor Security Policy + # Concepts. (== resource_for v1.securityPolicies ==) (== resource_for beta. + # securityPolicies ==) class SecurityPolicy include Google::Apis::Core::Hashable @@ -29958,10 +30047,11 @@ module Google end end - # An SslCertificate resource. This resource provides a mechanism to upload an - # SSL key and certificate to the load balancer to serve secure connections from - # the user. (== resource_for beta.sslCertificates ==) (== resource_for v1. - # sslCertificates ==) + # Represents an SSL Certificate resource. + # This SSL certificate resource also contains a private key. You can use SSL + # keys and certificates to secure connections to a load balancer. For more + # information, read Creating and Using SSL Certificates. (== resource_for beta. + # sslCertificates ==) (== resource_for v1.sslCertificates ==) class SslCertificate include Google::Apis::Core::Hashable @@ -30603,10 +30693,11 @@ module Google end end - # A SSL policy specifies the server-side support for SSL features. This can be - # attached to a TargetHttpsProxy or a TargetSslProxy. This affects connections - # between clients and the HTTPS or SSL proxy load balancer. They do not affect - # the connection between the load balancers and the backends. + # Represents a Cloud Armor Security Policy resource. + # Only external backend services used by HTTP or HTTPS load balancers can + # reference a Security Policy. For more information, read read Cloud Armor + # Security Policy Concepts. (== resource_for beta.sslPolicies ==) (== + # resource_for v1.sslPolicies ==) class SslPolicy include Google::Apis::Core::Hashable @@ -31792,7 +31883,10 @@ module Google end end - # A TargetHttpProxy resource. This resource defines an HTTP proxy. (== + # Represents a Target HTTP Proxy resource. + # A target HTTP proxy is a component of certain types of load balancers. Global + # forwarding rules reference a target HTTP proxy, and the target proxy then + # references a URL map. For more information, read Using Target Proxies. (== # resource_for beta.targetHttpProxies ==) (== resource_for v1.targetHttpProxies = # =) class TargetHttpProxy @@ -32246,7 +32340,10 @@ module Google end end - # A TargetHttpsProxy resource. This resource defines an HTTPS proxy. (== + # Represents a Target HTTPS Proxy resource. + # A target HTTPS proxy is a component of certain types of load balancers. Global + # forwarding rules reference a target HTTPS proxy, and the target proxy then + # references a URL map. For more information, read Using Target Proxies. (== # resource_for beta.targetHttpsProxies ==) (== resource_for v1. # targetHttpsProxies ==) class TargetHttpsProxy @@ -33023,9 +33120,12 @@ module Google end end - # A TargetPool resource. This resource defines a pool of instances, an - # associated HttpHealthCheck resource, and the fallback target pool. (== - # resource_for beta.targetPools ==) (== resource_for v1.targetPools ==) + # Represents a Target Pool resource. + # Target pools are used for network TCP/UDP load balancing. A target pool + # references member instances, an associated legacy HttpHealthCheck resource, + # and, optionally, a backup target pool. For more information, read Using target + # pools. (== resource_for beta.targetPools ==) (== resource_for v1.targetPools == + # ) class TargetPool include Google::Apis::Core::Hashable @@ -33670,8 +33770,12 @@ module Google end end - # A TargetSslProxy resource. This resource defines an SSL proxy. (== - # resource_for beta.targetSslProxies ==) (== resource_for v1.targetSslProxies ==) + # Represents a Target SSL Proxy resource. + # A target SSL proxy is a component of a SSL Proxy load balancer. Global + # forwarding rules reference a target SSL proxy, and the target proxy then + # references an external backend service. For more information, read Using + # Target Proxies. (== resource_for beta.targetSslProxies ==) (== resource_for v1. + # targetSslProxies ==) class TargetSslProxy include Google::Apis::Core::Hashable @@ -33913,8 +34017,12 @@ module Google end end - # A TargetTcpProxy resource. This resource defines a TCP proxy. (== resource_for - # beta.targetTcpProxies ==) (== resource_for v1.targetTcpProxies ==) + # Represents a Target TCP Proxy resource. + # A target TCP proxy is a component of a TCP Proxy load balancer. Global + # forwarding rules reference ta target TCP proxy, and the target proxy then + # references an external backend service. For more information, read TCP Proxy + # Load Balancing Concepts. (== resource_for beta.targetTcpProxies ==) (== + # resource_for v1.targetTcpProxies ==) class TargetTcpProxy include Google::Apis::Core::Hashable @@ -34779,9 +34887,13 @@ module Google end end - # A UrlMap resource. This resource defines the mapping from URL to the - # BackendService resource, based on the "longest-match" of the URL's host and - # path. + # Represents a URL Map resource. + # A URL map resource is a component of certain types of load balancers. This + # resource defines mappings from host names and URL paths to either a backend + # service or a backend bucket. + # To use this resource, the backend service must have a loadBalancingScheme of + # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more + # information, read URL Map Concepts. class UrlMap include Google::Apis::Core::Hashable @@ -35356,9 +35468,13 @@ module Google class UrlMapsValidateRequest include Google::Apis::Core::Hashable - # A UrlMap resource. This resource defines the mapping from URL to the - # BackendService resource, based on the "longest-match" of the URL's host and - # path. + # Represents a URL Map resource. + # A URL map resource is a component of certain types of load balancers. This + # resource defines mappings from host names and URL paths to either a backend + # service or a backend bucket. + # To use this resource, the backend service must have a loadBalancingScheme of + # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more + # information, read URL Map Concepts. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeAlpha::UrlMap] attr_accessor :resource diff --git a/generated/google/apis/compute_beta.rb b/generated/google/apis/compute_beta.rb index d53f0093f..497b77ba8 100644 --- a/generated/google/apis/compute_beta.rb +++ b/generated/google/apis/compute_beta.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/compute/docs/reference/latest/ module ComputeBeta VERSION = 'Beta' - REVISION = '20190618' + REVISION = '20190624' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/compute_beta/classes.rb b/generated/google/apis/compute_beta/classes.rb index d36221f23..b2e895123 100644 --- a/generated/google/apis/compute_beta/classes.rb +++ b/generated/google/apis/compute_beta/classes.rb @@ -2161,10 +2161,34 @@ module Google class Backend include Google::Apis::Core::Hashable - # Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL - # load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE - # (for HTTP(S)) and CONNECTION (for TCP/SSL). - # For Internal Load Balancing, the default and only supported mode is CONNECTION. + # Specifies the balancing mode for the backend. + # When choosing a balancing mode, you need to consider the loadBalancingScheme, + # and protocol for the backend service, as well as the type of backend (instance + # group or NEG). + # + # - If the load balancing mode is CONNECTION, then the load is spread based on + # how many concurrent connections the backend can handle. + # The CONNECTION balancing mode is only available if the protocol for the + # backend service is SSL, TCP, or UDP. + # If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and + # TCP Proxy load balancers), you must also specify exactly one of the following + # parameters: maxConnections, maxConnectionsPerInstance, or + # maxConnectionsPerEndpoint. + # If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/ + # UDP load balancers), you cannot specify any additional parameters. + # + # - If the load balancing mode is RATE, then the load is spread based on the + # rate of HTTP requests per second (RPS). + # The RATE balancing mode is only available if the protocol for the backend + # service is HTTP or HTTPS. You must specify exactly one of the following + # parameters: maxRate, maxRatePerInstance, or maxRatePerEndpoint. + # + # - If the load balancing mode is UTILIZATION, then the load is spread based on + # the CPU utilization of instances in an instance group. + # The UTILIZATION balancing mode is only available if the loadBalancingScheme of + # the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED + # and the backend is made up of instance groups. There are no restrictions on + # the backend service protocol. # Corresponds to the JSON property `balancingMode` # @return [String] attr_accessor :balancing_mode @@ -2192,47 +2216,61 @@ module Google attr_accessor :failover alias_method :failover?, :failover - # The fully-qualified URL of an Instance Group or Network Endpoint Group - # resource. In case of instance group this defines the list of instances that - # serve traffic. Member virtual machine instances from each instance group must - # live in the same zone as the instance group itself. No two backends in a - # backend service are allowed to use same Instance Group resource. - # For Network Endpoint Groups this defines list of endpoints. All endpoints of - # Network Endpoint Group must be hosted on instances located in the same zone as - # the Network Endpoint Group. - # Backend service can not contain mix of Instance Group and Network Endpoint - # Group backends. - # Note that you must specify an Instance Group or Network Endpoint Group - # resource using the fully-qualified URL, rather than a partial URL. - # When the BackendService has load balancing scheme INTERNAL, the instance group - # must be within the same region as the BackendService. Network Endpoint Groups - # are not supported for INTERNAL load balancing scheme. + # The fully-qualified URL of an instance group or network endpoint group (NEG) + # resource. The type of backend that a backend service supports depends on the + # backend service's loadBalancingScheme. + # + # - When the loadBalancingScheme for the backend service is EXTERNAL, + # INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the backend can be either an + # instance group or a NEG. The backends on the backend service must be either + # all instance groups or all NEGs. You cannot mix instance group and NEG + # backends on the same backend service. + # - When the loadBalancingScheme for the backend service is INTERNAL, the + # backend must be an instance group in the same region as the backend service. + # NEGs are not supported. + # You must use the fully-qualified URL (starting with https://www.googleapis.com/ + # ) to specify the instance group or NEG. Partial URLs are not supported. # Corresponds to the JSON property `group` # @return [String] attr_accessor :group - # The max number of simultaneous connections for the group. Can be used with - # either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either - # maxConnections or maxConnectionsPerInstance must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for simultaneous connections for the entire backend ( + # instance group or NEG). If the backend's balancingMode is UTILIZATION, this is + # an optional parameter. If the backend's balancingMode is CONNECTION, and + # backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, + # you must specify either this parameter, maxConnectionsPerInstance, or + # maxConnectionsPerEndpoint. + # Not available if the backend's balancingMode is RATE. If the + # loadBalancingScheme is INTERNAL, then maxConnections is not supported, even + # though the backend requires a balancing mode of CONNECTION. # Corresponds to the JSON property `maxConnections` # @return [Fixnum] attr_accessor :max_connections - # The max number of simultaneous connections that a single backend network - # endpoint can handle. This is used to calculate the capacity of the group. Can - # be used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION - # mode, either maxConnections or maxConnectionsPerEndpoint must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for simultaneous connections for an endpoint of a NEG. + # This is multiplied by the number of endpoints in the NEG to implicitly + # calculate a maximum number of target maximum simultaneous connections for the + # NEG. If the backend's balancingMode is CONNECTION, and the backend is attached + # to a backend service whose loadBalancingScheme is EXTERNAL, you must specify + # either this parameter, maxConnections, or maxConnectionsPerInstance. + # Not available if the backend's balancingMode is RATE. Internal TCP/UDP load + # balancing does not support setting maxConnectionsPerEndpoint even though its + # backends require a balancing mode of CONNECTION. # Corresponds to the JSON property `maxConnectionsPerEndpoint` # @return [Fixnum] attr_accessor :max_connections_per_endpoint - # The max number of simultaneous connections that a single backend instance can - # handle. This is used to calculate the capacity of the group. Can be used in - # either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either - # maxConnections or maxConnectionsPerInstance must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for simultaneous connections for a single VM in a + # backend instance group. This is multiplied by the number of instances in the + # instance group to implicitly calculate a target maximum number of simultaneous + # connections for the whole instance group. If the backend's balancingMode is + # UTILIZATION, this is an optional parameter. If the backend's balancingMode is + # CONNECTION, and backend is attached to a backend service whose + # loadBalancingScheme is EXTERNAL, you must specify either this parameter, + # maxConnections, or maxConnectionsPerEndpoint. + # Not available if the backend's balancingMode is RATE. Internal TCP/UDP load + # balancing does not support setting maxConnectionsPerInstance even though its + # backends require a balancing mode of CONNECTION. # Corresponds to the JSON property `maxConnectionsPerInstance` # @return [Fixnum] attr_accessor :max_connections_per_instance @@ -2245,27 +2283,33 @@ module Google # @return [Fixnum] attr_accessor :max_rate - # The max requests per second (RPS) that a single backend network endpoint can - # handle. This is used to calculate the capacity of the group. Can be used in - # either balancing mode. For RATE mode, either maxRate or maxRatePerEndpoint - # must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for requests per second (RPS) for an endpoint of a + # NEG. This is multiplied by the number of endpoints in the NEG to implicitly + # calculate a target maximum rate for the NEG. + # If the backend's balancingMode is RATE, you must specify either this parameter, + # maxRate, or maxRatePerInstance. + # Not available if the backend's balancingMode is CONNECTION. # Corresponds to the JSON property `maxRatePerEndpoint` # @return [Float] attr_accessor :max_rate_per_endpoint - # The max requests per second (RPS) that a single backend instance can handle. - # This is used to calculate the capacity of the group. Can be used in either - # balancing mode. For RATE mode, either maxRate or maxRatePerInstance must be - # set. - # This cannot be used for internal load balancing. + # Defines a maximum target for requests per second (RPS) for a single VM in a + # backend instance group. This is multiplied by the number of instances in the + # instance group to implicitly calculate a target maximum rate for the whole + # instance group. + # If the backend's balancingMode is UTILIZATION, this is an optional parameter. + # If the backend's balancingMode is RATE, you must specify either this parameter, + # maxRate, or maxRatePerEndpoint. + # Not available if the backend's balancingMode is CONNECTION. # Corresponds to the JSON property `maxRatePerInstance` # @return [Float] attr_accessor :max_rate_per_instance - # Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization - # target for the group. The default is 0.8. Valid range is [0.0, 1.0]. - # This cannot be used for internal load balancing. + # Defines the maximum average CPU utilization of a backend VM in an instance + # group. The valid range is [0.0, 1.0]. This is an optional parameter if the + # backend's balancingMode is UTILIZATION. + # This parameter can be used in conjunction with maxRate, maxRatePerInstance, + # maxConnections, or maxConnectionsPerInstance. # Corresponds to the JSON property `maxUtilization` # @return [Float] attr_accessor :max_utilization @@ -2291,7 +2335,9 @@ module Google end end - # A BackendBucket resource. This resource defines a Cloud Storage bucket. + # Represents a Cloud Storage Bucket resource. + # This Cloud Storage bucket resource is referenced by a URL map of a load + # balancer. For more information, read Backend Buckets. class BackendBucket include Google::Apis::Core::Hashable @@ -2513,16 +2559,22 @@ module Google end end - # A BackendService resource. This resource defines a group of backend virtual - # machines and their serving capacity. (== resource_for v1.backendService ==) (== - # resource_for beta.backendService ==) + # Represents a Backend Service resource. + # Backend services must have an associated health check. Backend services also + # store information about session affinity. For more information, read Backend + # Services. + # A backendServices resource represents a global backend service. Global backend + # services are used for HTTP(S), SSL Proxy, TCP Proxy load balancing and Traffic + # Director. + # A regionBackendServices resource represents a regional backend service. + # Regional backend services are used for internal TCP/UDP load balancing. For + # more information, read Internal TCP/UDP Load balancing. (== resource_for v1. + # backendService ==) (== resource_for beta.backendService ==) class BackendService include Google::Apis::Core::Hashable - # Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If set - # to 0, the cookie is non-persistent and lasts only until the end of the browser - # session (or equivalent). The maximum allowed value for TTL is one day. - # When the load balancing scheme is INTERNAL, this field is not used. + # If set to 0, the cookie is non-persistent and lasts only until the end of the + # browser session (or equivalent). The maximum allowed value is one day (86,400). # Corresponds to the JSON property `affinityCookieTtlSec` # @return [Fixnum] attr_accessor :affinity_cookie_ttl_sec @@ -2568,14 +2620,15 @@ module Google # @return [String] attr_accessor :description - # If true, enable Cloud CDN for this BackendService. - # When the load balancing scheme is INTERNAL, this field is not used. + # If true, enables Cloud CDN for the backend service. Only applicable if the + # loadBalancingScheme is EXTERNAL and the protocol is HTTP or HTTPS. # Corresponds to the JSON property `enableCDN` # @return [Boolean] attr_accessor :enable_cdn alias_method :enable_cdn?, :enable_cdn - # + # Applicable only to Failover for Internal TCP/UDP Load Balancing. Requires at + # least one backend instance group to be defined as a backup (failover) backend. # Corresponds to the JSON property `failoverPolicy` # @return [Google::Apis::ComputeBeta::BackendServiceFailoverPolicy] attr_accessor :failover_policy @@ -2677,23 +2730,27 @@ module Google # Deprecated in favor of portName. The TCP port to connect on the backend. The # default value is 80. - # This cannot be used for internal load balancing. + # This cannot be used if the loadBalancingScheme is INTERNAL (Internal TCP/UDP + # Load Balancing). # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port - # Name of backend port. The same name should appear in the instance groups - # referenced by this service. Required when the load balancing scheme is - # EXTERNAL. - # When the load balancing scheme is INTERNAL, this field is not used. + # A named port on a backend instance group representing the port for + # communication to the backend VMs in that group. Required when the + # loadBalancingScheme is EXTERNAL and the backends are instance groups. The + # named port must be defined on each backend instance group. This parameter has + # no meaning if the backends are NEGs. + # Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP + # Load Blaancing). # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name # The protocol this BackendService uses to communicate with backends. - # Possible values are HTTP, HTTPS, TCP, and SSL. The default is HTTP. - # For internal load balancing, the possible values are TCP and UDP, and the - # default is TCP. + # Possible values are HTTP, HTTPS, TCP, SSL, or UDP, depending on the chosen + # load balancer or Traffic Director configuration. Refer to the documentation + # for the load balancer or for Traffic director for more information. # Corresponds to the JSON property `protocol` # @return [String] attr_accessor :protocol @@ -2717,18 +2774,22 @@ module Google # @return [String] attr_accessor :self_link - # Type of session affinity to use. The default is NONE. - # When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or - # GENERATED_COOKIE. - # When the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP, + # Type of session affinity to use. The default is NONE. Session affinity is not + # applicable if the --protocol is UDP. + # When the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP, + # or GENERATED_COOKIE. GENERATED_COOKIE is only available if the protocol is + # HTTP or HTTPS. + # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP, # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. - # When the protocol is UDP, this field is not used. + # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, possible values are + # NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE. # Corresponds to the JSON property `sessionAffinity` # @return [String] attr_accessor :session_affinity - # How many seconds to wait for the backend before considering it a failed - # request. Default is 30 seconds. + # The backend service timeout has a different meaning depending on the type of + # load balancer. For more information read, Backend service settings The + # default is 30 seconds. # Corresponds to the JSON property `timeoutSec` # @return [Fixnum] attr_accessor :timeout_sec @@ -2930,11 +2991,6 @@ module Google class BackendServiceFailoverPolicy include Google::Apis::Core::Hashable - # On failover or failback, this field indicates whether connection drain will be - # honored. Setting this to true has the following effect: connections to the old - # active pool are not drained. Connections to the new active pool use the - # timeout of 10 min (currently fixed). Setting to false has the following effect: - # both old and new connections will have a drain timeout of 10 min. # This can be set to true only if the protocol is TCP. # The default is false. # Corresponds to the JSON property `disableConnectionDrainOnFailover` @@ -2942,23 +2998,22 @@ module Google attr_accessor :disable_connection_drain_on_failover alias_method :disable_connection_drain_on_failover?, :disable_connection_drain_on_failover - # This option is used only when no healthy VMs are detected in the primary and - # backup instance groups. When set to true, traffic is dropped. When set to - # false, new connections are sent across all VMs in the primary group. + # Applicable only to Failover for Internal TCP/UDP Load Balancing. If set to + # true, connections to the load balancer are dropped when all primary and all + # backup backend VMs are unhealthy. If set to false, connections are distributed + # among all primary VMs when all primary and all backup backend VMs are + # unhealthy. # The default is false. # Corresponds to the JSON property `dropTrafficIfUnhealthy` # @return [Boolean] attr_accessor :drop_traffic_if_unhealthy alias_method :drop_traffic_if_unhealthy?, :drop_traffic_if_unhealthy - # The value of the field must be in [0, 1]. If the ratio of the healthy VMs in - # the primary backend is at or below this number, traffic arriving at the load- - # balanced IP will be directed to the failover backend. - # In case where 'failoverRatio' is not set or all the VMs in the backup backend - # are unhealthy, the traffic will be directed back to the primary backend in the - # "force" mode, where traffic will be spread to the healthy VMs with the best - # effort, or to all VMs when no VM is healthy. - # This field is only used with l4 load balancing. + # Applicable only to Failover for Internal TCP/UDP Load Balancing. The value of + # the field must be in the range [0, 1]. If the value is 0, the load balancer + # performs a failover when the number of healthy primary VMs equals zero. For + # all other values, the load balancer performs a failover when the total number + # of healthy primary VMs is less than this ratio. # Corresponds to the JSON property `failoverRatio` # @return [Float] attr_accessor :failover_ratio @@ -3984,8 +4039,9 @@ module Google class ConnectionDraining include Google::Apis::Core::Hashable - # Time for which instance will be drained (not accept new connections, but still - # work to finish started). + # The amount of time in seconds to allow existing connections to persist while + # on unhealthy backend VMs. Only applicable if the protocol is not UDP. The + # valid range is [0, 3600]. # Corresponds to the JSON property `drainingTimeoutSec` # @return [Fixnum] attr_accessor :draining_timeout_sec @@ -6424,13 +6480,32 @@ module Google end end - # A ForwardingRule resource. A ForwardingRule resource specifies which pool of - # target virtual machines to forward a packet to if it matches the given [ - # IPAddress, IPProtocol, ports] tuple. (== resource_for beta.forwardingRules ==) - # (== resource_for v1.forwardingRules ==) (== resource_for beta. - # globalForwardingRules ==) (== resource_for v1.globalForwardingRules ==) (== - # resource_for beta.regionForwardingRules ==) (== resource_for v1. - # regionForwardingRules ==) + # Represents a Forwarding Rule resource. + # A forwardingRules resource represents a regional forwarding rule. + # Regional external forwarding rules can reference any of the following + # resources: + # + # - A target instance + # - A Cloud VPN Classic gateway (targetVpnGateway), + # - A target pool for a Network Load Balancer + # - A global target HTTP(S) proxy for an HTTP(S) load balancer using Standard + # Tier + # - A target SSL proxy for a SSL Proxy load balancer using Standard Tier + # - A target TCP proxy for a TCP Proxy load balancer using Standard Tier. + # Regional internal forwarding rules can reference the backend service of an + # internal TCP/UDP load balancer. + # For regional internal forwarding rules, the following applies: + # - If the loadBalancingScheme for the load balancer is INTERNAL, then the + # forwarding rule references a regional internal backend service. + # - If the loadBalancingScheme for the load balancer is INTERNAL_MANAGED, then + # the forwarding rule must reference a regional target HTTP(S) proxy. + # For more information, read Using Forwarding rules. + # A globalForwardingRules resource represents a global forwarding rule. + # Global forwarding rules are only used by load balancers that use Premium Tier. + # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules = + # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1. + # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (== + # resource_for v1.regionForwardingRules ==) class ForwardingRule include Google::Apis::Core::Hashable @@ -7515,9 +7590,11 @@ module Google end end - # An HealthCheck resource. This resource defines a template for how individual - # virtual machines should be checked for health, via one of the supported - # protocols. + # Represents a Health Check resource. + # Health checks are used for most GCP load balancers and managed instance group + # auto-healing. For more information, read Health Check Concepts. + # To perform health checks on network load balancers, you must use either + # httpHealthChecks or httpsHealthChecks. class HealthCheck include Google::Apis::Core::Hashable @@ -8365,8 +8442,9 @@ module Google end end - # An HttpHealthCheck resource. This resource defines a template for how - # individual instances should be checked for health, via HTTP. + # Represents a legacy HTTP Health Check resource. + # Legacy health checks are required by network load balancers. For more + # information, read Health Check Concepts. class HttpHealthCheck include Google::Apis::Core::Hashable @@ -8427,6 +8505,7 @@ module Google attr_accessor :port # The request path of the HTTP health check request. The default value is /. + # This field does not support query parameters. # Corresponds to the JSON property `requestPath` # @return [String] attr_accessor :request_path @@ -8982,8 +9061,9 @@ module Google end end - # An HttpsHealthCheck resource. This resource defines a template for how - # individual instances should be checked for health, via HTTPS. + # Represents a legacy HTTPS Health Check resource. + # Legacy health checks are required by network load balancers. For more + # information, read Health Check Concepts. class HttpsHealthCheck include Google::Apis::Core::Hashable @@ -16463,19 +16543,18 @@ module Google # This field will be deprecated soon. Use the exchange_subnet_routes field # instead. Indicates whether full mesh connectivity is created and managed - # automatically. When it is set to true, Google Compute Engine will - # automatically create and manage the routes between two networks when the state - # is ACTIVE. Otherwise, user needs to create routes manually to route packets to - # peer network. + # automatically between peered networks. Currently this field should always be + # true since Google Compute Engine will automatically create and manage + # subnetwork routes between two networks when peering state is ACTIVE. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes alias_method :auto_create_routes?, :auto_create_routes - # Whether full mesh connectivity is created and managed automatically. When it - # is set to true, Google Compute Engine will automatically create and manage the - # routes between two networks when the peering state is ACTIVE. Otherwise, user - # needs to create routes manually to route packets to peer network. + # Indicates whether full mesh connectivity is created and managed automatically + # between peered networks. Currently this field should always be true since + # Google Compute Engine will automatically create and manage subnetwork routes + # between two networks when peering state is ACTIVE. # Corresponds to the JSON property `exchangeSubnetRoutes` # @return [Boolean] attr_accessor :exchange_subnet_routes @@ -16568,8 +16647,10 @@ module Google include Google::Apis::Core::Hashable # This field will be deprecated soon. Use exchange_subnet_routes in - # network_peering instead. Whether Google Compute Engine manages the routes - # automatically. + # network_peering instead. Indicates whether full mesh connectivity is created + # and managed automatically between peered networks. Currently this field should + # always be true since Google Compute Engine will automatically create and + # manage subnetwork routes between two networks when peering state is ACTIVE. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes @@ -20685,9 +20766,13 @@ module Google class RegionUrlMapsValidateRequest include Google::Apis::Core::Hashable - # A UrlMap resource. This resource defines the mapping from URL to the - # BackendService resource, based on the "longest-match" of the URL's host and - # path. + # Represents a URL Map resource. + # A URL map resource is a component of certain types of load balancers. This + # resource defines mappings from host names and URL paths to either a backend + # service or a backend bucket. + # To use this resource, the backend service must have a loadBalancingScheme of + # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more + # information, read URL Map Concepts. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeBeta::UrlMap] attr_accessor :resource @@ -23435,7 +23520,8 @@ module Google attr_accessor :automatic_restart alias_method :automatic_restart?, :automatic_restart - # A set of node affinity and anti-affinity. + # A set of node affinity and anti-affinity configurations. Refer to Configuring + # node affinity for more information. # Corresponds to the JSON property `nodeAffinities` # @return [Array] attr_accessor :node_affinities @@ -23479,7 +23565,8 @@ module Google # @return [String] attr_accessor :key - # Defines the operation of node selection. + # Defines the operation of node selection. Valid operators are IN for affinity + # and NOT_IN for anti-affinity. # Corresponds to the JSON property `operator` # @return [String] attr_accessor :operator @@ -23539,9 +23626,11 @@ module Google end end - # A security policy is comprised of one or more rules. It can also be associated - # with one or more 'targets'. (== resource_for v1.securityPolicies ==) (== - # resource_for beta.securityPolicies ==) + # Represents a Cloud Armor Security Policy resource. + # Only external backend services that use load balancers can reference a + # Security Policy. For more information, read Cloud Armor Security Policy + # Concepts. (== resource_for v1.securityPolicies ==) (== resource_for beta. + # securityPolicies ==) class SecurityPolicy include Google::Apis::Core::Hashable @@ -24541,10 +24630,11 @@ module Google end end - # An SslCertificate resource. This resource provides a mechanism to upload an - # SSL key and certificate to the load balancer to serve secure connections from - # the user. (== resource_for beta.sslCertificates ==) (== resource_for v1. - # sslCertificates ==) + # Represents an SSL Certificate resource. + # This SSL certificate resource also contains a private key. You can use SSL + # keys and certificates to secure connections to a load balancer. For more + # information, read Creating and Using SSL Certificates. (== resource_for beta. + # sslCertificates ==) (== resource_for v1.sslCertificates ==) class SslCertificate include Google::Apis::Core::Hashable @@ -25180,10 +25270,11 @@ module Google end end - # A SSL policy specifies the server-side support for SSL features. This can be - # attached to a TargetHttpsProxy or a TargetSslProxy. This affects connections - # between clients and the HTTPS or SSL proxy load balancer. They do not affect - # the connection between the load balancers and the backends. + # Represents a Cloud Armor Security Policy resource. + # Only external backend services used by HTTP or HTTPS load balancers can + # reference a Security Policy. For more information, read read Cloud Armor + # Security Policy Concepts. (== resource_for beta.sslPolicies ==) (== + # resource_for v1.sslPolicies ==) class SslPolicy include Google::Apis::Core::Hashable @@ -26201,7 +26292,10 @@ module Google end end - # A TargetHttpProxy resource. This resource defines an HTTP proxy. (== + # Represents a Target HTTP Proxy resource. + # A target HTTP proxy is a component of certain types of load balancers. Global + # forwarding rules reference a target HTTP proxy, and the target proxy then + # references a URL map. For more information, read Using Target Proxies. (== # resource_for beta.targetHttpProxies ==) (== resource_for v1.targetHttpProxies = # =) class TargetHttpProxy @@ -26640,7 +26734,10 @@ module Google end end - # A TargetHttpsProxy resource. This resource defines an HTTPS proxy. (== + # Represents a Target HTTPS Proxy resource. + # A target HTTPS proxy is a component of certain types of load balancers. Global + # forwarding rules reference a target HTTPS proxy, and the target proxy then + # references a URL map. For more information, read Using Target Proxies. (== # resource_for beta.targetHttpsProxies ==) (== resource_for v1. # targetHttpsProxies ==) class TargetHttpsProxy @@ -27396,9 +27493,12 @@ module Google end end - # A TargetPool resource. This resource defines a pool of instances, an - # associated HttpHealthCheck resource, and the fallback target pool. (== - # resource_for beta.targetPools ==) (== resource_for v1.targetPools ==) + # Represents a Target Pool resource. + # Target pools are used for network TCP/UDP load balancing. A target pool + # references member instances, an associated legacy HttpHealthCheck resource, + # and, optionally, a backup target pool. For more information, read Using target + # pools. (== resource_for beta.targetPools ==) (== resource_for v1.targetPools == + # ) class TargetPool include Google::Apis::Core::Hashable @@ -28037,8 +28137,12 @@ module Google end end - # A TargetSslProxy resource. This resource defines an SSL proxy. (== - # resource_for beta.targetSslProxies ==) (== resource_for v1.targetSslProxies ==) + # Represents a Target SSL Proxy resource. + # A target SSL proxy is a component of a SSL Proxy load balancer. Global + # forwarding rules reference a target SSL proxy, and the target proxy then + # references an external backend service. For more information, read Using + # Target Proxies. (== resource_for beta.targetSslProxies ==) (== resource_for v1. + # targetSslProxies ==) class TargetSslProxy include Google::Apis::Core::Hashable @@ -28280,8 +28384,12 @@ module Google end end - # A TargetTcpProxy resource. This resource defines a TCP proxy. (== resource_for - # beta.targetTcpProxies ==) (== resource_for v1.targetTcpProxies ==) + # Represents a Target TCP Proxy resource. + # A target TCP proxy is a component of a TCP Proxy load balancer. Global + # forwarding rules reference ta target TCP proxy, and the target proxy then + # references an external backend service. For more information, read TCP Proxy + # Load Balancing Concepts. (== resource_for beta.targetTcpProxies ==) (== + # resource_for v1.targetTcpProxies ==) class TargetTcpProxy include Google::Apis::Core::Hashable @@ -28990,9 +29098,13 @@ module Google end end - # A UrlMap resource. This resource defines the mapping from URL to the - # BackendService resource, based on the "longest-match" of the URL's host and - # path. + # Represents a URL Map resource. + # A URL map resource is a component of certain types of load balancers. This + # resource defines mappings from host names and URL paths to either a backend + # service or a backend bucket. + # To use this resource, the backend service must have a loadBalancingScheme of + # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more + # information, read URL Map Concepts. class UrlMap include Google::Apis::Core::Hashable @@ -29553,9 +29665,13 @@ module Google class ValidateUrlMapsRequest include Google::Apis::Core::Hashable - # A UrlMap resource. This resource defines the mapping from URL to the - # BackendService resource, based on the "longest-match" of the URL's host and - # path. + # Represents a URL Map resource. + # A URL map resource is a component of certain types of load balancers. This + # resource defines mappings from host names and URL paths to either a backend + # service or a backend bucket. + # To use this resource, the backend service must have a loadBalancingScheme of + # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more + # information, read URL Map Concepts. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeBeta::UrlMap] attr_accessor :resource diff --git a/generated/google/apis/compute_beta/service.rb b/generated/google/apis/compute_beta/service.rb index d5a91cd64..ec8752bce 100644 --- a/generated/google/apis/compute_beta/service.rb +++ b/generated/google/apis/compute_beta/service.rb @@ -47,7 +47,7 @@ module Google attr_accessor :user_ip def initialize - super('https://www.googleapis.com/', 'compute/beta/projects/') + super('https://compute.googleapis.com/', 'compute/beta/projects/') @batch_path = 'batch/compute/beta' end diff --git a/generated/google/apis/compute_v1.rb b/generated/google/apis/compute_v1.rb index cb7bf643f..499a5167b 100644 --- a/generated/google/apis/compute_v1.rb +++ b/generated/google/apis/compute_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/compute/docs/reference/latest/ module ComputeV1 VERSION = 'V1' - REVISION = '20190618' + REVISION = '20190624' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/compute_v1/classes.rb b/generated/google/apis/compute_v1/classes.rb index a623967eb..5e54a6c32 100644 --- a/generated/google/apis/compute_v1/classes.rb +++ b/generated/google/apis/compute_v1/classes.rb @@ -2083,10 +2083,34 @@ module Google class Backend include Google::Apis::Core::Hashable - # Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL - # load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE - # (for HTTP(S)) and CONNECTION (for TCP/SSL). - # For Internal Load Balancing, the default and only supported mode is CONNECTION. + # Specifies the balancing mode for the backend. + # When choosing a balancing mode, you need to consider the loadBalancingScheme, + # and protocol for the backend service, as well as the type of backend (instance + # group or NEG). + # + # - If the load balancing mode is CONNECTION, then the load is spread based on + # how many concurrent connections the backend can handle. + # The CONNECTION balancing mode is only available if the protocol for the + # backend service is SSL, TCP, or UDP. + # If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and + # TCP Proxy load balancers), you must also specify exactly one of the following + # parameters: maxConnections, maxConnectionsPerInstance, or + # maxConnectionsPerEndpoint. + # If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/ + # UDP load balancers), you cannot specify any additional parameters. + # + # - If the load balancing mode is RATE, then the load is spread based on the + # rate of HTTP requests per second (RPS). + # The RATE balancing mode is only available if the protocol for the backend + # service is HTTP or HTTPS. You must specify exactly one of the following + # parameters: maxRate, maxRatePerInstance, or maxRatePerEndpoint. + # + # - If the load balancing mode is UTILIZATION, then the load is spread based on + # the CPU utilization of instances in an instance group. + # The UTILIZATION balancing mode is only available if the loadBalancingScheme of + # the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED + # and the backend is made up of instance groups. There are no restrictions on + # the backend service protocol. # Corresponds to the JSON property `balancingMode` # @return [String] attr_accessor :balancing_mode @@ -2107,47 +2131,61 @@ module Google # @return [String] attr_accessor :description - # The fully-qualified URL of an Instance Group or Network Endpoint Group - # resource. In case of instance group this defines the list of instances that - # serve traffic. Member virtual machine instances from each instance group must - # live in the same zone as the instance group itself. No two backends in a - # backend service are allowed to use same Instance Group resource. - # For Network Endpoint Groups this defines list of endpoints. All endpoints of - # Network Endpoint Group must be hosted on instances located in the same zone as - # the Network Endpoint Group. - # Backend service can not contain mix of Instance Group and Network Endpoint - # Group backends. - # Note that you must specify an Instance Group or Network Endpoint Group - # resource using the fully-qualified URL, rather than a partial URL. - # When the BackendService has load balancing scheme INTERNAL, the instance group - # must be within the same region as the BackendService. Network Endpoint Groups - # are not supported for INTERNAL load balancing scheme. + # The fully-qualified URL of an instance group or network endpoint group (NEG) + # resource. The type of backend that a backend service supports depends on the + # backend service's loadBalancingScheme. + # + # - When the loadBalancingScheme for the backend service is EXTERNAL, + # INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the backend can be either an + # instance group or a NEG. The backends on the backend service must be either + # all instance groups or all NEGs. You cannot mix instance group and NEG + # backends on the same backend service. + # - When the loadBalancingScheme for the backend service is INTERNAL, the + # backend must be an instance group in the same region as the backend service. + # NEGs are not supported. + # You must use the fully-qualified URL (starting with https://www.googleapis.com/ + # ) to specify the instance group or NEG. Partial URLs are not supported. # Corresponds to the JSON property `group` # @return [String] attr_accessor :group - # The max number of simultaneous connections for the group. Can be used with - # either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either - # maxConnections or maxConnectionsPerInstance must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for simultaneous connections for the entire backend ( + # instance group or NEG). If the backend's balancingMode is UTILIZATION, this is + # an optional parameter. If the backend's balancingMode is CONNECTION, and + # backend is attached to a backend service whose loadBalancingScheme is EXTERNAL, + # you must specify either this parameter, maxConnectionsPerInstance, or + # maxConnectionsPerEndpoint. + # Not available if the backend's balancingMode is RATE. If the + # loadBalancingScheme is INTERNAL, then maxConnections is not supported, even + # though the backend requires a balancing mode of CONNECTION. # Corresponds to the JSON property `maxConnections` # @return [Fixnum] attr_accessor :max_connections - # The max number of simultaneous connections that a single backend network - # endpoint can handle. This is used to calculate the capacity of the group. Can - # be used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION - # mode, either maxConnections or maxConnectionsPerEndpoint must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for simultaneous connections for an endpoint of a NEG. + # This is multiplied by the number of endpoints in the NEG to implicitly + # calculate a maximum number of target maximum simultaneous connections for the + # NEG. If the backend's balancingMode is CONNECTION, and the backend is attached + # to a backend service whose loadBalancingScheme is EXTERNAL, you must specify + # either this parameter, maxConnections, or maxConnectionsPerInstance. + # Not available if the backend's balancingMode is RATE. Internal TCP/UDP load + # balancing does not support setting maxConnectionsPerEndpoint even though its + # backends require a balancing mode of CONNECTION. # Corresponds to the JSON property `maxConnectionsPerEndpoint` # @return [Fixnum] attr_accessor :max_connections_per_endpoint - # The max number of simultaneous connections that a single backend instance can - # handle. This is used to calculate the capacity of the group. Can be used in - # either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either - # maxConnections or maxConnectionsPerInstance must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for simultaneous connections for a single VM in a + # backend instance group. This is multiplied by the number of instances in the + # instance group to implicitly calculate a target maximum number of simultaneous + # connections for the whole instance group. If the backend's balancingMode is + # UTILIZATION, this is an optional parameter. If the backend's balancingMode is + # CONNECTION, and backend is attached to a backend service whose + # loadBalancingScheme is EXTERNAL, you must specify either this parameter, + # maxConnections, or maxConnectionsPerEndpoint. + # Not available if the backend's balancingMode is RATE. Internal TCP/UDP load + # balancing does not support setting maxConnectionsPerInstance even though its + # backends require a balancing mode of CONNECTION. # Corresponds to the JSON property `maxConnectionsPerInstance` # @return [Fixnum] attr_accessor :max_connections_per_instance @@ -2160,27 +2198,33 @@ module Google # @return [Fixnum] attr_accessor :max_rate - # The max requests per second (RPS) that a single backend network endpoint can - # handle. This is used to calculate the capacity of the group. Can be used in - # either balancing mode. For RATE mode, either maxRate or maxRatePerEndpoint - # must be set. - # This cannot be used for internal load balancing. + # Defines a maximum target for requests per second (RPS) for an endpoint of a + # NEG. This is multiplied by the number of endpoints in the NEG to implicitly + # calculate a target maximum rate for the NEG. + # If the backend's balancingMode is RATE, you must specify either this parameter, + # maxRate, or maxRatePerInstance. + # Not available if the backend's balancingMode is CONNECTION. # Corresponds to the JSON property `maxRatePerEndpoint` # @return [Float] attr_accessor :max_rate_per_endpoint - # The max requests per second (RPS) that a single backend instance can handle. - # This is used to calculate the capacity of the group. Can be used in either - # balancing mode. For RATE mode, either maxRate or maxRatePerInstance must be - # set. - # This cannot be used for internal load balancing. + # Defines a maximum target for requests per second (RPS) for a single VM in a + # backend instance group. This is multiplied by the number of instances in the + # instance group to implicitly calculate a target maximum rate for the whole + # instance group. + # If the backend's balancingMode is UTILIZATION, this is an optional parameter. + # If the backend's balancingMode is RATE, you must specify either this parameter, + # maxRate, or maxRatePerEndpoint. + # Not available if the backend's balancingMode is CONNECTION. # Corresponds to the JSON property `maxRatePerInstance` # @return [Float] attr_accessor :max_rate_per_instance - # Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization - # target for the group. The default is 0.8. Valid range is [0.0, 1.0]. - # This cannot be used for internal load balancing. + # Defines the maximum average CPU utilization of a backend VM in an instance + # group. The valid range is [0.0, 1.0]. This is an optional parameter if the + # backend's balancingMode is UTILIZATION. + # This parameter can be used in conjunction with maxRate, maxRatePerInstance, + # maxConnections, or maxConnectionsPerInstance. # Corresponds to the JSON property `maxUtilization` # @return [Float] attr_accessor :max_utilization @@ -2205,7 +2249,9 @@ module Google end end - # A BackendBucket resource. This resource defines a Cloud Storage bucket. + # Represents a Cloud Storage Bucket resource. + # This Cloud Storage bucket resource is referenced by a URL map of a load + # balancer. For more information, read Backend Buckets. class BackendBucket include Google::Apis::Core::Hashable @@ -2427,16 +2473,22 @@ module Google end end - # A BackendService resource. This resource defines a group of backend virtual - # machines and their serving capacity. (== resource_for v1.backendService ==) (== - # resource_for beta.backendService ==) + # Represents a Backend Service resource. + # Backend services must have an associated health check. Backend services also + # store information about session affinity. For more information, read Backend + # Services. + # A backendServices resource represents a global backend service. Global backend + # services are used for HTTP(S), SSL Proxy, TCP Proxy load balancing and Traffic + # Director. + # A regionBackendServices resource represents a regional backend service. + # Regional backend services are used for internal TCP/UDP load balancing. For + # more information, read Internal TCP/UDP Load balancing. (== resource_for v1. + # backendService ==) (== resource_for beta.backendService ==) class BackendService include Google::Apis::Core::Hashable - # Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If set - # to 0, the cookie is non-persistent and lasts only until the end of the browser - # session (or equivalent). The maximum allowed value for TTL is one day. - # When the load balancing scheme is INTERNAL, this field is not used. + # If set to 0, the cookie is non-persistent and lasts only until the end of the + # browser session (or equivalent). The maximum allowed value is one day (86,400). # Corresponds to the JSON property `affinityCookieTtlSec` # @return [Fixnum] attr_accessor :affinity_cookie_ttl_sec @@ -2472,8 +2524,8 @@ module Google # @return [String] attr_accessor :description - # If true, enable Cloud CDN for this BackendService. - # When the load balancing scheme is INTERNAL, this field is not used. + # If true, enables Cloud CDN for the backend service. Only applicable if the + # loadBalancingScheme is EXTERNAL and the protocol is HTTP or HTTPS. # Corresponds to the JSON property `enableCDN` # @return [Boolean] attr_accessor :enable_cdn @@ -2538,23 +2590,27 @@ module Google # Deprecated in favor of portName. The TCP port to connect on the backend. The # default value is 80. - # This cannot be used for internal load balancing. + # This cannot be used if the loadBalancingScheme is INTERNAL (Internal TCP/UDP + # Load Balancing). # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port - # Name of backend port. The same name should appear in the instance groups - # referenced by this service. Required when the load balancing scheme is - # EXTERNAL. - # When the load balancing scheme is INTERNAL, this field is not used. + # A named port on a backend instance group representing the port for + # communication to the backend VMs in that group. Required when the + # loadBalancingScheme is EXTERNAL and the backends are instance groups. The + # named port must be defined on each backend instance group. This parameter has + # no meaning if the backends are NEGs. + # Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP + # Load Blaancing). # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name # The protocol this BackendService uses to communicate with backends. - # Possible values are HTTP, HTTPS, TCP, and SSL. The default is HTTP. - # For internal load balancing, the possible values are TCP and UDP, and the - # default is TCP. + # Possible values are HTTP, HTTPS, TCP, SSL, or UDP, depending on the chosen + # load balancer or Traffic Director configuration. Refer to the documentation + # for the load balancer or for Traffic director for more information. # Corresponds to the JSON property `protocol` # @return [String] attr_accessor :protocol @@ -2578,18 +2634,22 @@ module Google # @return [String] attr_accessor :self_link - # Type of session affinity to use. The default is NONE. - # When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or - # GENERATED_COOKIE. - # When the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP, + # Type of session affinity to use. The default is NONE. Session affinity is not + # applicable if the --protocol is UDP. + # When the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP, + # or GENERATED_COOKIE. GENERATED_COOKIE is only available if the protocol is + # HTTP or HTTPS. + # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP, # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. - # When the protocol is UDP, this field is not used. + # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, possible values are + # NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE. # Corresponds to the JSON property `sessionAffinity` # @return [String] attr_accessor :session_affinity - # How many seconds to wait for the backend before considering it a failed - # request. Default is 30 seconds. + # The backend service timeout has a different meaning depending on the type of + # load balancer. For more information read, Backend service settings The + # default is 30 seconds. # Corresponds to the JSON property `timeoutSec` # @return [Fixnum] attr_accessor :timeout_sec @@ -3692,8 +3752,9 @@ module Google class ConnectionDraining include Google::Apis::Core::Hashable - # Time for which instance will be drained (not accept new connections, but still - # work to finish started). + # The amount of time in seconds to allow existing connections to persist while + # on unhealthy backend VMs. Only applicable if the protocol is not UDP. The + # valid range is [0, 3600]. # Corresponds to the JSON property `drainingTimeoutSec` # @return [Fixnum] attr_accessor :draining_timeout_sec @@ -5492,13 +5553,32 @@ module Google end end - # A ForwardingRule resource. A ForwardingRule resource specifies which pool of - # target virtual machines to forward a packet to if it matches the given [ - # IPAddress, IPProtocol, ports] tuple. (== resource_for beta.forwardingRules ==) - # (== resource_for v1.forwardingRules ==) (== resource_for beta. - # globalForwardingRules ==) (== resource_for v1.globalForwardingRules ==) (== - # resource_for beta.regionForwardingRules ==) (== resource_for v1. - # regionForwardingRules ==) + # Represents a Forwarding Rule resource. + # A forwardingRules resource represents a regional forwarding rule. + # Regional external forwarding rules can reference any of the following + # resources: + # + # - A target instance + # - A Cloud VPN Classic gateway (targetVpnGateway), + # - A target pool for a Network Load Balancer + # - A global target HTTP(S) proxy for an HTTP(S) load balancer using Standard + # Tier + # - A target SSL proxy for a SSL Proxy load balancer using Standard Tier + # - A target TCP proxy for a TCP Proxy load balancer using Standard Tier. + # Regional internal forwarding rules can reference the backend service of an + # internal TCP/UDP load balancer. + # For regional internal forwarding rules, the following applies: + # - If the loadBalancingScheme for the load balancer is INTERNAL, then the + # forwarding rule references a regional internal backend service. + # - If the loadBalancingScheme for the load balancer is INTERNAL_MANAGED, then + # the forwarding rule must reference a regional target HTTP(S) proxy. + # For more information, read Using Forwarding rules. + # A globalForwardingRules resource represents a global forwarding rule. + # Global forwarding rules are only used by load balancers that use Premium Tier. + # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules = + # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1. + # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (== + # resource_for v1.regionForwardingRules ==) class ForwardingRule include Google::Apis::Core::Hashable @@ -6520,9 +6600,11 @@ module Google end end - # An HealthCheck resource. This resource defines a template for how individual - # virtual machines should be checked for health, via one of the supported - # protocols. + # Represents a Health Check resource. + # Health checks are used for most GCP load balancers and managed instance group + # auto-healing. For more information, read Health Check Concepts. + # To perform health checks on network load balancers, you must use either + # httpHealthChecks or httpsHealthChecks. class HealthCheck include Google::Apis::Core::Hashable @@ -6903,8 +6985,9 @@ module Google end end - # An HttpHealthCheck resource. This resource defines a template for how - # individual instances should be checked for health, via HTTP. + # Represents a legacy HTTP Health Check resource. + # Legacy health checks are required by network load balancers. For more + # information, read Health Check Concepts. class HttpHealthCheck include Google::Apis::Core::Hashable @@ -6965,6 +7048,7 @@ module Google attr_accessor :port # The request path of the HTTP health check request. The default value is /. + # This field does not support query parameters. # Corresponds to the JSON property `requestPath` # @return [String] attr_accessor :request_path @@ -7126,8 +7210,9 @@ module Google end end - # An HttpsHealthCheck resource. This resource defines a template for how - # individual instances should be checked for health, via HTTPS. + # Represents a legacy HTTPS Health Check resource. + # Legacy health checks are required by network load balancers. For more + # information, read Health Check Concepts. class HttpsHealthCheck include Google::Apis::Core::Hashable @@ -14142,19 +14227,18 @@ module Google # This field will be deprecated soon. Use the exchange_subnet_routes field # instead. Indicates whether full mesh connectivity is created and managed - # automatically. When it is set to true, Google Compute Engine will - # automatically create and manage the routes between two networks when the state - # is ACTIVE. Otherwise, user needs to create routes manually to route packets to - # peer network. + # automatically between peered networks. Currently this field should always be + # true since Google Compute Engine will automatically create and manage + # subnetwork routes between two networks when peering state is ACTIVE. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes alias_method :auto_create_routes?, :auto_create_routes - # Whether full mesh connectivity is created and managed automatically. When it - # is set to true, Google Compute Engine will automatically create and manage the - # routes between two networks when the peering state is ACTIVE. Otherwise, user - # needs to create routes manually to route packets to peer network. + # Indicates whether full mesh connectivity is created and managed automatically + # between peered networks. Currently this field should always be true since + # Google Compute Engine will automatically create and manage subnetwork routes + # between two networks when peering state is ACTIVE. # Corresponds to the JSON property `exchangeSubnetRoutes` # @return [Boolean] attr_accessor :exchange_subnet_routes @@ -14233,8 +14317,10 @@ module Google include Google::Apis::Core::Hashable # This field will be deprecated soon. Use exchange_subnet_routes in - # network_peering instead. Whether Google Compute Engine manages the routes - # automatically. + # network_peering instead. Indicates whether full mesh connectivity is created + # and managed automatically between peered networks. Currently this field should + # always be true since Google Compute Engine will automatically create and + # manage subnetwork routes between two networks when peering state is ACTIVE. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes @@ -20721,7 +20807,8 @@ module Google attr_accessor :automatic_restart alias_method :automatic_restart?, :automatic_restart - # A set of node affinity and anti-affinity. + # A set of node affinity and anti-affinity configurations. Refer to Configuring + # node affinity for more information. # Corresponds to the JSON property `nodeAffinities` # @return [Array] attr_accessor :node_affinities @@ -20765,7 +20852,8 @@ module Google # @return [String] attr_accessor :key - # Defines the operation of node selection. + # Defines the operation of node selection. Valid operators are IN for affinity + # and NOT_IN for anti-affinity. # Corresponds to the JSON property `operator` # @return [String] attr_accessor :operator @@ -20787,9 +20875,11 @@ module Google end end - # A security policy is comprised of one or more rules. It can also be associated - # with one or more 'targets'. (== resource_for v1.securityPolicies ==) (== - # resource_for beta.securityPolicies ==) + # Represents a Cloud Armor Security Policy resource. + # Only external backend services that use load balancers can reference a + # Security Policy. For more information, read Cloud Armor Security Policy + # Concepts. (== resource_for v1.securityPolicies ==) (== resource_for beta. + # securityPolicies ==) class SecurityPolicy include Google::Apis::Core::Hashable @@ -21648,10 +21738,11 @@ module Google end end - # An SslCertificate resource. This resource provides a mechanism to upload an - # SSL key and certificate to the load balancer to serve secure connections from - # the user. (== resource_for beta.sslCertificates ==) (== resource_for v1. - # sslCertificates ==) + # Represents an SSL Certificate resource. + # This SSL certificate resource also contains a private key. You can use SSL + # keys and certificates to secure connections to a load balancer. For more + # information, read Creating and Using SSL Certificates. (== resource_for beta. + # sslCertificates ==) (== resource_for v1.sslCertificates ==) class SslCertificate include Google::Apis::Core::Hashable @@ -21977,10 +22068,11 @@ module Google end end - # A SSL policy specifies the server-side support for SSL features. This can be - # attached to a TargetHttpsProxy or a TargetSslProxy. This affects connections - # between clients and the HTTPS or SSL proxy load balancer. They do not affect - # the connection between the load balancers and the backends. + # Represents a Cloud Armor Security Policy resource. + # Only external backend services used by HTTP or HTTPS load balancers can + # reference a Security Policy. For more information, read read Cloud Armor + # Security Policy Concepts. (== resource_for beta.sslPolicies ==) (== + # resource_for v1.sslPolicies ==) class SslPolicy include Google::Apis::Core::Hashable @@ -22803,7 +22895,10 @@ module Google end end - # A TargetHttpProxy resource. This resource defines an HTTP proxy. (== + # Represents a Target HTTP Proxy resource. + # A target HTTP proxy is a component of certain types of load balancers. Global + # forwarding rules reference a target HTTP proxy, and the target proxy then + # references a URL map. For more information, read Using Target Proxies. (== # resource_for beta.targetHttpProxies ==) (== resource_for v1.targetHttpProxies = # =) class TargetHttpProxy @@ -23026,7 +23121,10 @@ module Google end end - # A TargetHttpsProxy resource. This resource defines an HTTPS proxy. (== + # Represents a Target HTTPS Proxy resource. + # A target HTTPS proxy is a component of certain types of load balancers. Global + # forwarding rules reference a target HTTPS proxy, and the target proxy then + # references a URL map. For more information, read Using Target Proxies. (== # resource_for beta.targetHttpsProxies ==) (== resource_for v1. # targetHttpsProxies ==) class TargetHttpsProxy @@ -23657,9 +23755,12 @@ module Google end end - # A TargetPool resource. This resource defines a pool of instances, an - # associated HttpHealthCheck resource, and the fallback target pool. (== - # resource_for beta.targetPools ==) (== resource_for v1.targetPools ==) + # Represents a Target Pool resource. + # Target pools are used for network TCP/UDP load balancing. A target pool + # references member instances, an associated legacy HttpHealthCheck resource, + # and, optionally, a backup target pool. For more information, read Using target + # pools. (== resource_for beta.targetPools ==) (== resource_for v1.targetPools == + # ) class TargetPool include Google::Apis::Core::Hashable @@ -24298,8 +24399,12 @@ module Google end end - # A TargetSslProxy resource. This resource defines an SSL proxy. (== - # resource_for beta.targetSslProxies ==) (== resource_for v1.targetSslProxies ==) + # Represents a Target SSL Proxy resource. + # A target SSL proxy is a component of a SSL Proxy load balancer. Global + # forwarding rules reference a target SSL proxy, and the target proxy then + # references an external backend service. For more information, read Using + # Target Proxies. (== resource_for beta.targetSslProxies ==) (== resource_for v1. + # targetSslProxies ==) class TargetSslProxy include Google::Apis::Core::Hashable @@ -24541,8 +24646,12 @@ module Google end end - # A TargetTcpProxy resource. This resource defines a TCP proxy. (== resource_for - # beta.targetTcpProxies ==) (== resource_for v1.targetTcpProxies ==) + # Represents a Target TCP Proxy resource. + # A target TCP proxy is a component of a TCP Proxy load balancer. Global + # forwarding rules reference ta target TCP proxy, and the target proxy then + # references an external backend service. For more information, read TCP Proxy + # Load Balancing Concepts. (== resource_for beta.targetTcpProxies ==) (== + # resource_for v1.targetTcpProxies ==) class TargetTcpProxy include Google::Apis::Core::Hashable @@ -25229,9 +25338,13 @@ module Google end end - # A UrlMap resource. This resource defines the mapping from URL to the - # BackendService resource, based on the "longest-match" of the URL's host and - # path. + # Represents a URL Map resource. + # A URL map resource is a component of certain types of load balancers. This + # resource defines mappings from host names and URL paths to either a backend + # service or a backend bucket. + # To use this resource, the backend service must have a loadBalancingScheme of + # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more + # information, read URL Map Concepts. class UrlMap include Google::Apis::Core::Hashable @@ -25551,9 +25664,13 @@ module Google class ValidateUrlMapsRequest include Google::Apis::Core::Hashable - # A UrlMap resource. This resource defines the mapping from URL to the - # BackendService resource, based on the "longest-match" of the URL's host and - # path. + # Represents a URL Map resource. + # A URL map resource is a component of certain types of load balancers. This + # resource defines mappings from host names and URL paths to either a backend + # service or a backend bucket. + # To use this resource, the backend service must have a loadBalancingScheme of + # either EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED For more + # information, read URL Map Concepts. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeV1::UrlMap] attr_accessor :resource diff --git a/generated/google/apis/container_v1.rb b/generated/google/apis/container_v1.rb index a18046c0b..cee16e740 100644 --- a/generated/google/apis/container_v1.rb +++ b/generated/google/apis/container_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/container-engine/ module ContainerV1 VERSION = 'V1' - REVISION = '20190610' + REVISION = '20190628' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/container_v1/classes.rb b/generated/google/apis/container_v1/classes.rb index be0de16e4..d3efa5902 100644 --- a/generated/google/apis/container_v1/classes.rb +++ b/generated/google/apis/container_v1/classes.rb @@ -924,6 +924,11 @@ module Google class GetJsonWebKeysResponse include Google::Apis::Core::Hashable + # RFC-2616: cache control support + # Corresponds to the JSON property `cacheHeader` + # @return [Google::Apis::ContainerV1::HttpCacheControlResponseHeader] + attr_accessor :cache_header + # The public component of the keys used by the cluster to sign token # requests. # Corresponds to the JSON property `keys` @@ -936,6 +941,7 @@ module Google # Update properties of this object def update!(**args) + @cache_header = args[:cache_header] if args.key?(:cache_header) @keys = args[:keys] if args.key?(:keys) end end @@ -945,6 +951,11 @@ module Google class GetOpenIdConfigResponse include Google::Apis::Core::Hashable + # RFC-2616: cache control support + # Corresponds to the JSON property `cacheHeader` + # @return [Google::Apis::ContainerV1::HttpCacheControlResponseHeader] + attr_accessor :cache_header + # Supported claims. # Corresponds to the JSON property `claims_supported` # @return [Array] @@ -986,6 +997,7 @@ module Google # Update properties of this object def update!(**args) + @cache_header = args[:cache_header] if args.key?(:cache_header) @claims_supported = args[:claims_supported] if args.key?(:claims_supported) @grant_types = args[:grant_types] if args.key?(:grant_types) @id_token_signing_alg_values_supported = args[:id_token_signing_alg_values_supported] if args.key?(:id_token_signing_alg_values_supported) @@ -1020,6 +1032,37 @@ module Google end end + # RFC-2616: cache control support + class HttpCacheControlResponseHeader + include Google::Apis::Core::Hashable + + # 14.6 response cache age, in seconds since the response is generated + # Corresponds to the JSON property `age` + # @return [Fixnum] + attr_accessor :age + + # 14.9 request and response directives + # Corresponds to the JSON property `directive` + # @return [String] + attr_accessor :directive + + # 14.21 response cache expires, in RFC 1123 date format + # Corresponds to the JSON property `expires` + # @return [String] + attr_accessor :expires + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @age = args[:age] if args.key?(:age) + @directive = args[:directive] if args.key?(:directive) + @expires = args[:expires] if args.key?(:expires) + end + end + # Configuration options for the HTTP (L7) load balancing controller addon, # which makes it easy to set up HTTP load balancers for services in a cluster. class HttpLoadBalancing diff --git a/generated/google/apis/container_v1/representations.rb b/generated/google/apis/container_v1/representations.rb index 7a8b6043f..5f9dac181 100644 --- a/generated/google/apis/container_v1/representations.rb +++ b/generated/google/apis/container_v1/representations.rb @@ -130,6 +130,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class HttpCacheControlResponseHeader + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class HttpLoadBalancing class Representation < Google::Apis::Core::JsonRepresentation; end @@ -609,6 +615,8 @@ module Google class GetJsonWebKeysResponse # @private class Representation < Google::Apis::Core::JsonRepresentation + property :cache_header, as: 'cacheHeader', class: Google::Apis::ContainerV1::HttpCacheControlResponseHeader, decorator: Google::Apis::ContainerV1::HttpCacheControlResponseHeader::Representation + collection :keys, as: 'keys', class: Google::Apis::ContainerV1::Jwk, decorator: Google::Apis::ContainerV1::Jwk::Representation end @@ -617,6 +625,8 @@ module Google class GetOpenIdConfigResponse # @private class Representation < Google::Apis::Core::JsonRepresentation + property :cache_header, as: 'cacheHeader', class: Google::Apis::ContainerV1::HttpCacheControlResponseHeader, decorator: Google::Apis::ContainerV1::HttpCacheControlResponseHeader::Representation + collection :claims_supported, as: 'claims_supported' collection :grant_types, as: 'grant_types' collection :id_token_signing_alg_values_supported, as: 'id_token_signing_alg_values_supported' @@ -634,6 +644,15 @@ module Google end end + class HttpCacheControlResponseHeader + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :age, :numeric_string => true, as: 'age' + property :directive, as: 'directive' + property :expires, as: 'expires' + end + end + class HttpLoadBalancing # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/content_v2.rb b/generated/google/apis/content_v2.rb index 0a129c9f0..6f4d65a14 100644 --- a/generated/google/apis/content_v2.rb +++ b/generated/google/apis/content_v2.rb @@ -26,7 +26,7 @@ module Google # @see https://developers.google.com/shopping-content module ContentV2 VERSION = 'V2' - REVISION = '20190702' + REVISION = '20190705' # Manage your product listings and accounts for Google Shopping AUTH_CONTENT = 'https://www.googleapis.com/auth/content' diff --git a/generated/google/apis/content_v2/classes.rb b/generated/google/apis/content_v2/classes.rb index 05a9b230a..c1e8230f9 100644 --- a/generated/google/apis/content_v2/classes.rb +++ b/generated/google/apis/content_v2/classes.rb @@ -9628,11 +9628,6 @@ module Google # @return [Fixnum] attr_accessor :batch_id - # The ContentAPI feed id. - # Corresponds to the JSON property `feedId` - # @return [Fixnum] - attr_accessor :feed_id - # The ID of the managing account. # Corresponds to the JSON property `merchantId` # @return [Fixnum] @@ -9662,7 +9657,6 @@ module Google # Update properties of this object def update!(**args) @batch_id = args[:batch_id] if args.key?(:batch_id) - @feed_id = args[:feed_id] if args.key?(:feed_id) @merchant_id = args[:merchant_id] if args.key?(:merchant_id) @request_method = args[:request_method] if args.key?(:request_method) @product = args[:product] if args.key?(:product) diff --git a/generated/google/apis/content_v2/representations.rb b/generated/google/apis/content_v2/representations.rb index 8aa3f939c..02ed4911c 100644 --- a/generated/google/apis/content_v2/representations.rb +++ b/generated/google/apis/content_v2/representations.rb @@ -4286,7 +4286,6 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation property :batch_id, as: 'batchId' - property :feed_id, :numeric_string => true, as: 'feedId' property :merchant_id, :numeric_string => true, as: 'merchantId' property :request_method, as: 'method' property :product, as: 'product', class: Google::Apis::ContentV2::Product, decorator: Google::Apis::ContentV2::Product::Representation diff --git a/generated/google/apis/content_v2_1.rb b/generated/google/apis/content_v2_1.rb index 84641aa5c..78803b9b5 100644 --- a/generated/google/apis/content_v2_1.rb +++ b/generated/google/apis/content_v2_1.rb @@ -26,7 +26,7 @@ module Google # @see https://developers.google.com/shopping-content module ContentV2_1 VERSION = 'V2_1' - REVISION = '20190702' + REVISION = '20190705' # Manage your product listings and accounts for Google Shopping AUTH_CONTENT = 'https://www.googleapis.com/auth/content' diff --git a/generated/google/apis/content_v2_1/classes.rb b/generated/google/apis/content_v2_1/classes.rb index 77d6fa5c5..8869b5cb4 100644 --- a/generated/google/apis/content_v2_1/classes.rb +++ b/generated/google/apis/content_v2_1/classes.rb @@ -7661,7 +7661,7 @@ module Google # @return [Fixnum] attr_accessor :batch_id - # The ContentAPI feed id. + # The Content API feed id. # Corresponds to the JSON property `feedId` # @return [Fixnum] attr_accessor :feed_id diff --git a/generated/google/apis/healthcare_v1beta1.rb b/generated/google/apis/healthcare_v1beta1.rb index 0f39ce885..899743b7e 100644 --- a/generated/google/apis/healthcare_v1beta1.rb +++ b/generated/google/apis/healthcare_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/healthcare module HealthcareV1beta1 VERSION = 'V1beta1' - REVISION = '20190626' + REVISION = '20190708' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/healthcare_v1beta1/classes.rb b/generated/google/apis/healthcare_v1beta1/classes.rb index 6630e0f97..fbe6c8049 100644 --- a/generated/google/apis/healthcare_v1beta1/classes.rb +++ b/generated/google/apis/healthcare_v1beta1/classes.rb @@ -39,7 +39,7 @@ module Google # ` # "log_type": "DATA_READ", # "exempted_members": [ - # "user:foo@gmail.com" + # "user:jose@example.com" # ] # `, # ` @@ -51,7 +51,7 @@ module Google # ] # `, # ` - # "service": "fooservice.googleapis.com" + # "service": "sampleservice.googleapis.com" # "audit_log_configs": [ # ` # "log_type": "DATA_READ", @@ -59,16 +59,16 @@ module Google # ` # "log_type": "DATA_WRITE", # "exempted_members": [ - # "user:bar@gmail.com" + # "user:aliya@example.com" # ] # ` # ] # ` # ] # ` - # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ - # logging. It also exempts foo@gmail.com from DATA_READ logging, and - # bar@gmail.com from DATA_WRITE logging. + # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ + # logging. It also exempts jose@example.com from DATA_READ logging, and + # aliya@example.com from DATA_WRITE logging. class AuditConfig include Google::Apis::Core::Hashable @@ -102,7 +102,7 @@ module Google # ` # "log_type": "DATA_READ", # "exempted_members": [ - # "user:foo@gmail.com" + # "user:jose@example.com" # ] # `, # ` @@ -111,7 +111,7 @@ module Google # ] # ` # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - # foo@gmail.com from DATA_READ logging. + # jose@example.com from DATA_READ logging. class AuditLogConfig include Google::Apis::Core::Hashable @@ -122,6 +122,14 @@ module Google # @return [Array] attr_accessor :exempted_members + # Specifies whether principals can be exempted for the same LogType in + # lower-level resource policies. If true, any lower-level exemptions will + # be ignored. + # Corresponds to the JSON property `ignoreChildExemptions` + # @return [Boolean] + attr_accessor :ignore_child_exemptions + alias_method :ignore_child_exemptions?, :ignore_child_exemptions + # The log type that this config enables. # Corresponds to the JSON property `logType` # @return [String] @@ -134,6 +142,7 @@ module Google # Update properties of this object def update!(**args) @exempted_members = args[:exempted_members] if args.key?(:exempted_members) + @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions) @log_type = args[:log_type] if args.key?(:log_type) end end @@ -157,7 +166,7 @@ module Google # * `allAuthenticatedUsers`: A special identifier that represents anyone # who is authenticated with a Google account or a service account. # * `user:`emailid``: An email address that represents a specific Google - # account. For example, `alice@gmail.com` . + # account. For example, `alice@example.com` . # * `serviceAccount:`emailid``: An email address that represents a service # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. @@ -1995,7 +2004,7 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten blindly. + # policy is overwritten. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] diff --git a/generated/google/apis/healthcare_v1beta1/representations.rb b/generated/google/apis/healthcare_v1beta1/representations.rb index 590e59f94..b759b323e 100644 --- a/generated/google/apis/healthcare_v1beta1/representations.rb +++ b/generated/google/apis/healthcare_v1beta1/representations.rb @@ -443,6 +443,7 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation collection :exempted_members, as: 'exemptedMembers' + property :ignore_child_exemptions, as: 'ignoreChildExemptions' property :log_type, as: 'logType' end end diff --git a/generated/google/apis/iap_v1.rb b/generated/google/apis/iap_v1.rb index bd0fe7133..f008e7c23 100644 --- a/generated/google/apis/iap_v1.rb +++ b/generated/google/apis/iap_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/iap module IapV1 VERSION = 'V1' - REVISION = '20190628' + REVISION = '20190704' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/iap_v1/classes.rb b/generated/google/apis/iap_v1/classes.rb index c4a289926..28313fb59 100644 --- a/generated/google/apis/iap_v1/classes.rb +++ b/generated/google/apis/iap_v1/classes.rb @@ -41,7 +41,7 @@ module Google # * `allAuthenticatedUsers`: A special identifier that represents anyone # who is authenticated with a Google account or a service account. # * `user:`emailid``: An email address that represents a specific Google - # account. For example, `alice@gmail.com` . + # account. For example, `alice@example.com` . # * `serviceAccount:`emailid``: An email address that represents a service # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. @@ -212,7 +212,7 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten blindly. + # policy is overwritten. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] diff --git a/generated/google/apis/iap_v1beta1.rb b/generated/google/apis/iap_v1beta1.rb index b972ce6f2..bed9b7b37 100644 --- a/generated/google/apis/iap_v1beta1.rb +++ b/generated/google/apis/iap_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/iap module IapV1beta1 VERSION = 'V1beta1' - REVISION = '20190628' + REVISION = '20190704' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/iap_v1beta1/classes.rb b/generated/google/apis/iap_v1beta1/classes.rb index 8669deff4..328d68d98 100644 --- a/generated/google/apis/iap_v1beta1/classes.rb +++ b/generated/google/apis/iap_v1beta1/classes.rb @@ -41,7 +41,7 @@ module Google # * `allAuthenticatedUsers`: A special identifier that represents anyone # who is authenticated with a Google account or a service account. # * `user:`emailid``: An email address that represents a specific Google - # account. For example, `alice@gmail.com` . + # account. For example, `alice@example.com` . # * `serviceAccount:`emailid``: An email address that represents a service # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. @@ -212,7 +212,7 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten blindly. + # policy is overwritten. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] diff --git a/generated/google/apis/ml_v1.rb b/generated/google/apis/ml_v1.rb index 2976c24b4..19c9c237f 100644 --- a/generated/google/apis/ml_v1.rb +++ b/generated/google/apis/ml_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/ml/ module MlV1 VERSION = 'V1' - REVISION = '20190621' + REVISION = '20190704' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/ml_v1/classes.rb b/generated/google/apis/ml_v1/classes.rb index 7b2c93e02..a4c58b792 100644 --- a/generated/google/apis/ml_v1/classes.rb +++ b/generated/google/apis/ml_v1/classes.rb @@ -1675,7 +1675,7 @@ module Google # @return [Google::Apis::MlV1::GoogleCloudMlV1ManualScaling] attr_accessor :manual_scaling - # Required.The name specified for the version when it was created. + # Required. The name specified for the version when it was created. # The version name must be unique within the model it is created in. # Corresponds to the JSON property `name` # @return [String] @@ -1813,7 +1813,7 @@ module Google # ` # "log_type": "DATA_READ", # "exempted_members": [ - # "user:foo@gmail.com" + # "user:jose@example.com" # ] # `, # ` @@ -1825,7 +1825,7 @@ module Google # ] # `, # ` - # "service": "fooservice.googleapis.com" + # "service": "sampleservice.googleapis.com" # "audit_log_configs": [ # ` # "log_type": "DATA_READ", @@ -1833,16 +1833,16 @@ module Google # ` # "log_type": "DATA_WRITE", # "exempted_members": [ - # "user:bar@gmail.com" + # "user:aliya@example.com" # ] # ` # ] # ` # ] # ` - # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ - # logging. It also exempts foo@gmail.com from DATA_READ logging, and - # bar@gmail.com from DATA_WRITE logging. + # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ + # logging. It also exempts jose@example.com from DATA_READ logging, and + # aliya@example.com from DATA_WRITE logging. class GoogleIamV1AuditConfig include Google::Apis::Core::Hashable @@ -1876,7 +1876,7 @@ module Google # ` # "log_type": "DATA_READ", # "exempted_members": [ - # "user:foo@gmail.com" + # "user:jose@example.com" # ] # `, # ` @@ -1885,7 +1885,7 @@ module Google # ] # ` # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - # foo@gmail.com from DATA_READ logging. + # jose@example.com from DATA_READ logging. class GoogleIamV1AuditLogConfig include Google::Apis::Core::Hashable @@ -1931,7 +1931,7 @@ module Google # * `allAuthenticatedUsers`: A special identifier that represents anyone # who is authenticated with a Google account or a service account. # * `user:`emailid``: An email address that represents a specific Google - # account. For example, `alice@gmail.com` . + # account. For example, `alice@example.com` . # * `serviceAccount:`emailid``: An email address that represents a service # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. @@ -2019,7 +2019,7 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten blindly. + # policy is overwritten. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] diff --git a/generated/google/apis/ml_v1/service.rb b/generated/google/apis/ml_v1/service.rb index 37cc10129..c3081a66c 100644 --- a/generated/google/apis/ml_v1/service.rb +++ b/generated/google/apis/ml_v1/service.rb @@ -219,6 +219,11 @@ module Google # @param [String] resource # REQUIRED: The resource for which the policy is being requested. # See the operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. + # Acceptable values are 0 and 1. + # If the value is 0, or the field is omitted, policy format version 1 will be + # returned. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -236,11 +241,12 @@ module Google # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required - def get_project_job_iam_policy(resource, fields: nil, quota_user: nil, options: nil, &block) + def get_project_job_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options) command.response_representation = Google::Apis::MlV1::GoogleIamV1Policy::Representation command.response_class = Google::Apis::MlV1::GoogleIamV1Policy command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) @@ -609,6 +615,11 @@ module Google # @param [String] resource # REQUIRED: The resource for which the policy is being requested. # See the operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. + # Acceptable values are 0 and 1. + # If the value is 0, or the field is omitted, policy format version 1 will be + # returned. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -626,11 +637,12 @@ module Google # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required - def get_project_model_iam_policy(resource, fields: nil, quota_user: nil, options: nil, &block) + def get_project_model_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options) command.response_representation = Google::Apis::MlV1::GoogleIamV1Policy::Representation command.response_class = Google::Apis::MlV1::GoogleIamV1Policy command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) diff --git a/generated/google/apis/serviceconsumermanagement_v1.rb b/generated/google/apis/serviceconsumermanagement_v1.rb index 49e01e576..639b864e2 100644 --- a/generated/google/apis/serviceconsumermanagement_v1.rb +++ b/generated/google/apis/serviceconsumermanagement_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/service-consumer-management/docs/overview module ServiceconsumermanagementV1 VERSION = 'V1' - REVISION = '20190607' + REVISION = '20190708' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/serviceconsumermanagement_v1/classes.rb b/generated/google/apis/serviceconsumermanagement_v1/classes.rb index c7fa0c3d7..e550c7ed4 100644 --- a/generated/google/apis/serviceconsumermanagement_v1/classes.rb +++ b/generated/google/apis/serviceconsumermanagement_v1/classes.rb @@ -922,6 +922,14 @@ module Google # @return [Array] attr_accessor :rules + # Specifies the service root url if the default one (the service name + # from the yaml file) is not suitable. This can be seen in any fully + # specified service urls as well as sections that show a base that other + # urls are relative to. + # Corresponds to the JSON property `serviceRootUrl` + # @return [String] + attr_accessor :service_root_url + # A short summary of what the service does. Can only be provided by # plain text. # Corresponds to the JSON property `summary` @@ -938,6 +946,7 @@ module Google @overview = args[:overview] if args.key?(:overview) @pages = args[:pages] if args.key?(:pages) @rules = args[:rules] if args.key?(:rules) + @service_root_url = args[:service_root_url] if args.key?(:service_root_url) @summary = args[:summary] if args.key?(:summary) end end @@ -3993,8 +4002,7 @@ module Google # @return [String] attr_accessor :email - # The IAM resource name of the service account in the following format: - # projects/`PROJECT_ID`/serviceAccounts/`ACCOUNT`. + # Deprecated. See b/136209818. # Corresponds to the JSON property `iamAccountName` # @return [String] attr_accessor :iam_account_name diff --git a/generated/google/apis/serviceconsumermanagement_v1/representations.rb b/generated/google/apis/serviceconsumermanagement_v1/representations.rb index e6de26e0c..f21896812 100644 --- a/generated/google/apis/serviceconsumermanagement_v1/representations.rb +++ b/generated/google/apis/serviceconsumermanagement_v1/representations.rb @@ -729,6 +729,7 @@ module Google collection :rules, as: 'rules', class: Google::Apis::ServiceconsumermanagementV1::DocumentationRule, decorator: Google::Apis::ServiceconsumermanagementV1::DocumentationRule::Representation + property :service_root_url, as: 'serviceRootUrl' property :summary, as: 'summary' end end diff --git a/generated/google/apis/servicenetworking_v1.rb b/generated/google/apis/servicenetworking_v1.rb index 27c49c404..f60f15884 100644 --- a/generated/google/apis/servicenetworking_v1.rb +++ b/generated/google/apis/servicenetworking_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started module ServicenetworkingV1 VERSION = 'V1' - REVISION = '20190607' + REVISION = '20190708' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicenetworking_v1/classes.rb b/generated/google/apis/servicenetworking_v1/classes.rb index 05135c3be..b10415775 100644 --- a/generated/google/apis/servicenetworking_v1/classes.rb +++ b/generated/google/apis/servicenetworking_v1/classes.rb @@ -572,8 +572,8 @@ module Google # @return [String] attr_accessor :network - # Output only. - # The name of the VPC Network Peering connection that was created by the + # Output only. The name of the VPC Network Peering connection that was created + # by the # service producer. # Corresponds to the JSON property `peering` # @return [String] @@ -591,8 +591,8 @@ module Google # @return [Array] attr_accessor :reserved_peering_ranges - # Output only. - # The name of the peering service that's associated with this connection, in + # Output only. The name of the peering service that's associated with this + # connection, in # the following format: `services/`service name``. # Corresponds to the JSON property `service` # @return [String] @@ -899,6 +899,14 @@ module Google # @return [Array] attr_accessor :rules + # Specifies the service root url if the default one (the service name + # from the yaml file) is not suitable. This can be seen in any fully + # specified service urls as well as sections that show a base that other + # urls are relative to. + # Corresponds to the JSON property `serviceRootUrl` + # @return [String] + attr_accessor :service_root_url + # A short summary of what the service does. Can only be provided by # plain text. # Corresponds to the JSON property `summary` @@ -915,6 +923,7 @@ module Google @overview = args[:overview] if args.key?(:overview) @pages = args[:pages] if args.key?(:pages) @rules = args[:rules] if args.key?(:rules) + @service_root_url = args[:service_root_url] if args.key?(:service_root_url) @summary = args[:summary] if args.key?(:summary) end end diff --git a/generated/google/apis/servicenetworking_v1/representations.rb b/generated/google/apis/servicenetworking_v1/representations.rb index c981012ab..6d98d3bbc 100644 --- a/generated/google/apis/servicenetworking_v1/representations.rb +++ b/generated/google/apis/servicenetworking_v1/representations.rb @@ -573,6 +573,7 @@ module Google collection :rules, as: 'rules', class: Google::Apis::ServicenetworkingV1::DocumentationRule, decorator: Google::Apis::ServicenetworkingV1::DocumentationRule::Representation + property :service_root_url, as: 'serviceRootUrl' property :summary, as: 'summary' end end diff --git a/generated/google/apis/servicenetworking_v1beta.rb b/generated/google/apis/servicenetworking_v1beta.rb index 69eb3d233..8b753cd6e 100644 --- a/generated/google/apis/servicenetworking_v1beta.rb +++ b/generated/google/apis/servicenetworking_v1beta.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started module ServicenetworkingV1beta VERSION = 'V1beta' - REVISION = '20190607' + REVISION = '20190708' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicenetworking_v1beta/classes.rb b/generated/google/apis/servicenetworking_v1beta/classes.rb index 4854eea2f..a69cfedad 100644 --- a/generated/google/apis/servicenetworking_v1beta/classes.rb +++ b/generated/google/apis/servicenetworking_v1beta/classes.rb @@ -559,8 +559,8 @@ module Google # @return [String] attr_accessor :network - # Output only. - # The name of the VPC Network Peering connection that was created by the + # Output only. The name of the VPC Network Peering connection that was created + # by the # service producer. # Corresponds to the JSON property `peering` # @return [String] @@ -575,8 +575,8 @@ module Google # @return [Array] attr_accessor :reserved_peering_ranges - # Output only. - # The name of the peering service that's associated with this connection, in + # Output only. The name of the peering service that's associated with this + # connection, in # the following format: `services/`service name``. # Corresponds to the JSON property `service` # @return [String] @@ -883,6 +883,14 @@ module Google # @return [Array] attr_accessor :rules + # Specifies the service root url if the default one (the service name + # from the yaml file) is not suitable. This can be seen in any fully + # specified service urls as well as sections that show a base that other + # urls are relative to. + # Corresponds to the JSON property `serviceRootUrl` + # @return [String] + attr_accessor :service_root_url + # A short summary of what the service does. Can only be provided by # plain text. # Corresponds to the JSON property `summary` @@ -899,6 +907,7 @@ module Google @overview = args[:overview] if args.key?(:overview) @pages = args[:pages] if args.key?(:pages) @rules = args[:rules] if args.key?(:rules) + @service_root_url = args[:service_root_url] if args.key?(:service_root_url) @summary = args[:summary] if args.key?(:summary) end end diff --git a/generated/google/apis/servicenetworking_v1beta/representations.rb b/generated/google/apis/servicenetworking_v1beta/representations.rb index 0b7098157..ef118ca54 100644 --- a/generated/google/apis/servicenetworking_v1beta/representations.rb +++ b/generated/google/apis/servicenetworking_v1beta/representations.rb @@ -549,6 +549,7 @@ module Google collection :rules, as: 'rules', class: Google::Apis::ServicenetworkingV1beta::DocumentationRule, decorator: Google::Apis::ServicenetworkingV1beta::DocumentationRule::Representation + property :service_root_url, as: 'serviceRootUrl' property :summary, as: 'summary' end end diff --git a/generated/google/apis/serviceusage_v1.rb b/generated/google/apis/serviceusage_v1.rb index 217ddf006..6c9d04a2e 100644 --- a/generated/google/apis/serviceusage_v1.rb +++ b/generated/google/apis/serviceusage_v1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/service-usage/ module ServiceusageV1 VERSION = 'V1' - REVISION = '20190607' + REVISION = '20190708' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/serviceusage_v1/classes.rb b/generated/google/apis/serviceusage_v1/classes.rb index ef1ebd5a8..17450ca20 100644 --- a/generated/google/apis/serviceusage_v1/classes.rb +++ b/generated/google/apis/serviceusage_v1/classes.rb @@ -902,6 +902,14 @@ module Google # @return [Array] attr_accessor :rules + # Specifies the service root url if the default one (the service name + # from the yaml file) is not suitable. This can be seen in any fully + # specified service urls as well as sections that show a base that other + # urls are relative to. + # Corresponds to the JSON property `serviceRootUrl` + # @return [String] + attr_accessor :service_root_url + # A short summary of what the service does. Can only be provided by # plain text. # Corresponds to the JSON property `summary` @@ -918,6 +926,7 @@ module Google @overview = args[:overview] if args.key?(:overview) @pages = args[:pages] if args.key?(:pages) @rules = args[:rules] if args.key?(:rules) + @service_root_url = args[:service_root_url] if args.key?(:service_root_url) @summary = args[:summary] if args.key?(:summary) end end diff --git a/generated/google/apis/serviceusage_v1/representations.rb b/generated/google/apis/serviceusage_v1/representations.rb index b268bc1d2..3fb373722 100644 --- a/generated/google/apis/serviceusage_v1/representations.rb +++ b/generated/google/apis/serviceusage_v1/representations.rb @@ -645,6 +645,7 @@ module Google collection :rules, as: 'rules', class: Google::Apis::ServiceusageV1::DocumentationRule, decorator: Google::Apis::ServiceusageV1::DocumentationRule::Representation + property :service_root_url, as: 'serviceRootUrl' property :summary, as: 'summary' end end diff --git a/generated/google/apis/serviceusage_v1beta1.rb b/generated/google/apis/serviceusage_v1beta1.rb index d038d12c3..b3b5f6cca 100644 --- a/generated/google/apis/serviceusage_v1beta1.rb +++ b/generated/google/apis/serviceusage_v1beta1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/service-usage/ module ServiceusageV1beta1 VERSION = 'V1beta1' - REVISION = '20190607' + REVISION = '20190708' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/serviceusage_v1beta1/classes.rb b/generated/google/apis/serviceusage_v1beta1/classes.rb index 1711b11e9..93f24a40b 100644 --- a/generated/google/apis/serviceusage_v1beta1/classes.rb +++ b/generated/google/apis/serviceusage_v1beta1/classes.rb @@ -878,6 +878,14 @@ module Google # @return [Array] attr_accessor :rules + # Specifies the service root url if the default one (the service name + # from the yaml file) is not suitable. This can be seen in any fully + # specified service urls as well as sections that show a base that other + # urls are relative to. + # Corresponds to the JSON property `serviceRootUrl` + # @return [String] + attr_accessor :service_root_url + # A short summary of what the service does. Can only be provided by # plain text. # Corresponds to the JSON property `summary` @@ -894,6 +902,7 @@ module Google @overview = args[:overview] if args.key?(:overview) @pages = args[:pages] if args.key?(:pages) @rules = args[:rules] if args.key?(:rules) + @service_root_url = args[:service_root_url] if args.key?(:service_root_url) @summary = args[:summary] if args.key?(:summary) end end diff --git a/generated/google/apis/serviceusage_v1beta1/representations.rb b/generated/google/apis/serviceusage_v1beta1/representations.rb index 54601479f..961b0089d 100644 --- a/generated/google/apis/serviceusage_v1beta1/representations.rb +++ b/generated/google/apis/serviceusage_v1beta1/representations.rb @@ -644,6 +644,7 @@ module Google collection :rules, as: 'rules', class: Google::Apis::ServiceusageV1beta1::DocumentationRule, decorator: Google::Apis::ServiceusageV1beta1::DocumentationRule::Representation + property :service_root_url, as: 'serviceRootUrl' property :summary, as: 'summary' end end diff --git a/generated/google/apis/slides_v1.rb b/generated/google/apis/slides_v1.rb index 78217ae54..c2a7be585 100644 --- a/generated/google/apis/slides_v1.rb +++ b/generated/google/apis/slides_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/slides/ module SlidesV1 VERSION = 'V1' - REVISION = '20190625' + REVISION = '20190702' # See, edit, create, and delete all of your Google Drive files AUTH_DRIVE = 'https://www.googleapis.com/auth/drive' diff --git a/generated/google/apis/vision_v1.rb b/generated/google/apis/vision_v1.rb index e15233ae8..e749630af 100644 --- a/generated/google/apis/vision_v1.rb +++ b/generated/google/apis/vision_v1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/vision/ module VisionV1 VERSION = 'V1' - REVISION = '20190531' + REVISION = '20190704' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/vision_v1/classes.rb b/generated/google/apis/vision_v1/classes.rb index abe3ed702..a24c92a9f 100644 --- a/generated/google/apis/vision_v1/classes.rb +++ b/generated/google/apis/vision_v1/classes.rb @@ -10634,6 +10634,2001 @@ module Google end end + # Response to a single file annotation request. A file may contain one or more + # images, which individually have their own responses. + class GoogleCloudVisionV1p6beta1AnnotateFileResponse + include Google::Apis::Core::Hashable + + # The desired input location and metadata. + # Corresponds to the JSON property `inputConfig` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1InputConfig] + attr_accessor :input_config + + # Individual responses to images found within the file. + # Corresponds to the JSON property `responses` + # @return [Array] + attr_accessor :responses + + # This field gives the total number of pages in the file. + # Corresponds to the JSON property `totalPages` + # @return [Fixnum] + attr_accessor :total_pages + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @input_config = args[:input_config] if args.key?(:input_config) + @responses = args[:responses] if args.key?(:responses) + @total_pages = args[:total_pages] if args.key?(:total_pages) + end + end + + # Response to an image annotation request. + class GoogleCloudVisionV1p6beta1AnnotateImageResponse + include Google::Apis::Core::Hashable + + # If an image was produced from a file (e.g. a PDF), this message gives + # information about the source of that image. + # Corresponds to the JSON property `context` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ImageAnnotationContext] + attr_accessor :context + + # Set of crop hints that are used to generate new crops when serving images. + # Corresponds to the JSON property `cropHintsAnnotation` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1CropHintsAnnotation] + attr_accessor :crop_hints_annotation + + # 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::VisionV1::Status] + attr_accessor :error + + # If present, face detection has completed successfully. + # Corresponds to the JSON property `faceAnnotations` + # @return [Array] + attr_accessor :face_annotations + + # TextAnnotation contains a structured representation of OCR extracted text. + # The hierarchy of an OCR extracted text structure is like this: + # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + # Each structural component, starting from Page, may further have their own + # properties. Properties describe detected languages, breaks etc.. Please refer + # to the TextAnnotation.TextProperty message definition below for more + # detail. + # Corresponds to the JSON property `fullTextAnnotation` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotation] + attr_accessor :full_text_annotation + + # Stores image properties, such as dominant colors. + # Corresponds to the JSON property `imagePropertiesAnnotation` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ImageProperties] + attr_accessor :image_properties_annotation + + # Stores image quality scores, could be aesthetic quality or technical quality. + # Corresponds to the JSON property `imageQualityAnnotation` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ImageQuality] + attr_accessor :image_quality_annotation + + # If present, label detection has completed successfully. + # Corresponds to the JSON property `labelAnnotations` + # @return [Array] + attr_accessor :label_annotations + + # If present, landmark detection has completed successfully. + # Corresponds to the JSON property `landmarkAnnotations` + # @return [Array] + attr_accessor :landmark_annotations + + # If present, localized object detection has completed successfully. + # This will be sorted descending by confidence score. + # Corresponds to the JSON property `localizedObjectAnnotations` + # @return [Array] + attr_accessor :localized_object_annotations + + # If present, logo detection has completed successfully. + # Corresponds to the JSON property `logoAnnotations` + # @return [Array] + attr_accessor :logo_annotations + + # If present, objects attributes calculation has completed successfully. The + # attributes value will be filled in the EntityAnnotation.properties. + # Example: + # object_attribute_annotations ` + # properties ` + # name: "color" + # value: "blue" + # confidence: 0.1 + # ` + # properties ` + # name: "color" + # value: "white" + # confidence: 0.2 + # ` + # properties ` + # name: "material" + # value: "silk" + # confidence: 0.3 + # ` + # ` + # Corresponds to the JSON property `objectAttributeAnnotations` + # @return [Array] + attr_accessor :object_attribute_annotations + + # Results for a product search request. + # Corresponds to the JSON property `productSearchResults` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductSearchResults] + attr_accessor :product_search_results + + # Stores enhanced image bytes. + # Corresponds to the JSON property `qualityOptimizationResult` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1QualityOptimizationResult] + attr_accessor :quality_optimization_result + + # Set of features pertaining to the image, computed by computer vision + # methods over safe-search verticals (for example, adult, spoof, medical, + # violence). + # Corresponds to the JSON property `safeSearchAnnotation` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1SafeSearchAnnotation] + attr_accessor :safe_search_annotation + + # If present, text (OCR) detection has completed successfully. + # Corresponds to the JSON property `textAnnotations` + # @return [Array] + attr_accessor :text_annotations + + # Relevant information for the image from the Internet. + # Corresponds to the JSON property `webDetection` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetection] + attr_accessor :web_detection + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @context = args[:context] if args.key?(:context) + @crop_hints_annotation = args[:crop_hints_annotation] if args.key?(:crop_hints_annotation) + @error = args[:error] if args.key?(:error) + @face_annotations = args[:face_annotations] if args.key?(:face_annotations) + @full_text_annotation = args[:full_text_annotation] if args.key?(:full_text_annotation) + @image_properties_annotation = args[:image_properties_annotation] if args.key?(:image_properties_annotation) + @image_quality_annotation = args[:image_quality_annotation] if args.key?(:image_quality_annotation) + @label_annotations = args[:label_annotations] if args.key?(:label_annotations) + @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations) + @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations) + @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations) + @object_attribute_annotations = args[:object_attribute_annotations] if args.key?(:object_attribute_annotations) + @product_search_results = args[:product_search_results] if args.key?(:product_search_results) + @quality_optimization_result = args[:quality_optimization_result] if args.key?(:quality_optimization_result) + @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation) + @text_annotations = args[:text_annotations] if args.key?(:text_annotations) + @web_detection = args[:web_detection] if args.key?(:web_detection) + end + end + + # The response for a single offline file annotation request. + class GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse + include Google::Apis::Core::Hashable + + # The desired output location and metadata. + # Corresponds to the JSON property `outputConfig` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1OutputConfig] + attr_accessor :output_config + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @output_config = args[:output_config] if args.key?(:output_config) + end + end + + # Response to an async batch file annotation request. + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateFilesResponse + include Google::Apis::Core::Hashable + + # The list of file annotation responses, one for each request in + # AsyncBatchAnnotateFilesRequest. + # Corresponds to the JSON property `responses` + # @return [Array] + 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 + + # Response to an async batch image annotation request. + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateImagesResponse + include Google::Apis::Core::Hashable + + # The desired output location and metadata. + # Corresponds to the JSON property `outputConfig` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1OutputConfig] + attr_accessor :output_config + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @output_config = args[:output_config] if args.key?(:output_config) + end + end + + # A list of file annotation responses. + class GoogleCloudVisionV1p6beta1BatchAnnotateFilesResponse + include Google::Apis::Core::Hashable + + # The list of file annotation responses, each response corresponding to each + # AnnotateFileRequest in BatchAnnotateFilesRequest. + # Corresponds to the JSON property `responses` + # @return [Array] + 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 + + # Metadata for the batch operations such as the current state. + # This is included in the `metadata` field of the `Operation` returned by the + # `GetOperation` call of the `google::longrunning::Operations` service. + class GoogleCloudVisionV1p6beta1BatchOperationMetadata + include Google::Apis::Core::Hashable + + # The time when the batch request is finished and + # google.longrunning.Operation.done is set to true. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # The current state of the batch operation. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # The time when the batch request was submitted to the server. + # Corresponds to the JSON property `submitTime` + # @return [String] + attr_accessor :submit_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @end_time = args[:end_time] if args.key?(:end_time) + @state = args[:state] if args.key?(:state) + @submit_time = args[:submit_time] if args.key?(:submit_time) + end + end + + # Logical element on the page. + class GoogleCloudVisionV1p6beta1Block + include Google::Apis::Core::Hashable + + # Detected block type (text, image etc) for this block. + # Corresponds to the JSON property `blockType` + # @return [String] + attr_accessor :block_type + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results on the block. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # List of paragraphs in this block (if this blocks is of type text). + # Corresponds to the JSON property `paragraphs` + # @return [Array] + attr_accessor :paragraphs + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @block_type = args[:block_type] if args.key?(:block_type) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @paragraphs = args[:paragraphs] if args.key?(:paragraphs) + @property = args[:property] if args.key?(:property) + end + end + + # A bounding polygon for the detected image annotation. + class GoogleCloudVisionV1p6beta1BoundingPoly + include Google::Apis::Core::Hashable + + # The bounding polygon normalized vertices. + # Corresponds to the JSON property `normalizedVertices` + # @return [Array] + attr_accessor :normalized_vertices + + # The bounding polygon vertices. + # Corresponds to the JSON property `vertices` + # @return [Array] + 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 + + # Color information consists of RGB channels, score, and the fraction of + # the image that the color occupies in the image. + class GoogleCloudVisionV1p6beta1ColorInfo + 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. + # 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::VisionV1::Color] + attr_accessor :color + + # The fraction of pixels the color occupies in the image. + # Value in range [0, 1]. + # Corresponds to the JSON property `pixelFraction` + # @return [Float] + attr_accessor :pixel_fraction + + # Image-specific score for this color. Value in range [0, 1]. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @color = args[:color] if args.key?(:color) + @pixel_fraction = args[:pixel_fraction] if args.key?(:pixel_fraction) + @score = args[:score] if args.key?(:score) + end + end + + # Single crop hint that is used to generate a new crop when serving an image. + class GoogleCloudVisionV1p6beta1CropHint + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # Confidence of this being a salient region. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Fraction of importance of this salient region with respect to the original + # image. + # Corresponds to the JSON property `importanceFraction` + # @return [Float] + attr_accessor :importance_fraction + + 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) + @importance_fraction = args[:importance_fraction] if args.key?(:importance_fraction) + end + end + + # Set of crop hints that are used to generate new crops when serving images. + class GoogleCloudVisionV1p6beta1CropHintsAnnotation + include Google::Apis::Core::Hashable + + # Crop hint results. + # Corresponds to the JSON property `cropHints` + # @return [Array] + attr_accessor :crop_hints + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @crop_hints = args[:crop_hints] if args.key?(:crop_hints) + end + end + + # Set of dominant colors and their corresponding scores. + class GoogleCloudVisionV1p6beta1DominantColorsAnnotation + include Google::Apis::Core::Hashable + + # RGB color values with their score and pixel fraction. + # Corresponds to the JSON property `colors` + # @return [Array] + attr_accessor :colors + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @colors = args[:colors] if args.key?(:colors) + end + end + + # Set of detected entity features. + class GoogleCloudVisionV1p6beta1EntityAnnotation + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # **Deprecated. Use `score` instead.** + # The accuracy of the entity detection in an image. + # For example, for an image in which the "Eiffel Tower" entity is detected, + # this field represents the confidence that there is a tower in the query + # image. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Entity textual description, expressed in its `locale` language. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The language code for the locale in which the entity textual + # `description` is expressed. + # Corresponds to the JSON property `locale` + # @return [String] + attr_accessor :locale + + # The location information for the detected entity. Multiple + # `LocationInfo` elements can be present because one location may + # indicate the location of the scene in the image, and another location + # may indicate the location of the place where the image was taken. + # Location information is usually present for landmarks. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # Opaque entity ID. Some IDs may be available in + # [Google Knowledge Graph Search + # API](https://developers.google.com/knowledge-graph/). + # Corresponds to the JSON property `mid` + # @return [String] + attr_accessor :mid + + # Some entities may have optional user-supplied `Property` (name/value) + # fields, such a score or string that qualifies the entity. + # Corresponds to the JSON property `properties` + # @return [Array] + attr_accessor :properties + + # Overall score of the result. Range [0, 1]. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + # The relevancy of the ICA (Image Content Annotation) label to the + # image. For example, the relevancy of "tower" is likely higher to an image + # containing the detected "Eiffel Tower" than to an image containing a + # detected distant towering building, even though the confidence that + # there is a tower in each image may be the same. Range [0, 1]. + # Corresponds to the JSON property `topicality` + # @return [Float] + attr_accessor :topicality + + 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) + @description = args[:description] if args.key?(:description) + @locale = args[:locale] if args.key?(:locale) + @locations = args[:locations] if args.key?(:locations) + @mid = args[:mid] if args.key?(:mid) + @properties = args[:properties] if args.key?(:properties) + @score = args[:score] if args.key?(:score) + @topicality = args[:topicality] if args.key?(:topicality) + end + end + + # A face annotation object contains the results of face detection. + class GoogleCloudVisionV1p6beta1FaceAnnotation + include Google::Apis::Core::Hashable + + # Anger likelihood. + # Corresponds to the JSON property `angerLikelihood` + # @return [String] + attr_accessor :anger_likelihood + + # Blurred likelihood. + # Corresponds to the JSON property `blurredLikelihood` + # @return [String] + attr_accessor :blurred_likelihood + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # Detection confidence. Range [0, 1]. + # Corresponds to the JSON property `detectionConfidence` + # @return [Float] + attr_accessor :detection_confidence + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `fdBoundingPoly` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :fd_bounding_poly + + # Headwear likelihood. + # Corresponds to the JSON property `headwearLikelihood` + # @return [String] + attr_accessor :headwear_likelihood + + # Joy likelihood. + # Corresponds to the JSON property `joyLikelihood` + # @return [String] + attr_accessor :joy_likelihood + + # Face landmarking confidence. Range [0, 1]. + # Corresponds to the JSON property `landmarkingConfidence` + # @return [Float] + attr_accessor :landmarking_confidence + + # Detected face landmarks. + # Corresponds to the JSON property `landmarks` + # @return [Array] + attr_accessor :landmarks + + # Yaw angle, which indicates the leftward/rightward angle that the face is + # pointing relative to the vertical plane perpendicular to the image. Range + # [-180,180]. + # Corresponds to the JSON property `panAngle` + # @return [Float] + attr_accessor :pan_angle + + # Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + # of the face relative to the image vertical about the axis perpendicular to + # the face. Range [-180,180]. + # Corresponds to the JSON property `rollAngle` + # @return [Float] + attr_accessor :roll_angle + + # Sorrow likelihood. + # Corresponds to the JSON property `sorrowLikelihood` + # @return [String] + attr_accessor :sorrow_likelihood + + # Surprise likelihood. + # Corresponds to the JSON property `surpriseLikelihood` + # @return [String] + attr_accessor :surprise_likelihood + + # Pitch angle, which indicates the upwards/downwards angle that the face is + # pointing relative to the image's horizontal plane. Range [-180,180]. + # Corresponds to the JSON property `tiltAngle` + # @return [Float] + attr_accessor :tilt_angle + + # Under-exposed likelihood. + # Corresponds to the JSON property `underExposedLikelihood` + # @return [String] + attr_accessor :under_exposed_likelihood + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @anger_likelihood = args[:anger_likelihood] if args.key?(:anger_likelihood) + @blurred_likelihood = args[:blurred_likelihood] if args.key?(:blurred_likelihood) + @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly) + @detection_confidence = args[:detection_confidence] if args.key?(:detection_confidence) + @fd_bounding_poly = args[:fd_bounding_poly] if args.key?(:fd_bounding_poly) + @headwear_likelihood = args[:headwear_likelihood] if args.key?(:headwear_likelihood) + @joy_likelihood = args[:joy_likelihood] if args.key?(:joy_likelihood) + @landmarking_confidence = args[:landmarking_confidence] if args.key?(:landmarking_confidence) + @landmarks = args[:landmarks] if args.key?(:landmarks) + @pan_angle = args[:pan_angle] if args.key?(:pan_angle) + @roll_angle = args[:roll_angle] if args.key?(:roll_angle) + @sorrow_likelihood = args[:sorrow_likelihood] if args.key?(:sorrow_likelihood) + @surprise_likelihood = args[:surprise_likelihood] if args.key?(:surprise_likelihood) + @tilt_angle = args[:tilt_angle] if args.key?(:tilt_angle) + @under_exposed_likelihood = args[:under_exposed_likelihood] if args.key?(:under_exposed_likelihood) + end + end + + # A face-specific landmark (for example, a face feature). + class GoogleCloudVisionV1p6beta1FaceAnnotationLandmark + include Google::Apis::Core::Hashable + + # A 3D position in the image, used primarily for Face detection landmarks. + # A valid Position must have both x and y coordinates. + # The position coordinates are in the same scale as the original image. + # Corresponds to the JSON property `position` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Position] + attr_accessor :position + + # Face landmark 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) + @position = args[:position] if args.key?(:position) + @type = args[:type] if args.key?(:type) + end + end + + # The Google Cloud Storage location where the output will be written to. + class GoogleCloudVisionV1p6beta1GcsDestination + include Google::Apis::Core::Hashable + + # Google Cloud Storage URI prefix where the results will be stored. Results + # will be in JSON format and preceded by its corresponding input URI prefix. + # This field can either represent a gcs file prefix or gcs directory. In + # either case, the uri should be unique because in order to get all of the + # output files, you will need to do a wildcard gcs search on the uri prefix + # you provide. + # Examples: + # * File Prefix: gs://bucket-name/here/filenameprefix The output files + # will be created in gs://bucket-name/here/ and the names of the + # output files will begin with "filenameprefix". + # * Directory Prefix: gs://bucket-name/some/location/ The output files + # will be created in gs://bucket-name/some/location/ and the names of the + # output files could be anything because there was no filename prefix + # specified. + # If multiple outputs, each response is still AnnotateFileResponse, each of + # which contains some subset of the full list of AnnotateImageResponse. + # Multiple outputs can happen if, for example, the output JSON is too large + # and overflows into multiple sharded files. + # 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 will be read from. + class GoogleCloudVisionV1p6beta1GcsSource + include Google::Apis::Core::Hashable + + # Google Cloud Storage URI for the input file. This must only be a + # Google Cloud Storage object. Wildcards are not currently supported. + # 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 + + # If an image was produced from a file (e.g. a PDF), this message gives + # information about the source of that image. + class GoogleCloudVisionV1p6beta1ImageAnnotationContext + include Google::Apis::Core::Hashable + + # If the file was a PDF or TIFF, this field gives the page number within + # the file used to produce the image. + # Corresponds to the JSON property `pageNumber` + # @return [Fixnum] + attr_accessor :page_number + + # The URI of the file used to produce the image. + # 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) + @page_number = args[:page_number] if args.key?(:page_number) + @uri = args[:uri] if args.key?(:uri) + end + end + + # Stores image properties, such as dominant colors. + class GoogleCloudVisionV1p6beta1ImageProperties + include Google::Apis::Core::Hashable + + # Set of dominant colors and their corresponding scores. + # Corresponds to the JSON property `dominantColors` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1DominantColorsAnnotation] + attr_accessor :dominant_colors + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dominant_colors = args[:dominant_colors] if args.key?(:dominant_colors) + end + end + + # Stores image quality scores, could be aesthetic quality or technical quality. + class GoogleCloudVisionV1p6beta1ImageQuality + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Response message for the `ImportProductSets` method. + # This message is returned by the + # google.longrunning.Operations.GetOperation method in the returned + # google.longrunning.Operation.response field. + class GoogleCloudVisionV1p6beta1ImportProductSetsResponse + include Google::Apis::Core::Hashable + + # The list of reference_images that are imported successfully. + # Corresponds to the JSON property `referenceImages` + # @return [Array] + attr_accessor :reference_images + + # The rpc status for each ImportProductSet request, including both successes + # and errors. + # The number of statuses here matches the number of lines in the csv file, + # and statuses[i] stores the success or failure status of processing the i-th + # line of the csv, starting from line 0. + # Corresponds to the JSON property `statuses` + # @return [Array] + attr_accessor :statuses + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @reference_images = args[:reference_images] if args.key?(:reference_images) + @statuses = args[:statuses] if args.key?(:statuses) + end + end + + # The desired input location and metadata. + class GoogleCloudVisionV1p6beta1InputConfig + include Google::Apis::Core::Hashable + + # File content, represented as a stream of bytes. + # Note: As with all `bytes` fields, protobuffers use a pure binary + # representation, whereas JSON representations use base64. + # Currently, this field only works for BatchAnnotateFiles requests. It does + # not work for AsyncBatchAnnotateFiles requests. + # Corresponds to the JSON property `content` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :content + + # The Google Cloud Storage location where the input will be read from. + # Corresponds to the JSON property `gcsSource` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1GcsSource] + attr_accessor :gcs_source + + # The type of the file. Currently only "application/pdf", "image/tiff" and + # "image/gif" are supported. Wildcards are not supported. + # 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) + @content = args[:content] if args.key?(:content) + @gcs_source = args[:gcs_source] if args.key?(:gcs_source) + @mime_type = args[:mime_type] if args.key?(:mime_type) + end + end + + # Set of detected objects with bounding boxes. + class GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # 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 + + # Object ID that should align with EntityAnnotation mid. + # Corresponds to the JSON property `mid` + # @return [String] + attr_accessor :mid + + # Object name, expressed in its `language_code` language. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Score of the result. Range [0, 1]. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly) + @language_code = args[:language_code] if args.key?(:language_code) + @mid = args[:mid] if args.key?(:mid) + @name = args[:name] if args.key?(:name) + @score = args[:score] if args.key?(:score) + end + end + + # Detected entity location information. + class GoogleCloudVisionV1p6beta1LocationInfo + include Google::Apis::Core::Hashable + + # An object representing a latitude/longitude pair. This is expressed as a pair + # of doubles representing degrees latitude and degrees longitude. Unless + # specified otherwise, this must conform to the + # WGS84 + # standard. Values must be within normalized ranges. + # Corresponds to the JSON property `latLng` + # @return [Google::Apis::VisionV1::LatLng] + attr_accessor :lat_lng + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @lat_lng = args[:lat_lng] if args.key?(:lat_lng) + 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 GoogleCloudVisionV1p6beta1NormalizedVertex + 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 BatchAnnotateImages operation. + class GoogleCloudVisionV1p6beta1OperationMetadata + include Google::Apis::Core::Hashable + + # The time when the batch request was received. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Current state of the batch operation. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # The time when the operation result was last updated. + # 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) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # The desired output location and metadata. + class GoogleCloudVisionV1p6beta1OutputConfig + include Google::Apis::Core::Hashable + + # The max number of response protos to put into each output JSON file 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 response protos will + # be generated. If `batch_size` = 20, then 5 json files each + # containing 20 response protos will be written under the prefix + # `gcs_destination`.`uri`. + # Currently, batch_size only applies to GcsDestination, with potential future + # support for other output configurations. + # Corresponds to the JSON property `batchSize` + # @return [Fixnum] + attr_accessor :batch_size + + # The Google Cloud Storage location where the output will be written to. + # Corresponds to the JSON property `gcsDestination` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1GcsDestination] + attr_accessor :gcs_destination + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @batch_size = args[:batch_size] if args.key?(:batch_size) + @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination) + end + end + + # Detected page from OCR. + class GoogleCloudVisionV1p6beta1Page + include Google::Apis::Core::Hashable + + # List of blocks of text, images etc on this page. + # Corresponds to the JSON property `blocks` + # @return [Array] + attr_accessor :blocks + + # Confidence of the OCR results on the page. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Page height. For PDFs the unit is points. For images (including + # TIFFs) the unit is pixels. + # Corresponds to the JSON property `height` + # @return [Fixnum] + attr_accessor :height + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # Page width. For PDFs the unit is points. For images (including + # TIFFs) the unit is pixels. + # Corresponds to the JSON property `width` + # @return [Fixnum] + attr_accessor :width + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @blocks = args[:blocks] if args.key?(:blocks) + @confidence = args[:confidence] if args.key?(:confidence) + @height = args[:height] if args.key?(:height) + @property = args[:property] if args.key?(:property) + @width = args[:width] if args.key?(:width) + end + end + + # Structural unit of text representing a number of words in certain order. + class GoogleCloudVisionV1p6beta1Paragraph + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results for the paragraph. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # List of words in this paragraph. + # Corresponds to the JSON property `words` + # @return [Array] + attr_accessor :words + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @property = args[:property] if args.key?(:property) + @words = args[:words] if args.key?(:words) + end + end + + # A 3D position in the image, used primarily for Face detection landmarks. + # A valid Position must have both x and y coordinates. + # The position coordinates are in the same scale as the original image. + class GoogleCloudVisionV1p6beta1Position + 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 + + # Z coordinate (or depth). + # Corresponds to the JSON property `z` + # @return [Float] + attr_accessor :z + + 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) + @z = args[:z] if args.key?(:z) + end + end + + # A Product contains ReferenceImages. + class GoogleCloudVisionV1p6beta1Product + include Google::Apis::Core::Hashable + + # User-provided metadata to be stored with this product. Must be at most 4096 + # characters long. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The user-provided name for this Product. Must not be empty. Must be at most + # 4096 characters long. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # The resource name of the product. + # Format is: + # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + # This field is ignored when creating a product. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The category for the product identified by the reference image. This should + # be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories + # "homegoods", "apparel", and "toys" are still supported, but these should + # not be used for new products. + # This field is immutable. + # Corresponds to the JSON property `productCategory` + # @return [String] + attr_accessor :product_category + + # Key-value pairs that can be attached to a product. At query time, + # constraints can be specified based on the product_labels. + # Note that integer values can be provided as strings, e.g. "1199". Only + # strings with integer values can match a range-based restriction which is + # to be supported soon. + # Multiple values can be assigned to the same key. One product may have up to + # 100 product_labels. + # Corresponds to the JSON property `productLabels` + # @return [Array] + attr_accessor :product_labels + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @display_name = args[:display_name] if args.key?(:display_name) + @name = args[:name] if args.key?(:name) + @product_category = args[:product_category] if args.key?(:product_category) + @product_labels = args[:product_labels] if args.key?(:product_labels) + end + end + + # A product label represented as a key-value pair. + class GoogleCloudVisionV1p6beta1ProductKeyValue + include Google::Apis::Core::Hashable + + # The key of the label attached to the product. Cannot be empty and cannot + # exceed 128 bytes. + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # The value of the label attached to the product. Cannot be empty and + # cannot exceed 128 bytes. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] if args.key?(:key) + @value = args[:value] if args.key?(:value) + end + end + + # Results for a product search request. + class GoogleCloudVisionV1p6beta1ProductSearchResults + include Google::Apis::Core::Hashable + + # Timestamp of the index which provided these results. Products added to the + # product set and products removed from the product set after this time are + # not reflected in the current results. + # Corresponds to the JSON property `indexTime` + # @return [String] + attr_accessor :index_time + + # List of results grouped by products detected in the query image. Each entry + # corresponds to one bounding polygon in the query image, and contains the + # matching products specific to that region. There may be duplicate product + # matches in the union of all the per-product results. + # Corresponds to the JSON property `productGroupedResults` + # @return [Array] + attr_accessor :product_grouped_results + + # List of results, one for each product match. + # Corresponds to the JSON property `results` + # @return [Array] + attr_accessor :results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @index_time = args[:index_time] if args.key?(:index_time) + @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results) + @results = args[:results] if args.key?(:results) + end + end + + # Information about the products similar to a single product in a query + # image. + class GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # List of results, one for each product match. + # Corresponds to the JSON property `results` + # @return [Array] + attr_accessor :results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly) + @results = args[:results] if args.key?(:results) + end + end + + # Information about a product. + class GoogleCloudVisionV1p6beta1ProductSearchResultsResult + include Google::Apis::Core::Hashable + + # The resource name of the image from the product that is the closest match + # to the query. + # Corresponds to the JSON property `image` + # @return [String] + attr_accessor :image + + # A Product contains ReferenceImages. + # Corresponds to the JSON property `product` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Product] + attr_accessor :product + + # A confidence level on the match, ranging from 0 (no confidence) to + # 1 (full confidence). + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @image = args[:image] if args.key?(:image) + @product = args[:product] if args.key?(:product) + @score = args[:score] if args.key?(:score) + end + end + + # A `Property` consists of a user-supplied name/value pair. + class GoogleCloudVisionV1p6beta1Property + include Google::Apis::Core::Hashable + + # Value in range [0..1]. Confidence of this property value. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Opaque property value ID. Some IDs may be available in + # [Google Knowledge Graph Search + # API](https://developers.google.com/knowledge-graph/). + # An example property for a blue coat would be: + # Property ` + # name: 'color' + # value: 'blue' + # mid: '/m/01g5v' // For color blue + # ` + # Corresponds to the JSON property `mid` + # @return [String] + attr_accessor :mid + + # Name of the property. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Value of numeric properties. + # Corresponds to the JSON property `uint64Value` + # @return [Fixnum] + attr_accessor :uint64_value + + # Value of the property. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @confidence = args[:confidence] if args.key?(:confidence) + @mid = args[:mid] if args.key?(:mid) + @name = args[:name] if args.key?(:name) + @uint64_value = args[:uint64_value] if args.key?(:uint64_value) + @value = args[:value] if args.key?(:value) + end + end + + # Stores enhanced image bytes. + class GoogleCloudVisionV1p6beta1QualityOptimizationResult + include Google::Apis::Core::Hashable + + # Optimized image bytes. + # Corresponds to the JSON property `image` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :image + + # Mime type of the output image. + # Corresponds to the JSON property `mimeType` + # @return [String] + attr_accessor :mime_type + + # Required optimization type. + # Corresponds to the JSON property `qualityOptimizationType` + # @return [String] + attr_accessor :quality_optimization_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @image = args[:image] if args.key?(:image) + @mime_type = args[:mime_type] if args.key?(:mime_type) + @quality_optimization_type = args[:quality_optimization_type] if args.key?(:quality_optimization_type) + end + end + + # A `ReferenceImage` represents a product image and its associated metadata, + # such as bounding boxes. + class GoogleCloudVisionV1p6beta1ReferenceImage + include Google::Apis::Core::Hashable + + # Bounding polygons around the areas of interest in the reference image. + # Optional. If this field is empty, the system will try to detect regions of + # interest. At most 10 bounding polygons will be used. + # The provided shape is converted into a non-rotated rectangle. Once + # converted, the small edge of the rectangle must be greater than or equal + # to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 + # is not). + # Corresponds to the JSON property `boundingPolys` + # @return [Array] + attr_accessor :bounding_polys + + # The resource name of the reference image. + # Format is: + # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/ + # IMAGE_ID`. + # This field is ignored when creating a reference image. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The Google Cloud Storage URI of the reference image. + # The URI must start with `gs://`. + # Required. + # 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) + @bounding_polys = args[:bounding_polys] if args.key?(:bounding_polys) + @name = args[:name] if args.key?(:name) + @uri = args[:uri] if args.key?(:uri) + end + end + + # Set of features pertaining to the image, computed by computer vision + # methods over safe-search verticals (for example, adult, spoof, medical, + # violence). + class GoogleCloudVisionV1p6beta1SafeSearchAnnotation + include Google::Apis::Core::Hashable + + # Represents the adult content likelihood for the image. Adult content may + # contain elements such as nudity, pornographic images or cartoons, or + # sexual activities. + # Corresponds to the JSON property `adult` + # @return [String] + attr_accessor :adult + + # Likelihood that this is a medical image. + # Corresponds to the JSON property `medical` + # @return [String] + attr_accessor :medical + + # Likelihood that the request image contains racy content. Racy content may + # include (but is not limited to) skimpy or sheer clothing, strategically + # covered nudity, lewd or provocative poses, or close-ups of sensitive + # body areas. + # Corresponds to the JSON property `racy` + # @return [String] + attr_accessor :racy + + # Spoof likelihood. The likelihood that an modification + # was made to the image's canonical version to make it appear + # funny or offensive. + # Corresponds to the JSON property `spoof` + # @return [String] + attr_accessor :spoof + + # Likelihood that this image contains violent content. + # Corresponds to the JSON property `violence` + # @return [String] + attr_accessor :violence + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @adult = args[:adult] if args.key?(:adult) + @medical = args[:medical] if args.key?(:medical) + @racy = args[:racy] if args.key?(:racy) + @spoof = args[:spoof] if args.key?(:spoof) + @violence = args[:violence] if args.key?(:violence) + end + end + + # A single symbol representation. + class GoogleCloudVisionV1p6beta1Symbol + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results for the symbol. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # The actual UTF-8 representation of the symbol. + # Corresponds to the JSON property `text` + # @return [String] + attr_accessor :text + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @property = args[:property] if args.key?(:property) + @text = args[:text] if args.key?(:text) + end + end + + # TextAnnotation contains a structured representation of OCR extracted text. + # The hierarchy of an OCR extracted text structure is like this: + # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + # Each structural component, starting from Page, may further have their own + # properties. Properties describe detected languages, breaks etc.. Please refer + # to the TextAnnotation.TextProperty message definition below for more + # detail. + class GoogleCloudVisionV1p6beta1TextAnnotation + include Google::Apis::Core::Hashable + + # List of pages detected by OCR. + # Corresponds to the JSON property `pages` + # @return [Array] + attr_accessor :pages + + # UTF-8 text detected on the pages. + # Corresponds to the JSON property `text` + # @return [String] + attr_accessor :text + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @pages = args[:pages] if args.key?(:pages) + @text = args[:text] if args.key?(:text) + end + end + + # Detected start or end of a structural component. + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak + include Google::Apis::Core::Hashable + + # True if break prepends the element. + # Corresponds to the JSON property `isPrefix` + # @return [Boolean] + attr_accessor :is_prefix + alias_method :is_prefix?, :is_prefix + + # 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) + @is_prefix = args[:is_prefix] if args.key?(:is_prefix) + @type = args[:type] if args.key?(:type) + end + end + + # Detected language for a structural component. + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage + 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 + + # Additional information detected on the structural component. + class GoogleCloudVisionV1p6beta1TextAnnotationTextProperty + include Google::Apis::Core::Hashable + + # Detected start or end of a structural component. + # Corresponds to the JSON property `detectedBreak` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak] + attr_accessor :detected_break + + # A list of detected languages together with confidence. + # Corresponds to the JSON property `detectedLanguages` + # @return [Array] + attr_accessor :detected_languages + + 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) + 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 GoogleCloudVisionV1p6beta1Vertex + 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 + + # Relevant information for the image from the Internet. + class GoogleCloudVisionV1p6beta1WebDetection + include Google::Apis::Core::Hashable + + # The service's best guess as to the topic of the request image. + # Inferred from similar images on the open web. + # Corresponds to the JSON property `bestGuessLabels` + # @return [Array] + attr_accessor :best_guess_labels + + # Fully matching images from the Internet. + # Can include resized copies of the query image. + # Corresponds to the JSON property `fullMatchingImages` + # @return [Array] + attr_accessor :full_matching_images + + # Web pages containing the matching images from the Internet. + # Corresponds to the JSON property `pagesWithMatchingImages` + # @return [Array] + attr_accessor :pages_with_matching_images + + # Partial matching images from the Internet. + # Those images are similar enough to share some key-point features. For + # example an original image will likely have partial matching for its crops. + # Corresponds to the JSON property `partialMatchingImages` + # @return [Array] + attr_accessor :partial_matching_images + + # The visually similar image results. + # Corresponds to the JSON property `visuallySimilarImages` + # @return [Array] + attr_accessor :visually_similar_images + + # Deduced entities from similar images on the Internet. + # Corresponds to the JSON property `webEntities` + # @return [Array] + attr_accessor :web_entities + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @best_guess_labels = args[:best_guess_labels] if args.key?(:best_guess_labels) + @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images) + @pages_with_matching_images = args[:pages_with_matching_images] if args.key?(:pages_with_matching_images) + @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images) + @visually_similar_images = args[:visually_similar_images] if args.key?(:visually_similar_images) + @web_entities = args[:web_entities] if args.key?(:web_entities) + end + end + + # Entity deduced from similar images on the Internet. + class GoogleCloudVisionV1p6beta1WebDetectionWebEntity + include Google::Apis::Core::Hashable + + # Canonical description of the entity, in English. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Opaque entity ID. + # Corresponds to the JSON property `entityId` + # @return [String] + attr_accessor :entity_id + + # Overall relevancy score for the entity. + # Not normalized and not comparable across different image queries. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @entity_id = args[:entity_id] if args.key?(:entity_id) + @score = args[:score] if args.key?(:score) + end + end + + # Metadata for online images. + class GoogleCloudVisionV1p6beta1WebDetectionWebImage + include Google::Apis::Core::Hashable + + # (Deprecated) Overall relevancy score for the image. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + # The result image URL. + # Corresponds to the JSON property `url` + # @return [String] + attr_accessor :url + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @score = args[:score] if args.key?(:score) + @url = args[:url] if args.key?(:url) + end + end + + # Label to provide extra metadata for the web detection. + class GoogleCloudVisionV1p6beta1WebDetectionWebLabel + include Google::Apis::Core::Hashable + + # Label for extra metadata. + # Corresponds to the JSON property `label` + # @return [String] + attr_accessor :label + + # The BCP-47 language code for `label`, 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) + @label = args[:label] if args.key?(:label) + @language_code = args[:language_code] if args.key?(:language_code) + end + end + + # Metadata for web pages. + class GoogleCloudVisionV1p6beta1WebDetectionWebPage + include Google::Apis::Core::Hashable + + # Fully matching images on the page. + # Can include resized copies of the query image. + # Corresponds to the JSON property `fullMatchingImages` + # @return [Array] + attr_accessor :full_matching_images + + # Title for the web page, may contain HTML markups. + # Corresponds to the JSON property `pageTitle` + # @return [String] + attr_accessor :page_title + + # Partial matching images on the page. + # Those images are similar enough to share some key-point features. For + # example an original image will likely have partial matching for its + # crops. + # Corresponds to the JSON property `partialMatchingImages` + # @return [Array] + attr_accessor :partial_matching_images + + # (Deprecated) Overall relevancy score for the web page. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + # The result web page URL. + # Corresponds to the JSON property `url` + # @return [String] + attr_accessor :url + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images) + @page_title = args[:page_title] if args.key?(:page_title) + @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images) + @score = args[:score] if args.key?(:score) + @url = args[:url] if args.key?(:url) + end + end + + # A word representation. + class GoogleCloudVisionV1p6beta1Word + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results for the word. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # List of symbols in the word. + # The order of the symbols follows the natural reading order. + # Corresponds to the JSON property `symbols` + # @return [Array] + attr_accessor :symbols + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @property = args[:property] if args.key?(:property) + @symbols = args[:symbols] if args.key?(:symbols) + end + end + # Information about the products similar to a single product in a query # image. class GroupedResult diff --git a/generated/google/apis/vision_v1/representations.rb b/generated/google/apis/vision_v1/representations.rb index 7008c9970..1d8979ba8 100644 --- a/generated/google/apis/vision_v1/representations.rb +++ b/generated/google/apis/vision_v1/representations.rb @@ -1672,6 +1672,318 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class GoogleCloudVisionV1p6beta1AnnotateFileResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AnnotateImageResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateFilesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateImagesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1BatchAnnotateFilesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1BatchOperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Block + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1BoundingPoly + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ColorInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1CropHint + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1CropHintsAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1DominantColorsAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1EntityAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1FaceAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1FaceAnnotationLandmark + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1GcsDestination + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1GcsSource + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImageAnnotationContext + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImageProperties + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImageQuality + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImportProductSetsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1InputConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1LocationInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1NormalizedVertex + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1OperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1OutputConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Page + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Paragraph + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Position + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Product + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductKeyValue + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductSearchResults + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Property + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1QualityOptimizationResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ReferenceImage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1SafeSearchAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Symbol + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotationTextProperty + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Vertex + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetection + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebEntity + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebImage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebLabel + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebPage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Word + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class GroupedResult class Representation < Google::Apis::Core::JsonRepresentation; end @@ -4925,6 +5237,562 @@ module Google end end + class GoogleCloudVisionV1p6beta1AnnotateFileResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :input_config, as: 'inputConfig', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1InputConfig, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1InputConfig::Representation + + collection :responses, as: 'responses', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1AnnotateImageResponse, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1AnnotateImageResponse::Representation + + property :total_pages, as: 'totalPages' + end + end + + class GoogleCloudVisionV1p6beta1AnnotateImageResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :context, as: 'context', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ImageAnnotationContext, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ImageAnnotationContext::Representation + + property :crop_hints_annotation, as: 'cropHintsAnnotation', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1CropHintsAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1CropHintsAnnotation::Representation + + property :error, as: 'error', class: Google::Apis::VisionV1::Status, decorator: Google::Apis::VisionV1::Status::Representation + + collection :face_annotations, as: 'faceAnnotations', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1FaceAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1FaceAnnotation::Representation + + property :full_text_annotation, as: 'fullTextAnnotation', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotation::Representation + + property :image_properties_annotation, as: 'imagePropertiesAnnotation', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ImageProperties, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ImageProperties::Representation + + property :image_quality_annotation, as: 'imageQualityAnnotation', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ImageQuality, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ImageQuality::Representation + + collection :label_annotations, as: 'labelAnnotations', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + collection :landmark_annotations, as: 'landmarkAnnotations', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + collection :localized_object_annotations, as: 'localizedObjectAnnotations', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation::Representation + + collection :logo_annotations, as: 'logoAnnotations', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + collection :object_attribute_annotations, as: 'objectAttributeAnnotations', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + property :product_search_results, as: 'productSearchResults', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductSearchResults, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductSearchResults::Representation + + property :quality_optimization_result, as: 'qualityOptimizationResult', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1QualityOptimizationResult, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1QualityOptimizationResult::Representation + + property :safe_search_annotation, as: 'safeSearchAnnotation', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1SafeSearchAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1SafeSearchAnnotation::Representation + + collection :text_annotations, as: 'textAnnotations', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + property :web_detection, as: 'webDetection', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetection, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetection::Representation + + end + end + + class GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :output_config, as: 'outputConfig', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1OutputConfig, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1OutputConfig::Representation + + end + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateFilesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :responses, as: 'responses', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse::Representation + + end + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateImagesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :output_config, as: 'outputConfig', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1OutputConfig, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1OutputConfig::Representation + + end + end + + class GoogleCloudVisionV1p6beta1BatchAnnotateFilesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :responses, as: 'responses', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1AnnotateFileResponse, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1AnnotateFileResponse::Representation + + end + end + + class GoogleCloudVisionV1p6beta1BatchOperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :end_time, as: 'endTime' + property :state, as: 'state' + property :submit_time, as: 'submitTime' + end + end + + class GoogleCloudVisionV1p6beta1Block + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :block_type, as: 'blockType' + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + collection :paragraphs, as: 'paragraphs', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Paragraph, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Paragraph::Representation + + property :property, as: 'property', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + end + end + + class GoogleCloudVisionV1p6beta1BoundingPoly + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :normalized_vertices, as: 'normalizedVertices', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1NormalizedVertex, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1NormalizedVertex::Representation + + collection :vertices, as: 'vertices', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Vertex, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Vertex::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ColorInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :color, as: 'color', class: Google::Apis::VisionV1::Color, decorator: Google::Apis::VisionV1::Color::Representation + + property :pixel_fraction, as: 'pixelFraction' + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1CropHint + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :importance_fraction, as: 'importanceFraction' + end + end + + class GoogleCloudVisionV1p6beta1CropHintsAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :crop_hints, as: 'cropHints', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1CropHint, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1CropHint::Representation + + end + end + + class GoogleCloudVisionV1p6beta1DominantColorsAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :colors, as: 'colors', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ColorInfo, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ColorInfo::Representation + + end + end + + class GoogleCloudVisionV1p6beta1EntityAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :description, as: 'description' + property :locale, as: 'locale' + collection :locations, as: 'locations', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1LocationInfo, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1LocationInfo::Representation + + property :mid, as: 'mid' + collection :properties, as: 'properties', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Property, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Property::Representation + + property :score, as: 'score' + property :topicality, as: 'topicality' + end + end + + class GoogleCloudVisionV1p6beta1FaceAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :anger_likelihood, as: 'angerLikelihood' + property :blurred_likelihood, as: 'blurredLikelihood' + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :detection_confidence, as: 'detectionConfidence' + property :fd_bounding_poly, as: 'fdBoundingPoly', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :headwear_likelihood, as: 'headwearLikelihood' + property :joy_likelihood, as: 'joyLikelihood' + property :landmarking_confidence, as: 'landmarkingConfidence' + collection :landmarks, as: 'landmarks', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1FaceAnnotationLandmark, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1FaceAnnotationLandmark::Representation + + property :pan_angle, as: 'panAngle' + property :roll_angle, as: 'rollAngle' + property :sorrow_likelihood, as: 'sorrowLikelihood' + property :surprise_likelihood, as: 'surpriseLikelihood' + property :tilt_angle, as: 'tiltAngle' + property :under_exposed_likelihood, as: 'underExposedLikelihood' + end + end + + class GoogleCloudVisionV1p6beta1FaceAnnotationLandmark + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :position, as: 'position', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Position, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Position::Representation + + property :type, as: 'type' + end + end + + class GoogleCloudVisionV1p6beta1GcsDestination + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1GcsSource + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1ImageAnnotationContext + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :page_number, as: 'pageNumber' + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1ImageProperties + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :dominant_colors, as: 'dominantColors', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1DominantColorsAnnotation, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1DominantColorsAnnotation::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ImageQuality + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class GoogleCloudVisionV1p6beta1ImportProductSetsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :reference_images, as: 'referenceImages', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ReferenceImage, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ReferenceImage::Representation + + collection :statuses, as: 'statuses', class: Google::Apis::VisionV1::Status, decorator: Google::Apis::VisionV1::Status::Representation + + end + end + + class GoogleCloudVisionV1p6beta1InputConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :content, :base64 => true, as: 'content' + property :gcs_source, as: 'gcsSource', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1GcsSource, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1GcsSource::Representation + + property :mime_type, as: 'mimeType' + end + end + + class GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :language_code, as: 'languageCode' + property :mid, as: 'mid' + property :name, as: 'name' + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1LocationInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :lat_lng, as: 'latLng', class: Google::Apis::VisionV1::LatLng, decorator: Google::Apis::VisionV1::LatLng::Representation + + end + end + + class GoogleCloudVisionV1p6beta1NormalizedVertex + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :x, as: 'x' + property :y, as: 'y' + end + end + + class GoogleCloudVisionV1p6beta1OperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :state, as: 'state' + property :update_time, as: 'updateTime' + end + end + + class GoogleCloudVisionV1p6beta1OutputConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :batch_size, as: 'batchSize' + property :gcs_destination, as: 'gcsDestination', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1GcsDestination, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1GcsDestination::Representation + + end + end + + class GoogleCloudVisionV1p6beta1Page + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :blocks, as: 'blocks', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Block, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Block::Representation + + property :confidence, as: 'confidence' + property :height, as: 'height' + property :property, as: 'property', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + property :width, as: 'width' + end + end + + class GoogleCloudVisionV1p6beta1Paragraph + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :property, as: 'property', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + collection :words, as: 'words', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Word, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Word::Representation + + end + end + + class GoogleCloudVisionV1p6beta1Position + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :x, as: 'x' + property :y, as: 'y' + property :z, as: 'z' + end + end + + class GoogleCloudVisionV1p6beta1Product + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :display_name, as: 'displayName' + property :name, as: 'name' + property :product_category, as: 'productCategory' + collection :product_labels, as: 'productLabels', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductKeyValue, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductKeyValue::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ProductKeyValue + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + + class GoogleCloudVisionV1p6beta1ProductSearchResults + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :index_time, as: 'indexTime' + collection :product_grouped_results, as: 'productGroupedResults', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult::Representation + + collection :results, as: 'results', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + collection :results, as: 'results', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :image, as: 'image' + property :product, as: 'product', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Product, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Product::Representation + + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1Property + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :confidence, as: 'confidence' + property :mid, as: 'mid' + property :name, as: 'name' + property :uint64_value, :numeric_string => true, as: 'uint64Value' + property :value, as: 'value' + end + end + + class GoogleCloudVisionV1p6beta1QualityOptimizationResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :image, :base64 => true, as: 'image' + property :mime_type, as: 'mimeType' + property :quality_optimization_type, as: 'qualityOptimizationType' + end + end + + class GoogleCloudVisionV1p6beta1ReferenceImage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bounding_polys, as: 'boundingPolys', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :name, as: 'name' + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1SafeSearchAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :adult, as: 'adult' + property :medical, as: 'medical' + property :racy, as: 'racy' + property :spoof, as: 'spoof' + property :violence, as: 'violence' + end + end + + class GoogleCloudVisionV1p6beta1Symbol + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :property, as: 'property', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + property :text, as: 'text' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :pages, as: 'pages', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Page, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Page::Representation + + property :text, as: 'text' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :is_prefix, as: 'isPrefix' + property :type, as: 'type' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :confidence, as: 'confidence' + property :language_code, as: 'languageCode' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotationTextProperty + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :detected_break, as: 'detectedBreak', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak::Representation + + collection :detected_languages, as: 'detectedLanguages', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage::Representation + + end + end + + class GoogleCloudVisionV1p6beta1Vertex + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :x, as: 'x' + property :y, as: 'y' + end + end + + class GoogleCloudVisionV1p6beta1WebDetection + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :best_guess_labels, as: 'bestGuessLabels', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebLabel, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebLabel::Representation + + collection :full_matching_images, as: 'fullMatchingImages', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + collection :pages_with_matching_images, as: 'pagesWithMatchingImages', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebPage, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebPage::Representation + + collection :partial_matching_images, as: 'partialMatchingImages', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + collection :visually_similar_images, as: 'visuallySimilarImages', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + collection :web_entities, as: 'webEntities', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebEntity, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebEntity::Representation + + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebEntity + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :entity_id, as: 'entityId' + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebImage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :score, as: 'score' + property :url, as: 'url' + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebLabel + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :label, as: 'label' + property :language_code, as: 'languageCode' + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebPage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :full_matching_images, as: 'fullMatchingImages', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + property :page_title, as: 'pageTitle' + collection :partial_matching_images, as: 'partialMatchingImages', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + property :score, as: 'score' + property :url, as: 'url' + end + end + + class GoogleCloudVisionV1p6beta1Word + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :property, as: 'property', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + collection :symbols, as: 'symbols', class: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Symbol, decorator: Google::Apis::VisionV1::GoogleCloudVisionV1p6beta1Symbol::Representation + + end + end + class GroupedResult # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/vision_v1p1beta1.rb b/generated/google/apis/vision_v1p1beta1.rb index 17a1bf55e..cda0304fa 100644 --- a/generated/google/apis/vision_v1p1beta1.rb +++ b/generated/google/apis/vision_v1p1beta1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/vision/ module VisionV1p1beta1 VERSION = 'V1p1beta1' - REVISION = '20190531' + REVISION = '20190704' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/vision_v1p1beta1/classes.rb b/generated/google/apis/vision_v1p1beta1/classes.rb index 0f5efe824..ac6c5ceaf 100644 --- a/generated/google/apis/vision_v1p1beta1/classes.rb +++ b/generated/google/apis/vision_v1p1beta1/classes.rb @@ -10825,6 +10825,2001 @@ module Google end end + # Response to a single file annotation request. A file may contain one or more + # images, which individually have their own responses. + class GoogleCloudVisionV1p6beta1AnnotateFileResponse + include Google::Apis::Core::Hashable + + # The desired input location and metadata. + # Corresponds to the JSON property `inputConfig` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1InputConfig] + attr_accessor :input_config + + # Individual responses to images found within the file. + # Corresponds to the JSON property `responses` + # @return [Array] + attr_accessor :responses + + # This field gives the total number of pages in the file. + # Corresponds to the JSON property `totalPages` + # @return [Fixnum] + attr_accessor :total_pages + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @input_config = args[:input_config] if args.key?(:input_config) + @responses = args[:responses] if args.key?(:responses) + @total_pages = args[:total_pages] if args.key?(:total_pages) + end + end + + # Response to an image annotation request. + class GoogleCloudVisionV1p6beta1AnnotateImageResponse + include Google::Apis::Core::Hashable + + # If an image was produced from a file (e.g. a PDF), this message gives + # information about the source of that image. + # Corresponds to the JSON property `context` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ImageAnnotationContext] + attr_accessor :context + + # Set of crop hints that are used to generate new crops when serving images. + # Corresponds to the JSON property `cropHintsAnnotation` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1CropHintsAnnotation] + attr_accessor :crop_hints_annotation + + # 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::VisionV1p1beta1::Status] + attr_accessor :error + + # If present, face detection has completed successfully. + # Corresponds to the JSON property `faceAnnotations` + # @return [Array] + attr_accessor :face_annotations + + # TextAnnotation contains a structured representation of OCR extracted text. + # The hierarchy of an OCR extracted text structure is like this: + # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + # Each structural component, starting from Page, may further have their own + # properties. Properties describe detected languages, breaks etc.. Please refer + # to the TextAnnotation.TextProperty message definition below for more + # detail. + # Corresponds to the JSON property `fullTextAnnotation` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotation] + attr_accessor :full_text_annotation + + # Stores image properties, such as dominant colors. + # Corresponds to the JSON property `imagePropertiesAnnotation` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ImageProperties] + attr_accessor :image_properties_annotation + + # Stores image quality scores, could be aesthetic quality or technical quality. + # Corresponds to the JSON property `imageQualityAnnotation` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ImageQuality] + attr_accessor :image_quality_annotation + + # If present, label detection has completed successfully. + # Corresponds to the JSON property `labelAnnotations` + # @return [Array] + attr_accessor :label_annotations + + # If present, landmark detection has completed successfully. + # Corresponds to the JSON property `landmarkAnnotations` + # @return [Array] + attr_accessor :landmark_annotations + + # If present, localized object detection has completed successfully. + # This will be sorted descending by confidence score. + # Corresponds to the JSON property `localizedObjectAnnotations` + # @return [Array] + attr_accessor :localized_object_annotations + + # If present, logo detection has completed successfully. + # Corresponds to the JSON property `logoAnnotations` + # @return [Array] + attr_accessor :logo_annotations + + # If present, objects attributes calculation has completed successfully. The + # attributes value will be filled in the EntityAnnotation.properties. + # Example: + # object_attribute_annotations ` + # properties ` + # name: "color" + # value: "blue" + # confidence: 0.1 + # ` + # properties ` + # name: "color" + # value: "white" + # confidence: 0.2 + # ` + # properties ` + # name: "material" + # value: "silk" + # confidence: 0.3 + # ` + # ` + # Corresponds to the JSON property `objectAttributeAnnotations` + # @return [Array] + attr_accessor :object_attribute_annotations + + # Results for a product search request. + # Corresponds to the JSON property `productSearchResults` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductSearchResults] + attr_accessor :product_search_results + + # Stores enhanced image bytes. + # Corresponds to the JSON property `qualityOptimizationResult` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1QualityOptimizationResult] + attr_accessor :quality_optimization_result + + # Set of features pertaining to the image, computed by computer vision + # methods over safe-search verticals (for example, adult, spoof, medical, + # violence). + # Corresponds to the JSON property `safeSearchAnnotation` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1SafeSearchAnnotation] + attr_accessor :safe_search_annotation + + # If present, text (OCR) detection has completed successfully. + # Corresponds to the JSON property `textAnnotations` + # @return [Array] + attr_accessor :text_annotations + + # Relevant information for the image from the Internet. + # Corresponds to the JSON property `webDetection` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetection] + attr_accessor :web_detection + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @context = args[:context] if args.key?(:context) + @crop_hints_annotation = args[:crop_hints_annotation] if args.key?(:crop_hints_annotation) + @error = args[:error] if args.key?(:error) + @face_annotations = args[:face_annotations] if args.key?(:face_annotations) + @full_text_annotation = args[:full_text_annotation] if args.key?(:full_text_annotation) + @image_properties_annotation = args[:image_properties_annotation] if args.key?(:image_properties_annotation) + @image_quality_annotation = args[:image_quality_annotation] if args.key?(:image_quality_annotation) + @label_annotations = args[:label_annotations] if args.key?(:label_annotations) + @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations) + @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations) + @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations) + @object_attribute_annotations = args[:object_attribute_annotations] if args.key?(:object_attribute_annotations) + @product_search_results = args[:product_search_results] if args.key?(:product_search_results) + @quality_optimization_result = args[:quality_optimization_result] if args.key?(:quality_optimization_result) + @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation) + @text_annotations = args[:text_annotations] if args.key?(:text_annotations) + @web_detection = args[:web_detection] if args.key?(:web_detection) + end + end + + # The response for a single offline file annotation request. + class GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse + include Google::Apis::Core::Hashable + + # The desired output location and metadata. + # Corresponds to the JSON property `outputConfig` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1OutputConfig] + attr_accessor :output_config + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @output_config = args[:output_config] if args.key?(:output_config) + end + end + + # Response to an async batch file annotation request. + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateFilesResponse + include Google::Apis::Core::Hashable + + # The list of file annotation responses, one for each request in + # AsyncBatchAnnotateFilesRequest. + # Corresponds to the JSON property `responses` + # @return [Array] + 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 + + # Response to an async batch image annotation request. + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateImagesResponse + include Google::Apis::Core::Hashable + + # The desired output location and metadata. + # Corresponds to the JSON property `outputConfig` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1OutputConfig] + attr_accessor :output_config + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @output_config = args[:output_config] if args.key?(:output_config) + end + end + + # A list of file annotation responses. + class GoogleCloudVisionV1p6beta1BatchAnnotateFilesResponse + include Google::Apis::Core::Hashable + + # The list of file annotation responses, each response corresponding to each + # AnnotateFileRequest in BatchAnnotateFilesRequest. + # Corresponds to the JSON property `responses` + # @return [Array] + 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 + + # Metadata for the batch operations such as the current state. + # This is included in the `metadata` field of the `Operation` returned by the + # `GetOperation` call of the `google::longrunning::Operations` service. + class GoogleCloudVisionV1p6beta1BatchOperationMetadata + include Google::Apis::Core::Hashable + + # The time when the batch request is finished and + # google.longrunning.Operation.done is set to true. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # The current state of the batch operation. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # The time when the batch request was submitted to the server. + # Corresponds to the JSON property `submitTime` + # @return [String] + attr_accessor :submit_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @end_time = args[:end_time] if args.key?(:end_time) + @state = args[:state] if args.key?(:state) + @submit_time = args[:submit_time] if args.key?(:submit_time) + end + end + + # Logical element on the page. + class GoogleCloudVisionV1p6beta1Block + include Google::Apis::Core::Hashable + + # Detected block type (text, image etc) for this block. + # Corresponds to the JSON property `blockType` + # @return [String] + attr_accessor :block_type + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results on the block. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # List of paragraphs in this block (if this blocks is of type text). + # Corresponds to the JSON property `paragraphs` + # @return [Array] + attr_accessor :paragraphs + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @block_type = args[:block_type] if args.key?(:block_type) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @paragraphs = args[:paragraphs] if args.key?(:paragraphs) + @property = args[:property] if args.key?(:property) + end + end + + # A bounding polygon for the detected image annotation. + class GoogleCloudVisionV1p6beta1BoundingPoly + include Google::Apis::Core::Hashable + + # The bounding polygon normalized vertices. + # Corresponds to the JSON property `normalizedVertices` + # @return [Array] + attr_accessor :normalized_vertices + + # The bounding polygon vertices. + # Corresponds to the JSON property `vertices` + # @return [Array] + 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 + + # Color information consists of RGB channels, score, and the fraction of + # the image that the color occupies in the image. + class GoogleCloudVisionV1p6beta1ColorInfo + 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. + # 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::VisionV1p1beta1::Color] + attr_accessor :color + + # The fraction of pixels the color occupies in the image. + # Value in range [0, 1]. + # Corresponds to the JSON property `pixelFraction` + # @return [Float] + attr_accessor :pixel_fraction + + # Image-specific score for this color. Value in range [0, 1]. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @color = args[:color] if args.key?(:color) + @pixel_fraction = args[:pixel_fraction] if args.key?(:pixel_fraction) + @score = args[:score] if args.key?(:score) + end + end + + # Single crop hint that is used to generate a new crop when serving an image. + class GoogleCloudVisionV1p6beta1CropHint + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # Confidence of this being a salient region. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Fraction of importance of this salient region with respect to the original + # image. + # Corresponds to the JSON property `importanceFraction` + # @return [Float] + attr_accessor :importance_fraction + + 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) + @importance_fraction = args[:importance_fraction] if args.key?(:importance_fraction) + end + end + + # Set of crop hints that are used to generate new crops when serving images. + class GoogleCloudVisionV1p6beta1CropHintsAnnotation + include Google::Apis::Core::Hashable + + # Crop hint results. + # Corresponds to the JSON property `cropHints` + # @return [Array] + attr_accessor :crop_hints + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @crop_hints = args[:crop_hints] if args.key?(:crop_hints) + end + end + + # Set of dominant colors and their corresponding scores. + class GoogleCloudVisionV1p6beta1DominantColorsAnnotation + include Google::Apis::Core::Hashable + + # RGB color values with their score and pixel fraction. + # Corresponds to the JSON property `colors` + # @return [Array] + attr_accessor :colors + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @colors = args[:colors] if args.key?(:colors) + end + end + + # Set of detected entity features. + class GoogleCloudVisionV1p6beta1EntityAnnotation + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # **Deprecated. Use `score` instead.** + # The accuracy of the entity detection in an image. + # For example, for an image in which the "Eiffel Tower" entity is detected, + # this field represents the confidence that there is a tower in the query + # image. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Entity textual description, expressed in its `locale` language. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The language code for the locale in which the entity textual + # `description` is expressed. + # Corresponds to the JSON property `locale` + # @return [String] + attr_accessor :locale + + # The location information for the detected entity. Multiple + # `LocationInfo` elements can be present because one location may + # indicate the location of the scene in the image, and another location + # may indicate the location of the place where the image was taken. + # Location information is usually present for landmarks. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # Opaque entity ID. Some IDs may be available in + # [Google Knowledge Graph Search + # API](https://developers.google.com/knowledge-graph/). + # Corresponds to the JSON property `mid` + # @return [String] + attr_accessor :mid + + # Some entities may have optional user-supplied `Property` (name/value) + # fields, such a score or string that qualifies the entity. + # Corresponds to the JSON property `properties` + # @return [Array] + attr_accessor :properties + + # Overall score of the result. Range [0, 1]. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + # The relevancy of the ICA (Image Content Annotation) label to the + # image. For example, the relevancy of "tower" is likely higher to an image + # containing the detected "Eiffel Tower" than to an image containing a + # detected distant towering building, even though the confidence that + # there is a tower in each image may be the same. Range [0, 1]. + # Corresponds to the JSON property `topicality` + # @return [Float] + attr_accessor :topicality + + 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) + @description = args[:description] if args.key?(:description) + @locale = args[:locale] if args.key?(:locale) + @locations = args[:locations] if args.key?(:locations) + @mid = args[:mid] if args.key?(:mid) + @properties = args[:properties] if args.key?(:properties) + @score = args[:score] if args.key?(:score) + @topicality = args[:topicality] if args.key?(:topicality) + end + end + + # A face annotation object contains the results of face detection. + class GoogleCloudVisionV1p6beta1FaceAnnotation + include Google::Apis::Core::Hashable + + # Anger likelihood. + # Corresponds to the JSON property `angerLikelihood` + # @return [String] + attr_accessor :anger_likelihood + + # Blurred likelihood. + # Corresponds to the JSON property `blurredLikelihood` + # @return [String] + attr_accessor :blurred_likelihood + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # Detection confidence. Range [0, 1]. + # Corresponds to the JSON property `detectionConfidence` + # @return [Float] + attr_accessor :detection_confidence + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `fdBoundingPoly` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :fd_bounding_poly + + # Headwear likelihood. + # Corresponds to the JSON property `headwearLikelihood` + # @return [String] + attr_accessor :headwear_likelihood + + # Joy likelihood. + # Corresponds to the JSON property `joyLikelihood` + # @return [String] + attr_accessor :joy_likelihood + + # Face landmarking confidence. Range [0, 1]. + # Corresponds to the JSON property `landmarkingConfidence` + # @return [Float] + attr_accessor :landmarking_confidence + + # Detected face landmarks. + # Corresponds to the JSON property `landmarks` + # @return [Array] + attr_accessor :landmarks + + # Yaw angle, which indicates the leftward/rightward angle that the face is + # pointing relative to the vertical plane perpendicular to the image. Range + # [-180,180]. + # Corresponds to the JSON property `panAngle` + # @return [Float] + attr_accessor :pan_angle + + # Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + # of the face relative to the image vertical about the axis perpendicular to + # the face. Range [-180,180]. + # Corresponds to the JSON property `rollAngle` + # @return [Float] + attr_accessor :roll_angle + + # Sorrow likelihood. + # Corresponds to the JSON property `sorrowLikelihood` + # @return [String] + attr_accessor :sorrow_likelihood + + # Surprise likelihood. + # Corresponds to the JSON property `surpriseLikelihood` + # @return [String] + attr_accessor :surprise_likelihood + + # Pitch angle, which indicates the upwards/downwards angle that the face is + # pointing relative to the image's horizontal plane. Range [-180,180]. + # Corresponds to the JSON property `tiltAngle` + # @return [Float] + attr_accessor :tilt_angle + + # Under-exposed likelihood. + # Corresponds to the JSON property `underExposedLikelihood` + # @return [String] + attr_accessor :under_exposed_likelihood + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @anger_likelihood = args[:anger_likelihood] if args.key?(:anger_likelihood) + @blurred_likelihood = args[:blurred_likelihood] if args.key?(:blurred_likelihood) + @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly) + @detection_confidence = args[:detection_confidence] if args.key?(:detection_confidence) + @fd_bounding_poly = args[:fd_bounding_poly] if args.key?(:fd_bounding_poly) + @headwear_likelihood = args[:headwear_likelihood] if args.key?(:headwear_likelihood) + @joy_likelihood = args[:joy_likelihood] if args.key?(:joy_likelihood) + @landmarking_confidence = args[:landmarking_confidence] if args.key?(:landmarking_confidence) + @landmarks = args[:landmarks] if args.key?(:landmarks) + @pan_angle = args[:pan_angle] if args.key?(:pan_angle) + @roll_angle = args[:roll_angle] if args.key?(:roll_angle) + @sorrow_likelihood = args[:sorrow_likelihood] if args.key?(:sorrow_likelihood) + @surprise_likelihood = args[:surprise_likelihood] if args.key?(:surprise_likelihood) + @tilt_angle = args[:tilt_angle] if args.key?(:tilt_angle) + @under_exposed_likelihood = args[:under_exposed_likelihood] if args.key?(:under_exposed_likelihood) + end + end + + # A face-specific landmark (for example, a face feature). + class GoogleCloudVisionV1p6beta1FaceAnnotationLandmark + include Google::Apis::Core::Hashable + + # A 3D position in the image, used primarily for Face detection landmarks. + # A valid Position must have both x and y coordinates. + # The position coordinates are in the same scale as the original image. + # Corresponds to the JSON property `position` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Position] + attr_accessor :position + + # Face landmark 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) + @position = args[:position] if args.key?(:position) + @type = args[:type] if args.key?(:type) + end + end + + # The Google Cloud Storage location where the output will be written to. + class GoogleCloudVisionV1p6beta1GcsDestination + include Google::Apis::Core::Hashable + + # Google Cloud Storage URI prefix where the results will be stored. Results + # will be in JSON format and preceded by its corresponding input URI prefix. + # This field can either represent a gcs file prefix or gcs directory. In + # either case, the uri should be unique because in order to get all of the + # output files, you will need to do a wildcard gcs search on the uri prefix + # you provide. + # Examples: + # * File Prefix: gs://bucket-name/here/filenameprefix The output files + # will be created in gs://bucket-name/here/ and the names of the + # output files will begin with "filenameprefix". + # * Directory Prefix: gs://bucket-name/some/location/ The output files + # will be created in gs://bucket-name/some/location/ and the names of the + # output files could be anything because there was no filename prefix + # specified. + # If multiple outputs, each response is still AnnotateFileResponse, each of + # which contains some subset of the full list of AnnotateImageResponse. + # Multiple outputs can happen if, for example, the output JSON is too large + # and overflows into multiple sharded files. + # 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 will be read from. + class GoogleCloudVisionV1p6beta1GcsSource + include Google::Apis::Core::Hashable + + # Google Cloud Storage URI for the input file. This must only be a + # Google Cloud Storage object. Wildcards are not currently supported. + # 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 + + # If an image was produced from a file (e.g. a PDF), this message gives + # information about the source of that image. + class GoogleCloudVisionV1p6beta1ImageAnnotationContext + include Google::Apis::Core::Hashable + + # If the file was a PDF or TIFF, this field gives the page number within + # the file used to produce the image. + # Corresponds to the JSON property `pageNumber` + # @return [Fixnum] + attr_accessor :page_number + + # The URI of the file used to produce the image. + # 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) + @page_number = args[:page_number] if args.key?(:page_number) + @uri = args[:uri] if args.key?(:uri) + end + end + + # Stores image properties, such as dominant colors. + class GoogleCloudVisionV1p6beta1ImageProperties + include Google::Apis::Core::Hashable + + # Set of dominant colors and their corresponding scores. + # Corresponds to the JSON property `dominantColors` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1DominantColorsAnnotation] + attr_accessor :dominant_colors + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dominant_colors = args[:dominant_colors] if args.key?(:dominant_colors) + end + end + + # Stores image quality scores, could be aesthetic quality or technical quality. + class GoogleCloudVisionV1p6beta1ImageQuality + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Response message for the `ImportProductSets` method. + # This message is returned by the + # google.longrunning.Operations.GetOperation method in the returned + # google.longrunning.Operation.response field. + class GoogleCloudVisionV1p6beta1ImportProductSetsResponse + include Google::Apis::Core::Hashable + + # The list of reference_images that are imported successfully. + # Corresponds to the JSON property `referenceImages` + # @return [Array] + attr_accessor :reference_images + + # The rpc status for each ImportProductSet request, including both successes + # and errors. + # The number of statuses here matches the number of lines in the csv file, + # and statuses[i] stores the success or failure status of processing the i-th + # line of the csv, starting from line 0. + # Corresponds to the JSON property `statuses` + # @return [Array] + attr_accessor :statuses + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @reference_images = args[:reference_images] if args.key?(:reference_images) + @statuses = args[:statuses] if args.key?(:statuses) + end + end + + # The desired input location and metadata. + class GoogleCloudVisionV1p6beta1InputConfig + include Google::Apis::Core::Hashable + + # File content, represented as a stream of bytes. + # Note: As with all `bytes` fields, protobuffers use a pure binary + # representation, whereas JSON representations use base64. + # Currently, this field only works for BatchAnnotateFiles requests. It does + # not work for AsyncBatchAnnotateFiles requests. + # Corresponds to the JSON property `content` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :content + + # The Google Cloud Storage location where the input will be read from. + # Corresponds to the JSON property `gcsSource` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1GcsSource] + attr_accessor :gcs_source + + # The type of the file. Currently only "application/pdf", "image/tiff" and + # "image/gif" are supported. Wildcards are not supported. + # 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) + @content = args[:content] if args.key?(:content) + @gcs_source = args[:gcs_source] if args.key?(:gcs_source) + @mime_type = args[:mime_type] if args.key?(:mime_type) + end + end + + # Set of detected objects with bounding boxes. + class GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # 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 + + # Object ID that should align with EntityAnnotation mid. + # Corresponds to the JSON property `mid` + # @return [String] + attr_accessor :mid + + # Object name, expressed in its `language_code` language. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Score of the result. Range [0, 1]. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly) + @language_code = args[:language_code] if args.key?(:language_code) + @mid = args[:mid] if args.key?(:mid) + @name = args[:name] if args.key?(:name) + @score = args[:score] if args.key?(:score) + end + end + + # Detected entity location information. + class GoogleCloudVisionV1p6beta1LocationInfo + include Google::Apis::Core::Hashable + + # An object representing a latitude/longitude pair. This is expressed as a pair + # of doubles representing degrees latitude and degrees longitude. Unless + # specified otherwise, this must conform to the + # WGS84 + # standard. Values must be within normalized ranges. + # Corresponds to the JSON property `latLng` + # @return [Google::Apis::VisionV1p1beta1::LatLng] + attr_accessor :lat_lng + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @lat_lng = args[:lat_lng] if args.key?(:lat_lng) + 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 GoogleCloudVisionV1p6beta1NormalizedVertex + 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 BatchAnnotateImages operation. + class GoogleCloudVisionV1p6beta1OperationMetadata + include Google::Apis::Core::Hashable + + # The time when the batch request was received. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Current state of the batch operation. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # The time when the operation result was last updated. + # 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) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # The desired output location and metadata. + class GoogleCloudVisionV1p6beta1OutputConfig + include Google::Apis::Core::Hashable + + # The max number of response protos to put into each output JSON file 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 response protos will + # be generated. If `batch_size` = 20, then 5 json files each + # containing 20 response protos will be written under the prefix + # `gcs_destination`.`uri`. + # Currently, batch_size only applies to GcsDestination, with potential future + # support for other output configurations. + # Corresponds to the JSON property `batchSize` + # @return [Fixnum] + attr_accessor :batch_size + + # The Google Cloud Storage location where the output will be written to. + # Corresponds to the JSON property `gcsDestination` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1GcsDestination] + attr_accessor :gcs_destination + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @batch_size = args[:batch_size] if args.key?(:batch_size) + @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination) + end + end + + # Detected page from OCR. + class GoogleCloudVisionV1p6beta1Page + include Google::Apis::Core::Hashable + + # List of blocks of text, images etc on this page. + # Corresponds to the JSON property `blocks` + # @return [Array] + attr_accessor :blocks + + # Confidence of the OCR results on the page. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Page height. For PDFs the unit is points. For images (including + # TIFFs) the unit is pixels. + # Corresponds to the JSON property `height` + # @return [Fixnum] + attr_accessor :height + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # Page width. For PDFs the unit is points. For images (including + # TIFFs) the unit is pixels. + # Corresponds to the JSON property `width` + # @return [Fixnum] + attr_accessor :width + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @blocks = args[:blocks] if args.key?(:blocks) + @confidence = args[:confidence] if args.key?(:confidence) + @height = args[:height] if args.key?(:height) + @property = args[:property] if args.key?(:property) + @width = args[:width] if args.key?(:width) + end + end + + # Structural unit of text representing a number of words in certain order. + class GoogleCloudVisionV1p6beta1Paragraph + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results for the paragraph. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # List of words in this paragraph. + # Corresponds to the JSON property `words` + # @return [Array] + attr_accessor :words + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @property = args[:property] if args.key?(:property) + @words = args[:words] if args.key?(:words) + end + end + + # A 3D position in the image, used primarily for Face detection landmarks. + # A valid Position must have both x and y coordinates. + # The position coordinates are in the same scale as the original image. + class GoogleCloudVisionV1p6beta1Position + 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 + + # Z coordinate (or depth). + # Corresponds to the JSON property `z` + # @return [Float] + attr_accessor :z + + 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) + @z = args[:z] if args.key?(:z) + end + end + + # A Product contains ReferenceImages. + class GoogleCloudVisionV1p6beta1Product + include Google::Apis::Core::Hashable + + # User-provided metadata to be stored with this product. Must be at most 4096 + # characters long. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The user-provided name for this Product. Must not be empty. Must be at most + # 4096 characters long. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # The resource name of the product. + # Format is: + # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + # This field is ignored when creating a product. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The category for the product identified by the reference image. This should + # be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories + # "homegoods", "apparel", and "toys" are still supported, but these should + # not be used for new products. + # This field is immutable. + # Corresponds to the JSON property `productCategory` + # @return [String] + attr_accessor :product_category + + # Key-value pairs that can be attached to a product. At query time, + # constraints can be specified based on the product_labels. + # Note that integer values can be provided as strings, e.g. "1199". Only + # strings with integer values can match a range-based restriction which is + # to be supported soon. + # Multiple values can be assigned to the same key. One product may have up to + # 100 product_labels. + # Corresponds to the JSON property `productLabels` + # @return [Array] + attr_accessor :product_labels + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @display_name = args[:display_name] if args.key?(:display_name) + @name = args[:name] if args.key?(:name) + @product_category = args[:product_category] if args.key?(:product_category) + @product_labels = args[:product_labels] if args.key?(:product_labels) + end + end + + # A product label represented as a key-value pair. + class GoogleCloudVisionV1p6beta1ProductKeyValue + include Google::Apis::Core::Hashable + + # The key of the label attached to the product. Cannot be empty and cannot + # exceed 128 bytes. + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # The value of the label attached to the product. Cannot be empty and + # cannot exceed 128 bytes. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] if args.key?(:key) + @value = args[:value] if args.key?(:value) + end + end + + # Results for a product search request. + class GoogleCloudVisionV1p6beta1ProductSearchResults + include Google::Apis::Core::Hashable + + # Timestamp of the index which provided these results. Products added to the + # product set and products removed from the product set after this time are + # not reflected in the current results. + # Corresponds to the JSON property `indexTime` + # @return [String] + attr_accessor :index_time + + # List of results grouped by products detected in the query image. Each entry + # corresponds to one bounding polygon in the query image, and contains the + # matching products specific to that region. There may be duplicate product + # matches in the union of all the per-product results. + # Corresponds to the JSON property `productGroupedResults` + # @return [Array] + attr_accessor :product_grouped_results + + # List of results, one for each product match. + # Corresponds to the JSON property `results` + # @return [Array] + attr_accessor :results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @index_time = args[:index_time] if args.key?(:index_time) + @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results) + @results = args[:results] if args.key?(:results) + end + end + + # Information about the products similar to a single product in a query + # image. + class GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # List of results, one for each product match. + # Corresponds to the JSON property `results` + # @return [Array] + attr_accessor :results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly) + @results = args[:results] if args.key?(:results) + end + end + + # Information about a product. + class GoogleCloudVisionV1p6beta1ProductSearchResultsResult + include Google::Apis::Core::Hashable + + # The resource name of the image from the product that is the closest match + # to the query. + # Corresponds to the JSON property `image` + # @return [String] + attr_accessor :image + + # A Product contains ReferenceImages. + # Corresponds to the JSON property `product` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Product] + attr_accessor :product + + # A confidence level on the match, ranging from 0 (no confidence) to + # 1 (full confidence). + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @image = args[:image] if args.key?(:image) + @product = args[:product] if args.key?(:product) + @score = args[:score] if args.key?(:score) + end + end + + # A `Property` consists of a user-supplied name/value pair. + class GoogleCloudVisionV1p6beta1Property + include Google::Apis::Core::Hashable + + # Value in range [0..1]. Confidence of this property value. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Opaque property value ID. Some IDs may be available in + # [Google Knowledge Graph Search + # API](https://developers.google.com/knowledge-graph/). + # An example property for a blue coat would be: + # Property ` + # name: 'color' + # value: 'blue' + # mid: '/m/01g5v' // For color blue + # ` + # Corresponds to the JSON property `mid` + # @return [String] + attr_accessor :mid + + # Name of the property. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Value of numeric properties. + # Corresponds to the JSON property `uint64Value` + # @return [Fixnum] + attr_accessor :uint64_value + + # Value of the property. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @confidence = args[:confidence] if args.key?(:confidence) + @mid = args[:mid] if args.key?(:mid) + @name = args[:name] if args.key?(:name) + @uint64_value = args[:uint64_value] if args.key?(:uint64_value) + @value = args[:value] if args.key?(:value) + end + end + + # Stores enhanced image bytes. + class GoogleCloudVisionV1p6beta1QualityOptimizationResult + include Google::Apis::Core::Hashable + + # Optimized image bytes. + # Corresponds to the JSON property `image` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :image + + # Mime type of the output image. + # Corresponds to the JSON property `mimeType` + # @return [String] + attr_accessor :mime_type + + # Required optimization type. + # Corresponds to the JSON property `qualityOptimizationType` + # @return [String] + attr_accessor :quality_optimization_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @image = args[:image] if args.key?(:image) + @mime_type = args[:mime_type] if args.key?(:mime_type) + @quality_optimization_type = args[:quality_optimization_type] if args.key?(:quality_optimization_type) + end + end + + # A `ReferenceImage` represents a product image and its associated metadata, + # such as bounding boxes. + class GoogleCloudVisionV1p6beta1ReferenceImage + include Google::Apis::Core::Hashable + + # Bounding polygons around the areas of interest in the reference image. + # Optional. If this field is empty, the system will try to detect regions of + # interest. At most 10 bounding polygons will be used. + # The provided shape is converted into a non-rotated rectangle. Once + # converted, the small edge of the rectangle must be greater than or equal + # to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 + # is not). + # Corresponds to the JSON property `boundingPolys` + # @return [Array] + attr_accessor :bounding_polys + + # The resource name of the reference image. + # Format is: + # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/ + # IMAGE_ID`. + # This field is ignored when creating a reference image. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The Google Cloud Storage URI of the reference image. + # The URI must start with `gs://`. + # Required. + # 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) + @bounding_polys = args[:bounding_polys] if args.key?(:bounding_polys) + @name = args[:name] if args.key?(:name) + @uri = args[:uri] if args.key?(:uri) + end + end + + # Set of features pertaining to the image, computed by computer vision + # methods over safe-search verticals (for example, adult, spoof, medical, + # violence). + class GoogleCloudVisionV1p6beta1SafeSearchAnnotation + include Google::Apis::Core::Hashable + + # Represents the adult content likelihood for the image. Adult content may + # contain elements such as nudity, pornographic images or cartoons, or + # sexual activities. + # Corresponds to the JSON property `adult` + # @return [String] + attr_accessor :adult + + # Likelihood that this is a medical image. + # Corresponds to the JSON property `medical` + # @return [String] + attr_accessor :medical + + # Likelihood that the request image contains racy content. Racy content may + # include (but is not limited to) skimpy or sheer clothing, strategically + # covered nudity, lewd or provocative poses, or close-ups of sensitive + # body areas. + # Corresponds to the JSON property `racy` + # @return [String] + attr_accessor :racy + + # Spoof likelihood. The likelihood that an modification + # was made to the image's canonical version to make it appear + # funny or offensive. + # Corresponds to the JSON property `spoof` + # @return [String] + attr_accessor :spoof + + # Likelihood that this image contains violent content. + # Corresponds to the JSON property `violence` + # @return [String] + attr_accessor :violence + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @adult = args[:adult] if args.key?(:adult) + @medical = args[:medical] if args.key?(:medical) + @racy = args[:racy] if args.key?(:racy) + @spoof = args[:spoof] if args.key?(:spoof) + @violence = args[:violence] if args.key?(:violence) + end + end + + # A single symbol representation. + class GoogleCloudVisionV1p6beta1Symbol + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results for the symbol. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # The actual UTF-8 representation of the symbol. + # Corresponds to the JSON property `text` + # @return [String] + attr_accessor :text + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @property = args[:property] if args.key?(:property) + @text = args[:text] if args.key?(:text) + end + end + + # TextAnnotation contains a structured representation of OCR extracted text. + # The hierarchy of an OCR extracted text structure is like this: + # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + # Each structural component, starting from Page, may further have their own + # properties. Properties describe detected languages, breaks etc.. Please refer + # to the TextAnnotation.TextProperty message definition below for more + # detail. + class GoogleCloudVisionV1p6beta1TextAnnotation + include Google::Apis::Core::Hashable + + # List of pages detected by OCR. + # Corresponds to the JSON property `pages` + # @return [Array] + attr_accessor :pages + + # UTF-8 text detected on the pages. + # Corresponds to the JSON property `text` + # @return [String] + attr_accessor :text + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @pages = args[:pages] if args.key?(:pages) + @text = args[:text] if args.key?(:text) + end + end + + # Detected start or end of a structural component. + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak + include Google::Apis::Core::Hashable + + # True if break prepends the element. + # Corresponds to the JSON property `isPrefix` + # @return [Boolean] + attr_accessor :is_prefix + alias_method :is_prefix?, :is_prefix + + # 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) + @is_prefix = args[:is_prefix] if args.key?(:is_prefix) + @type = args[:type] if args.key?(:type) + end + end + + # Detected language for a structural component. + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage + 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 + + # Additional information detected on the structural component. + class GoogleCloudVisionV1p6beta1TextAnnotationTextProperty + include Google::Apis::Core::Hashable + + # Detected start or end of a structural component. + # Corresponds to the JSON property `detectedBreak` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak] + attr_accessor :detected_break + + # A list of detected languages together with confidence. + # Corresponds to the JSON property `detectedLanguages` + # @return [Array] + attr_accessor :detected_languages + + 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) + 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 GoogleCloudVisionV1p6beta1Vertex + 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 + + # Relevant information for the image from the Internet. + class GoogleCloudVisionV1p6beta1WebDetection + include Google::Apis::Core::Hashable + + # The service's best guess as to the topic of the request image. + # Inferred from similar images on the open web. + # Corresponds to the JSON property `bestGuessLabels` + # @return [Array] + attr_accessor :best_guess_labels + + # Fully matching images from the Internet. + # Can include resized copies of the query image. + # Corresponds to the JSON property `fullMatchingImages` + # @return [Array] + attr_accessor :full_matching_images + + # Web pages containing the matching images from the Internet. + # Corresponds to the JSON property `pagesWithMatchingImages` + # @return [Array] + attr_accessor :pages_with_matching_images + + # Partial matching images from the Internet. + # Those images are similar enough to share some key-point features. For + # example an original image will likely have partial matching for its crops. + # Corresponds to the JSON property `partialMatchingImages` + # @return [Array] + attr_accessor :partial_matching_images + + # The visually similar image results. + # Corresponds to the JSON property `visuallySimilarImages` + # @return [Array] + attr_accessor :visually_similar_images + + # Deduced entities from similar images on the Internet. + # Corresponds to the JSON property `webEntities` + # @return [Array] + attr_accessor :web_entities + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @best_guess_labels = args[:best_guess_labels] if args.key?(:best_guess_labels) + @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images) + @pages_with_matching_images = args[:pages_with_matching_images] if args.key?(:pages_with_matching_images) + @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images) + @visually_similar_images = args[:visually_similar_images] if args.key?(:visually_similar_images) + @web_entities = args[:web_entities] if args.key?(:web_entities) + end + end + + # Entity deduced from similar images on the Internet. + class GoogleCloudVisionV1p6beta1WebDetectionWebEntity + include Google::Apis::Core::Hashable + + # Canonical description of the entity, in English. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Opaque entity ID. + # Corresponds to the JSON property `entityId` + # @return [String] + attr_accessor :entity_id + + # Overall relevancy score for the entity. + # Not normalized and not comparable across different image queries. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @entity_id = args[:entity_id] if args.key?(:entity_id) + @score = args[:score] if args.key?(:score) + end + end + + # Metadata for online images. + class GoogleCloudVisionV1p6beta1WebDetectionWebImage + include Google::Apis::Core::Hashable + + # (Deprecated) Overall relevancy score for the image. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + # The result image URL. + # Corresponds to the JSON property `url` + # @return [String] + attr_accessor :url + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @score = args[:score] if args.key?(:score) + @url = args[:url] if args.key?(:url) + end + end + + # Label to provide extra metadata for the web detection. + class GoogleCloudVisionV1p6beta1WebDetectionWebLabel + include Google::Apis::Core::Hashable + + # Label for extra metadata. + # Corresponds to the JSON property `label` + # @return [String] + attr_accessor :label + + # The BCP-47 language code for `label`, 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) + @label = args[:label] if args.key?(:label) + @language_code = args[:language_code] if args.key?(:language_code) + end + end + + # Metadata for web pages. + class GoogleCloudVisionV1p6beta1WebDetectionWebPage + include Google::Apis::Core::Hashable + + # Fully matching images on the page. + # Can include resized copies of the query image. + # Corresponds to the JSON property `fullMatchingImages` + # @return [Array] + attr_accessor :full_matching_images + + # Title for the web page, may contain HTML markups. + # Corresponds to the JSON property `pageTitle` + # @return [String] + attr_accessor :page_title + + # Partial matching images on the page. + # Those images are similar enough to share some key-point features. For + # example an original image will likely have partial matching for its + # crops. + # Corresponds to the JSON property `partialMatchingImages` + # @return [Array] + attr_accessor :partial_matching_images + + # (Deprecated) Overall relevancy score for the web page. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + # The result web page URL. + # Corresponds to the JSON property `url` + # @return [String] + attr_accessor :url + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images) + @page_title = args[:page_title] if args.key?(:page_title) + @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images) + @score = args[:score] if args.key?(:score) + @url = args[:url] if args.key?(:url) + end + end + + # A word representation. + class GoogleCloudVisionV1p6beta1Word + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results for the word. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # List of symbols in the word. + # The order of the symbols follows the natural reading order. + # Corresponds to the JSON property `symbols` + # @return [Array] + attr_accessor :symbols + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @property = args[:property] if args.key?(:property) + @symbols = args[:symbols] if args.key?(:symbols) + end + end + # Information about the products similar to a single product in a query # image. class GroupedResult diff --git a/generated/google/apis/vision_v1p1beta1/representations.rb b/generated/google/apis/vision_v1p1beta1/representations.rb index 0d901a6a5..49630ec96 100644 --- a/generated/google/apis/vision_v1p1beta1/representations.rb +++ b/generated/google/apis/vision_v1p1beta1/representations.rb @@ -1696,6 +1696,318 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class GoogleCloudVisionV1p6beta1AnnotateFileResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AnnotateImageResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateFilesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateImagesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1BatchAnnotateFilesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1BatchOperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Block + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1BoundingPoly + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ColorInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1CropHint + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1CropHintsAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1DominantColorsAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1EntityAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1FaceAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1FaceAnnotationLandmark + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1GcsDestination + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1GcsSource + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImageAnnotationContext + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImageProperties + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImageQuality + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImportProductSetsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1InputConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1LocationInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1NormalizedVertex + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1OperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1OutputConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Page + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Paragraph + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Position + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Product + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductKeyValue + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductSearchResults + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Property + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1QualityOptimizationResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ReferenceImage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1SafeSearchAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Symbol + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotationTextProperty + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Vertex + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetection + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebEntity + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebImage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebLabel + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebPage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Word + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class GroupedResult class Representation < Google::Apis::Core::JsonRepresentation; end @@ -4902,6 +5214,562 @@ module Google end end + class GoogleCloudVisionV1p6beta1AnnotateFileResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :input_config, as: 'inputConfig', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1InputConfig, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1InputConfig::Representation + + collection :responses, as: 'responses', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1AnnotateImageResponse, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1AnnotateImageResponse::Representation + + property :total_pages, as: 'totalPages' + end + end + + class GoogleCloudVisionV1p6beta1AnnotateImageResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :context, as: 'context', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ImageAnnotationContext, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ImageAnnotationContext::Representation + + property :crop_hints_annotation, as: 'cropHintsAnnotation', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1CropHintsAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1CropHintsAnnotation::Representation + + property :error, as: 'error', class: Google::Apis::VisionV1p1beta1::Status, decorator: Google::Apis::VisionV1p1beta1::Status::Representation + + collection :face_annotations, as: 'faceAnnotations', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1FaceAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1FaceAnnotation::Representation + + property :full_text_annotation, as: 'fullTextAnnotation', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotation::Representation + + property :image_properties_annotation, as: 'imagePropertiesAnnotation', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ImageProperties, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ImageProperties::Representation + + property :image_quality_annotation, as: 'imageQualityAnnotation', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ImageQuality, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ImageQuality::Representation + + collection :label_annotations, as: 'labelAnnotations', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + collection :landmark_annotations, as: 'landmarkAnnotations', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + collection :localized_object_annotations, as: 'localizedObjectAnnotations', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation::Representation + + collection :logo_annotations, as: 'logoAnnotations', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + collection :object_attribute_annotations, as: 'objectAttributeAnnotations', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + property :product_search_results, as: 'productSearchResults', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductSearchResults, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductSearchResults::Representation + + property :quality_optimization_result, as: 'qualityOptimizationResult', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1QualityOptimizationResult, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1QualityOptimizationResult::Representation + + property :safe_search_annotation, as: 'safeSearchAnnotation', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1SafeSearchAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1SafeSearchAnnotation::Representation + + collection :text_annotations, as: 'textAnnotations', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + property :web_detection, as: 'webDetection', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetection, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetection::Representation + + end + end + + class GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :output_config, as: 'outputConfig', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1OutputConfig, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1OutputConfig::Representation + + end + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateFilesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :responses, as: 'responses', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse::Representation + + end + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateImagesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :output_config, as: 'outputConfig', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1OutputConfig, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1OutputConfig::Representation + + end + end + + class GoogleCloudVisionV1p6beta1BatchAnnotateFilesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :responses, as: 'responses', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1AnnotateFileResponse, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1AnnotateFileResponse::Representation + + end + end + + class GoogleCloudVisionV1p6beta1BatchOperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :end_time, as: 'endTime' + property :state, as: 'state' + property :submit_time, as: 'submitTime' + end + end + + class GoogleCloudVisionV1p6beta1Block + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :block_type, as: 'blockType' + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + collection :paragraphs, as: 'paragraphs', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Paragraph, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Paragraph::Representation + + property :property, as: 'property', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + end + end + + class GoogleCloudVisionV1p6beta1BoundingPoly + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :normalized_vertices, as: 'normalizedVertices', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1NormalizedVertex, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1NormalizedVertex::Representation + + collection :vertices, as: 'vertices', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Vertex, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Vertex::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ColorInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :color, as: 'color', class: Google::Apis::VisionV1p1beta1::Color, decorator: Google::Apis::VisionV1p1beta1::Color::Representation + + property :pixel_fraction, as: 'pixelFraction' + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1CropHint + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :importance_fraction, as: 'importanceFraction' + end + end + + class GoogleCloudVisionV1p6beta1CropHintsAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :crop_hints, as: 'cropHints', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1CropHint, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1CropHint::Representation + + end + end + + class GoogleCloudVisionV1p6beta1DominantColorsAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :colors, as: 'colors', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ColorInfo, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ColorInfo::Representation + + end + end + + class GoogleCloudVisionV1p6beta1EntityAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :description, as: 'description' + property :locale, as: 'locale' + collection :locations, as: 'locations', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1LocationInfo, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1LocationInfo::Representation + + property :mid, as: 'mid' + collection :properties, as: 'properties', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Property, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Property::Representation + + property :score, as: 'score' + property :topicality, as: 'topicality' + end + end + + class GoogleCloudVisionV1p6beta1FaceAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :anger_likelihood, as: 'angerLikelihood' + property :blurred_likelihood, as: 'blurredLikelihood' + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :detection_confidence, as: 'detectionConfidence' + property :fd_bounding_poly, as: 'fdBoundingPoly', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :headwear_likelihood, as: 'headwearLikelihood' + property :joy_likelihood, as: 'joyLikelihood' + property :landmarking_confidence, as: 'landmarkingConfidence' + collection :landmarks, as: 'landmarks', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1FaceAnnotationLandmark, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1FaceAnnotationLandmark::Representation + + property :pan_angle, as: 'panAngle' + property :roll_angle, as: 'rollAngle' + property :sorrow_likelihood, as: 'sorrowLikelihood' + property :surprise_likelihood, as: 'surpriseLikelihood' + property :tilt_angle, as: 'tiltAngle' + property :under_exposed_likelihood, as: 'underExposedLikelihood' + end + end + + class GoogleCloudVisionV1p6beta1FaceAnnotationLandmark + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :position, as: 'position', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Position, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Position::Representation + + property :type, as: 'type' + end + end + + class GoogleCloudVisionV1p6beta1GcsDestination + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1GcsSource + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1ImageAnnotationContext + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :page_number, as: 'pageNumber' + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1ImageProperties + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :dominant_colors, as: 'dominantColors', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1DominantColorsAnnotation, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1DominantColorsAnnotation::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ImageQuality + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class GoogleCloudVisionV1p6beta1ImportProductSetsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :reference_images, as: 'referenceImages', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ReferenceImage, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ReferenceImage::Representation + + collection :statuses, as: 'statuses', class: Google::Apis::VisionV1p1beta1::Status, decorator: Google::Apis::VisionV1p1beta1::Status::Representation + + end + end + + class GoogleCloudVisionV1p6beta1InputConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :content, :base64 => true, as: 'content' + property :gcs_source, as: 'gcsSource', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1GcsSource, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1GcsSource::Representation + + property :mime_type, as: 'mimeType' + end + end + + class GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :language_code, as: 'languageCode' + property :mid, as: 'mid' + property :name, as: 'name' + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1LocationInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :lat_lng, as: 'latLng', class: Google::Apis::VisionV1p1beta1::LatLng, decorator: Google::Apis::VisionV1p1beta1::LatLng::Representation + + end + end + + class GoogleCloudVisionV1p6beta1NormalizedVertex + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :x, as: 'x' + property :y, as: 'y' + end + end + + class GoogleCloudVisionV1p6beta1OperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :state, as: 'state' + property :update_time, as: 'updateTime' + end + end + + class GoogleCloudVisionV1p6beta1OutputConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :batch_size, as: 'batchSize' + property :gcs_destination, as: 'gcsDestination', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1GcsDestination, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1GcsDestination::Representation + + end + end + + class GoogleCloudVisionV1p6beta1Page + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :blocks, as: 'blocks', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Block, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Block::Representation + + property :confidence, as: 'confidence' + property :height, as: 'height' + property :property, as: 'property', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + property :width, as: 'width' + end + end + + class GoogleCloudVisionV1p6beta1Paragraph + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :property, as: 'property', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + collection :words, as: 'words', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Word, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Word::Representation + + end + end + + class GoogleCloudVisionV1p6beta1Position + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :x, as: 'x' + property :y, as: 'y' + property :z, as: 'z' + end + end + + class GoogleCloudVisionV1p6beta1Product + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :display_name, as: 'displayName' + property :name, as: 'name' + property :product_category, as: 'productCategory' + collection :product_labels, as: 'productLabels', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductKeyValue, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductKeyValue::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ProductKeyValue + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + + class GoogleCloudVisionV1p6beta1ProductSearchResults + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :index_time, as: 'indexTime' + collection :product_grouped_results, as: 'productGroupedResults', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult::Representation + + collection :results, as: 'results', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + collection :results, as: 'results', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :image, as: 'image' + property :product, as: 'product', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Product, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Product::Representation + + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1Property + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :confidence, as: 'confidence' + property :mid, as: 'mid' + property :name, as: 'name' + property :uint64_value, :numeric_string => true, as: 'uint64Value' + property :value, as: 'value' + end + end + + class GoogleCloudVisionV1p6beta1QualityOptimizationResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :image, :base64 => true, as: 'image' + property :mime_type, as: 'mimeType' + property :quality_optimization_type, as: 'qualityOptimizationType' + end + end + + class GoogleCloudVisionV1p6beta1ReferenceImage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bounding_polys, as: 'boundingPolys', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :name, as: 'name' + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1SafeSearchAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :adult, as: 'adult' + property :medical, as: 'medical' + property :racy, as: 'racy' + property :spoof, as: 'spoof' + property :violence, as: 'violence' + end + end + + class GoogleCloudVisionV1p6beta1Symbol + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :property, as: 'property', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + property :text, as: 'text' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :pages, as: 'pages', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Page, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Page::Representation + + property :text, as: 'text' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :is_prefix, as: 'isPrefix' + property :type, as: 'type' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :confidence, as: 'confidence' + property :language_code, as: 'languageCode' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotationTextProperty + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :detected_break, as: 'detectedBreak', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak::Representation + + collection :detected_languages, as: 'detectedLanguages', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage::Representation + + end + end + + class GoogleCloudVisionV1p6beta1Vertex + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :x, as: 'x' + property :y, as: 'y' + end + end + + class GoogleCloudVisionV1p6beta1WebDetection + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :best_guess_labels, as: 'bestGuessLabels', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebLabel, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebLabel::Representation + + collection :full_matching_images, as: 'fullMatchingImages', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + collection :pages_with_matching_images, as: 'pagesWithMatchingImages', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebPage, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebPage::Representation + + collection :partial_matching_images, as: 'partialMatchingImages', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + collection :visually_similar_images, as: 'visuallySimilarImages', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + collection :web_entities, as: 'webEntities', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebEntity, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebEntity::Representation + + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebEntity + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :entity_id, as: 'entityId' + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebImage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :score, as: 'score' + property :url, as: 'url' + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebLabel + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :label, as: 'label' + property :language_code, as: 'languageCode' + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebPage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :full_matching_images, as: 'fullMatchingImages', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + property :page_title, as: 'pageTitle' + collection :partial_matching_images, as: 'partialMatchingImages', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + property :score, as: 'score' + property :url, as: 'url' + end + end + + class GoogleCloudVisionV1p6beta1Word + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :property, as: 'property', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + collection :symbols, as: 'symbols', class: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Symbol, decorator: Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p6beta1Symbol::Representation + + end + end + class GroupedResult # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/vision_v1p2beta1.rb b/generated/google/apis/vision_v1p2beta1.rb index 4ac7a167d..cb73a1ca1 100644 --- a/generated/google/apis/vision_v1p2beta1.rb +++ b/generated/google/apis/vision_v1p2beta1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/vision/ module VisionV1p2beta1 VERSION = 'V1p2beta1' - REVISION = '20190531' + REVISION = '20190704' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/vision_v1p2beta1/classes.rb b/generated/google/apis/vision_v1p2beta1/classes.rb index 2861de156..0c697936d 100644 --- a/generated/google/apis/vision_v1p2beta1/classes.rb +++ b/generated/google/apis/vision_v1p2beta1/classes.rb @@ -10825,6 +10825,2001 @@ module Google end end + # Response to a single file annotation request. A file may contain one or more + # images, which individually have their own responses. + class GoogleCloudVisionV1p6beta1AnnotateFileResponse + include Google::Apis::Core::Hashable + + # The desired input location and metadata. + # Corresponds to the JSON property `inputConfig` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1InputConfig] + attr_accessor :input_config + + # Individual responses to images found within the file. + # Corresponds to the JSON property `responses` + # @return [Array] + attr_accessor :responses + + # This field gives the total number of pages in the file. + # Corresponds to the JSON property `totalPages` + # @return [Fixnum] + attr_accessor :total_pages + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @input_config = args[:input_config] if args.key?(:input_config) + @responses = args[:responses] if args.key?(:responses) + @total_pages = args[:total_pages] if args.key?(:total_pages) + end + end + + # Response to an image annotation request. + class GoogleCloudVisionV1p6beta1AnnotateImageResponse + include Google::Apis::Core::Hashable + + # If an image was produced from a file (e.g. a PDF), this message gives + # information about the source of that image. + # Corresponds to the JSON property `context` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ImageAnnotationContext] + attr_accessor :context + + # Set of crop hints that are used to generate new crops when serving images. + # Corresponds to the JSON property `cropHintsAnnotation` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1CropHintsAnnotation] + attr_accessor :crop_hints_annotation + + # 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::VisionV1p2beta1::Status] + attr_accessor :error + + # If present, face detection has completed successfully. + # Corresponds to the JSON property `faceAnnotations` + # @return [Array] + attr_accessor :face_annotations + + # TextAnnotation contains a structured representation of OCR extracted text. + # The hierarchy of an OCR extracted text structure is like this: + # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + # Each structural component, starting from Page, may further have their own + # properties. Properties describe detected languages, breaks etc.. Please refer + # to the TextAnnotation.TextProperty message definition below for more + # detail. + # Corresponds to the JSON property `fullTextAnnotation` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotation] + attr_accessor :full_text_annotation + + # Stores image properties, such as dominant colors. + # Corresponds to the JSON property `imagePropertiesAnnotation` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ImageProperties] + attr_accessor :image_properties_annotation + + # Stores image quality scores, could be aesthetic quality or technical quality. + # Corresponds to the JSON property `imageQualityAnnotation` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ImageQuality] + attr_accessor :image_quality_annotation + + # If present, label detection has completed successfully. + # Corresponds to the JSON property `labelAnnotations` + # @return [Array] + attr_accessor :label_annotations + + # If present, landmark detection has completed successfully. + # Corresponds to the JSON property `landmarkAnnotations` + # @return [Array] + attr_accessor :landmark_annotations + + # If present, localized object detection has completed successfully. + # This will be sorted descending by confidence score. + # Corresponds to the JSON property `localizedObjectAnnotations` + # @return [Array] + attr_accessor :localized_object_annotations + + # If present, logo detection has completed successfully. + # Corresponds to the JSON property `logoAnnotations` + # @return [Array] + attr_accessor :logo_annotations + + # If present, objects attributes calculation has completed successfully. The + # attributes value will be filled in the EntityAnnotation.properties. + # Example: + # object_attribute_annotations ` + # properties ` + # name: "color" + # value: "blue" + # confidence: 0.1 + # ` + # properties ` + # name: "color" + # value: "white" + # confidence: 0.2 + # ` + # properties ` + # name: "material" + # value: "silk" + # confidence: 0.3 + # ` + # ` + # Corresponds to the JSON property `objectAttributeAnnotations` + # @return [Array] + attr_accessor :object_attribute_annotations + + # Results for a product search request. + # Corresponds to the JSON property `productSearchResults` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductSearchResults] + attr_accessor :product_search_results + + # Stores enhanced image bytes. + # Corresponds to the JSON property `qualityOptimizationResult` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1QualityOptimizationResult] + attr_accessor :quality_optimization_result + + # Set of features pertaining to the image, computed by computer vision + # methods over safe-search verticals (for example, adult, spoof, medical, + # violence). + # Corresponds to the JSON property `safeSearchAnnotation` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1SafeSearchAnnotation] + attr_accessor :safe_search_annotation + + # If present, text (OCR) detection has completed successfully. + # Corresponds to the JSON property `textAnnotations` + # @return [Array] + attr_accessor :text_annotations + + # Relevant information for the image from the Internet. + # Corresponds to the JSON property `webDetection` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetection] + attr_accessor :web_detection + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @context = args[:context] if args.key?(:context) + @crop_hints_annotation = args[:crop_hints_annotation] if args.key?(:crop_hints_annotation) + @error = args[:error] if args.key?(:error) + @face_annotations = args[:face_annotations] if args.key?(:face_annotations) + @full_text_annotation = args[:full_text_annotation] if args.key?(:full_text_annotation) + @image_properties_annotation = args[:image_properties_annotation] if args.key?(:image_properties_annotation) + @image_quality_annotation = args[:image_quality_annotation] if args.key?(:image_quality_annotation) + @label_annotations = args[:label_annotations] if args.key?(:label_annotations) + @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations) + @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations) + @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations) + @object_attribute_annotations = args[:object_attribute_annotations] if args.key?(:object_attribute_annotations) + @product_search_results = args[:product_search_results] if args.key?(:product_search_results) + @quality_optimization_result = args[:quality_optimization_result] if args.key?(:quality_optimization_result) + @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation) + @text_annotations = args[:text_annotations] if args.key?(:text_annotations) + @web_detection = args[:web_detection] if args.key?(:web_detection) + end + end + + # The response for a single offline file annotation request. + class GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse + include Google::Apis::Core::Hashable + + # The desired output location and metadata. + # Corresponds to the JSON property `outputConfig` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1OutputConfig] + attr_accessor :output_config + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @output_config = args[:output_config] if args.key?(:output_config) + end + end + + # Response to an async batch file annotation request. + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateFilesResponse + include Google::Apis::Core::Hashable + + # The list of file annotation responses, one for each request in + # AsyncBatchAnnotateFilesRequest. + # Corresponds to the JSON property `responses` + # @return [Array] + 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 + + # Response to an async batch image annotation request. + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateImagesResponse + include Google::Apis::Core::Hashable + + # The desired output location and metadata. + # Corresponds to the JSON property `outputConfig` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1OutputConfig] + attr_accessor :output_config + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @output_config = args[:output_config] if args.key?(:output_config) + end + end + + # A list of file annotation responses. + class GoogleCloudVisionV1p6beta1BatchAnnotateFilesResponse + include Google::Apis::Core::Hashable + + # The list of file annotation responses, each response corresponding to each + # AnnotateFileRequest in BatchAnnotateFilesRequest. + # Corresponds to the JSON property `responses` + # @return [Array] + 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 + + # Metadata for the batch operations such as the current state. + # This is included in the `metadata` field of the `Operation` returned by the + # `GetOperation` call of the `google::longrunning::Operations` service. + class GoogleCloudVisionV1p6beta1BatchOperationMetadata + include Google::Apis::Core::Hashable + + # The time when the batch request is finished and + # google.longrunning.Operation.done is set to true. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # The current state of the batch operation. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # The time when the batch request was submitted to the server. + # Corresponds to the JSON property `submitTime` + # @return [String] + attr_accessor :submit_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @end_time = args[:end_time] if args.key?(:end_time) + @state = args[:state] if args.key?(:state) + @submit_time = args[:submit_time] if args.key?(:submit_time) + end + end + + # Logical element on the page. + class GoogleCloudVisionV1p6beta1Block + include Google::Apis::Core::Hashable + + # Detected block type (text, image etc) for this block. + # Corresponds to the JSON property `blockType` + # @return [String] + attr_accessor :block_type + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results on the block. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # List of paragraphs in this block (if this blocks is of type text). + # Corresponds to the JSON property `paragraphs` + # @return [Array] + attr_accessor :paragraphs + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @block_type = args[:block_type] if args.key?(:block_type) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @paragraphs = args[:paragraphs] if args.key?(:paragraphs) + @property = args[:property] if args.key?(:property) + end + end + + # A bounding polygon for the detected image annotation. + class GoogleCloudVisionV1p6beta1BoundingPoly + include Google::Apis::Core::Hashable + + # The bounding polygon normalized vertices. + # Corresponds to the JSON property `normalizedVertices` + # @return [Array] + attr_accessor :normalized_vertices + + # The bounding polygon vertices. + # Corresponds to the JSON property `vertices` + # @return [Array] + 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 + + # Color information consists of RGB channels, score, and the fraction of + # the image that the color occupies in the image. + class GoogleCloudVisionV1p6beta1ColorInfo + 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. + # 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::VisionV1p2beta1::Color] + attr_accessor :color + + # The fraction of pixels the color occupies in the image. + # Value in range [0, 1]. + # Corresponds to the JSON property `pixelFraction` + # @return [Float] + attr_accessor :pixel_fraction + + # Image-specific score for this color. Value in range [0, 1]. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @color = args[:color] if args.key?(:color) + @pixel_fraction = args[:pixel_fraction] if args.key?(:pixel_fraction) + @score = args[:score] if args.key?(:score) + end + end + + # Single crop hint that is used to generate a new crop when serving an image. + class GoogleCloudVisionV1p6beta1CropHint + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # Confidence of this being a salient region. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Fraction of importance of this salient region with respect to the original + # image. + # Corresponds to the JSON property `importanceFraction` + # @return [Float] + attr_accessor :importance_fraction + + 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) + @importance_fraction = args[:importance_fraction] if args.key?(:importance_fraction) + end + end + + # Set of crop hints that are used to generate new crops when serving images. + class GoogleCloudVisionV1p6beta1CropHintsAnnotation + include Google::Apis::Core::Hashable + + # Crop hint results. + # Corresponds to the JSON property `cropHints` + # @return [Array] + attr_accessor :crop_hints + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @crop_hints = args[:crop_hints] if args.key?(:crop_hints) + end + end + + # Set of dominant colors and their corresponding scores. + class GoogleCloudVisionV1p6beta1DominantColorsAnnotation + include Google::Apis::Core::Hashable + + # RGB color values with their score and pixel fraction. + # Corresponds to the JSON property `colors` + # @return [Array] + attr_accessor :colors + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @colors = args[:colors] if args.key?(:colors) + end + end + + # Set of detected entity features. + class GoogleCloudVisionV1p6beta1EntityAnnotation + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # **Deprecated. Use `score` instead.** + # The accuracy of the entity detection in an image. + # For example, for an image in which the "Eiffel Tower" entity is detected, + # this field represents the confidence that there is a tower in the query + # image. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Entity textual description, expressed in its `locale` language. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The language code for the locale in which the entity textual + # `description` is expressed. + # Corresponds to the JSON property `locale` + # @return [String] + attr_accessor :locale + + # The location information for the detected entity. Multiple + # `LocationInfo` elements can be present because one location may + # indicate the location of the scene in the image, and another location + # may indicate the location of the place where the image was taken. + # Location information is usually present for landmarks. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # Opaque entity ID. Some IDs may be available in + # [Google Knowledge Graph Search + # API](https://developers.google.com/knowledge-graph/). + # Corresponds to the JSON property `mid` + # @return [String] + attr_accessor :mid + + # Some entities may have optional user-supplied `Property` (name/value) + # fields, such a score or string that qualifies the entity. + # Corresponds to the JSON property `properties` + # @return [Array] + attr_accessor :properties + + # Overall score of the result. Range [0, 1]. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + # The relevancy of the ICA (Image Content Annotation) label to the + # image. For example, the relevancy of "tower" is likely higher to an image + # containing the detected "Eiffel Tower" than to an image containing a + # detected distant towering building, even though the confidence that + # there is a tower in each image may be the same. Range [0, 1]. + # Corresponds to the JSON property `topicality` + # @return [Float] + attr_accessor :topicality + + 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) + @description = args[:description] if args.key?(:description) + @locale = args[:locale] if args.key?(:locale) + @locations = args[:locations] if args.key?(:locations) + @mid = args[:mid] if args.key?(:mid) + @properties = args[:properties] if args.key?(:properties) + @score = args[:score] if args.key?(:score) + @topicality = args[:topicality] if args.key?(:topicality) + end + end + + # A face annotation object contains the results of face detection. + class GoogleCloudVisionV1p6beta1FaceAnnotation + include Google::Apis::Core::Hashable + + # Anger likelihood. + # Corresponds to the JSON property `angerLikelihood` + # @return [String] + attr_accessor :anger_likelihood + + # Blurred likelihood. + # Corresponds to the JSON property `blurredLikelihood` + # @return [String] + attr_accessor :blurred_likelihood + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # Detection confidence. Range [0, 1]. + # Corresponds to the JSON property `detectionConfidence` + # @return [Float] + attr_accessor :detection_confidence + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `fdBoundingPoly` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :fd_bounding_poly + + # Headwear likelihood. + # Corresponds to the JSON property `headwearLikelihood` + # @return [String] + attr_accessor :headwear_likelihood + + # Joy likelihood. + # Corresponds to the JSON property `joyLikelihood` + # @return [String] + attr_accessor :joy_likelihood + + # Face landmarking confidence. Range [0, 1]. + # Corresponds to the JSON property `landmarkingConfidence` + # @return [Float] + attr_accessor :landmarking_confidence + + # Detected face landmarks. + # Corresponds to the JSON property `landmarks` + # @return [Array] + attr_accessor :landmarks + + # Yaw angle, which indicates the leftward/rightward angle that the face is + # pointing relative to the vertical plane perpendicular to the image. Range + # [-180,180]. + # Corresponds to the JSON property `panAngle` + # @return [Float] + attr_accessor :pan_angle + + # Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + # of the face relative to the image vertical about the axis perpendicular to + # the face. Range [-180,180]. + # Corresponds to the JSON property `rollAngle` + # @return [Float] + attr_accessor :roll_angle + + # Sorrow likelihood. + # Corresponds to the JSON property `sorrowLikelihood` + # @return [String] + attr_accessor :sorrow_likelihood + + # Surprise likelihood. + # Corresponds to the JSON property `surpriseLikelihood` + # @return [String] + attr_accessor :surprise_likelihood + + # Pitch angle, which indicates the upwards/downwards angle that the face is + # pointing relative to the image's horizontal plane. Range [-180,180]. + # Corresponds to the JSON property `tiltAngle` + # @return [Float] + attr_accessor :tilt_angle + + # Under-exposed likelihood. + # Corresponds to the JSON property `underExposedLikelihood` + # @return [String] + attr_accessor :under_exposed_likelihood + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @anger_likelihood = args[:anger_likelihood] if args.key?(:anger_likelihood) + @blurred_likelihood = args[:blurred_likelihood] if args.key?(:blurred_likelihood) + @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly) + @detection_confidence = args[:detection_confidence] if args.key?(:detection_confidence) + @fd_bounding_poly = args[:fd_bounding_poly] if args.key?(:fd_bounding_poly) + @headwear_likelihood = args[:headwear_likelihood] if args.key?(:headwear_likelihood) + @joy_likelihood = args[:joy_likelihood] if args.key?(:joy_likelihood) + @landmarking_confidence = args[:landmarking_confidence] if args.key?(:landmarking_confidence) + @landmarks = args[:landmarks] if args.key?(:landmarks) + @pan_angle = args[:pan_angle] if args.key?(:pan_angle) + @roll_angle = args[:roll_angle] if args.key?(:roll_angle) + @sorrow_likelihood = args[:sorrow_likelihood] if args.key?(:sorrow_likelihood) + @surprise_likelihood = args[:surprise_likelihood] if args.key?(:surprise_likelihood) + @tilt_angle = args[:tilt_angle] if args.key?(:tilt_angle) + @under_exposed_likelihood = args[:under_exposed_likelihood] if args.key?(:under_exposed_likelihood) + end + end + + # A face-specific landmark (for example, a face feature). + class GoogleCloudVisionV1p6beta1FaceAnnotationLandmark + include Google::Apis::Core::Hashable + + # A 3D position in the image, used primarily for Face detection landmarks. + # A valid Position must have both x and y coordinates. + # The position coordinates are in the same scale as the original image. + # Corresponds to the JSON property `position` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Position] + attr_accessor :position + + # Face landmark 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) + @position = args[:position] if args.key?(:position) + @type = args[:type] if args.key?(:type) + end + end + + # The Google Cloud Storage location where the output will be written to. + class GoogleCloudVisionV1p6beta1GcsDestination + include Google::Apis::Core::Hashable + + # Google Cloud Storage URI prefix where the results will be stored. Results + # will be in JSON format and preceded by its corresponding input URI prefix. + # This field can either represent a gcs file prefix or gcs directory. In + # either case, the uri should be unique because in order to get all of the + # output files, you will need to do a wildcard gcs search on the uri prefix + # you provide. + # Examples: + # * File Prefix: gs://bucket-name/here/filenameprefix The output files + # will be created in gs://bucket-name/here/ and the names of the + # output files will begin with "filenameprefix". + # * Directory Prefix: gs://bucket-name/some/location/ The output files + # will be created in gs://bucket-name/some/location/ and the names of the + # output files could be anything because there was no filename prefix + # specified. + # If multiple outputs, each response is still AnnotateFileResponse, each of + # which contains some subset of the full list of AnnotateImageResponse. + # Multiple outputs can happen if, for example, the output JSON is too large + # and overflows into multiple sharded files. + # 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 will be read from. + class GoogleCloudVisionV1p6beta1GcsSource + include Google::Apis::Core::Hashable + + # Google Cloud Storage URI for the input file. This must only be a + # Google Cloud Storage object. Wildcards are not currently supported. + # 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 + + # If an image was produced from a file (e.g. a PDF), this message gives + # information about the source of that image. + class GoogleCloudVisionV1p6beta1ImageAnnotationContext + include Google::Apis::Core::Hashable + + # If the file was a PDF or TIFF, this field gives the page number within + # the file used to produce the image. + # Corresponds to the JSON property `pageNumber` + # @return [Fixnum] + attr_accessor :page_number + + # The URI of the file used to produce the image. + # 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) + @page_number = args[:page_number] if args.key?(:page_number) + @uri = args[:uri] if args.key?(:uri) + end + end + + # Stores image properties, such as dominant colors. + class GoogleCloudVisionV1p6beta1ImageProperties + include Google::Apis::Core::Hashable + + # Set of dominant colors and their corresponding scores. + # Corresponds to the JSON property `dominantColors` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1DominantColorsAnnotation] + attr_accessor :dominant_colors + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @dominant_colors = args[:dominant_colors] if args.key?(:dominant_colors) + end + end + + # Stores image quality scores, could be aesthetic quality or technical quality. + class GoogleCloudVisionV1p6beta1ImageQuality + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Response message for the `ImportProductSets` method. + # This message is returned by the + # google.longrunning.Operations.GetOperation method in the returned + # google.longrunning.Operation.response field. + class GoogleCloudVisionV1p6beta1ImportProductSetsResponse + include Google::Apis::Core::Hashable + + # The list of reference_images that are imported successfully. + # Corresponds to the JSON property `referenceImages` + # @return [Array] + attr_accessor :reference_images + + # The rpc status for each ImportProductSet request, including both successes + # and errors. + # The number of statuses here matches the number of lines in the csv file, + # and statuses[i] stores the success or failure status of processing the i-th + # line of the csv, starting from line 0. + # Corresponds to the JSON property `statuses` + # @return [Array] + attr_accessor :statuses + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @reference_images = args[:reference_images] if args.key?(:reference_images) + @statuses = args[:statuses] if args.key?(:statuses) + end + end + + # The desired input location and metadata. + class GoogleCloudVisionV1p6beta1InputConfig + include Google::Apis::Core::Hashable + + # File content, represented as a stream of bytes. + # Note: As with all `bytes` fields, protobuffers use a pure binary + # representation, whereas JSON representations use base64. + # Currently, this field only works for BatchAnnotateFiles requests. It does + # not work for AsyncBatchAnnotateFiles requests. + # Corresponds to the JSON property `content` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :content + + # The Google Cloud Storage location where the input will be read from. + # Corresponds to the JSON property `gcsSource` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1GcsSource] + attr_accessor :gcs_source + + # The type of the file. Currently only "application/pdf", "image/tiff" and + # "image/gif" are supported. Wildcards are not supported. + # 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) + @content = args[:content] if args.key?(:content) + @gcs_source = args[:gcs_source] if args.key?(:gcs_source) + @mime_type = args[:mime_type] if args.key?(:mime_type) + end + end + + # Set of detected objects with bounding boxes. + class GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # 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 + + # Object ID that should align with EntityAnnotation mid. + # Corresponds to the JSON property `mid` + # @return [String] + attr_accessor :mid + + # Object name, expressed in its `language_code` language. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Score of the result. Range [0, 1]. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly) + @language_code = args[:language_code] if args.key?(:language_code) + @mid = args[:mid] if args.key?(:mid) + @name = args[:name] if args.key?(:name) + @score = args[:score] if args.key?(:score) + end + end + + # Detected entity location information. + class GoogleCloudVisionV1p6beta1LocationInfo + include Google::Apis::Core::Hashable + + # An object representing a latitude/longitude pair. This is expressed as a pair + # of doubles representing degrees latitude and degrees longitude. Unless + # specified otherwise, this must conform to the + # WGS84 + # standard. Values must be within normalized ranges. + # Corresponds to the JSON property `latLng` + # @return [Google::Apis::VisionV1p2beta1::LatLng] + attr_accessor :lat_lng + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @lat_lng = args[:lat_lng] if args.key?(:lat_lng) + 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 GoogleCloudVisionV1p6beta1NormalizedVertex + 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 BatchAnnotateImages operation. + class GoogleCloudVisionV1p6beta1OperationMetadata + include Google::Apis::Core::Hashable + + # The time when the batch request was received. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Current state of the batch operation. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # The time when the operation result was last updated. + # 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) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # The desired output location and metadata. + class GoogleCloudVisionV1p6beta1OutputConfig + include Google::Apis::Core::Hashable + + # The max number of response protos to put into each output JSON file 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 response protos will + # be generated. If `batch_size` = 20, then 5 json files each + # containing 20 response protos will be written under the prefix + # `gcs_destination`.`uri`. + # Currently, batch_size only applies to GcsDestination, with potential future + # support for other output configurations. + # Corresponds to the JSON property `batchSize` + # @return [Fixnum] + attr_accessor :batch_size + + # The Google Cloud Storage location where the output will be written to. + # Corresponds to the JSON property `gcsDestination` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1GcsDestination] + attr_accessor :gcs_destination + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @batch_size = args[:batch_size] if args.key?(:batch_size) + @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination) + end + end + + # Detected page from OCR. + class GoogleCloudVisionV1p6beta1Page + include Google::Apis::Core::Hashable + + # List of blocks of text, images etc on this page. + # Corresponds to the JSON property `blocks` + # @return [Array] + attr_accessor :blocks + + # Confidence of the OCR results on the page. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Page height. For PDFs the unit is points. For images (including + # TIFFs) the unit is pixels. + # Corresponds to the JSON property `height` + # @return [Fixnum] + attr_accessor :height + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # Page width. For PDFs the unit is points. For images (including + # TIFFs) the unit is pixels. + # Corresponds to the JSON property `width` + # @return [Fixnum] + attr_accessor :width + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @blocks = args[:blocks] if args.key?(:blocks) + @confidence = args[:confidence] if args.key?(:confidence) + @height = args[:height] if args.key?(:height) + @property = args[:property] if args.key?(:property) + @width = args[:width] if args.key?(:width) + end + end + + # Structural unit of text representing a number of words in certain order. + class GoogleCloudVisionV1p6beta1Paragraph + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results for the paragraph. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # List of words in this paragraph. + # Corresponds to the JSON property `words` + # @return [Array] + attr_accessor :words + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @property = args[:property] if args.key?(:property) + @words = args[:words] if args.key?(:words) + end + end + + # A 3D position in the image, used primarily for Face detection landmarks. + # A valid Position must have both x and y coordinates. + # The position coordinates are in the same scale as the original image. + class GoogleCloudVisionV1p6beta1Position + 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 + + # Z coordinate (or depth). + # Corresponds to the JSON property `z` + # @return [Float] + attr_accessor :z + + 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) + @z = args[:z] if args.key?(:z) + end + end + + # A Product contains ReferenceImages. + class GoogleCloudVisionV1p6beta1Product + include Google::Apis::Core::Hashable + + # User-provided metadata to be stored with this product. Must be at most 4096 + # characters long. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The user-provided name for this Product. Must not be empty. Must be at most + # 4096 characters long. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # The resource name of the product. + # Format is: + # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. + # This field is ignored when creating a product. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The category for the product identified by the reference image. This should + # be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories + # "homegoods", "apparel", and "toys" are still supported, but these should + # not be used for new products. + # This field is immutable. + # Corresponds to the JSON property `productCategory` + # @return [String] + attr_accessor :product_category + + # Key-value pairs that can be attached to a product. At query time, + # constraints can be specified based on the product_labels. + # Note that integer values can be provided as strings, e.g. "1199". Only + # strings with integer values can match a range-based restriction which is + # to be supported soon. + # Multiple values can be assigned to the same key. One product may have up to + # 100 product_labels. + # Corresponds to the JSON property `productLabels` + # @return [Array] + attr_accessor :product_labels + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @display_name = args[:display_name] if args.key?(:display_name) + @name = args[:name] if args.key?(:name) + @product_category = args[:product_category] if args.key?(:product_category) + @product_labels = args[:product_labels] if args.key?(:product_labels) + end + end + + # A product label represented as a key-value pair. + class GoogleCloudVisionV1p6beta1ProductKeyValue + include Google::Apis::Core::Hashable + + # The key of the label attached to the product. Cannot be empty and cannot + # exceed 128 bytes. + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # The value of the label attached to the product. Cannot be empty and + # cannot exceed 128 bytes. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @key = args[:key] if args.key?(:key) + @value = args[:value] if args.key?(:value) + end + end + + # Results for a product search request. + class GoogleCloudVisionV1p6beta1ProductSearchResults + include Google::Apis::Core::Hashable + + # Timestamp of the index which provided these results. Products added to the + # product set and products removed from the product set after this time are + # not reflected in the current results. + # Corresponds to the JSON property `indexTime` + # @return [String] + attr_accessor :index_time + + # List of results grouped by products detected in the query image. Each entry + # corresponds to one bounding polygon in the query image, and contains the + # matching products specific to that region. There may be duplicate product + # matches in the union of all the per-product results. + # Corresponds to the JSON property `productGroupedResults` + # @return [Array] + attr_accessor :product_grouped_results + + # List of results, one for each product match. + # Corresponds to the JSON property `results` + # @return [Array] + attr_accessor :results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @index_time = args[:index_time] if args.key?(:index_time) + @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results) + @results = args[:results] if args.key?(:results) + end + end + + # Information about the products similar to a single product in a query + # image. + class GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingPoly` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_poly + + # List of results, one for each product match. + # Corresponds to the JSON property `results` + # @return [Array] + attr_accessor :results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly) + @results = args[:results] if args.key?(:results) + end + end + + # Information about a product. + class GoogleCloudVisionV1p6beta1ProductSearchResultsResult + include Google::Apis::Core::Hashable + + # The resource name of the image from the product that is the closest match + # to the query. + # Corresponds to the JSON property `image` + # @return [String] + attr_accessor :image + + # A Product contains ReferenceImages. + # Corresponds to the JSON property `product` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Product] + attr_accessor :product + + # A confidence level on the match, ranging from 0 (no confidence) to + # 1 (full confidence). + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @image = args[:image] if args.key?(:image) + @product = args[:product] if args.key?(:product) + @score = args[:score] if args.key?(:score) + end + end + + # A `Property` consists of a user-supplied name/value pair. + class GoogleCloudVisionV1p6beta1Property + include Google::Apis::Core::Hashable + + # Value in range [0..1]. Confidence of this property value. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Opaque property value ID. Some IDs may be available in + # [Google Knowledge Graph Search + # API](https://developers.google.com/knowledge-graph/). + # An example property for a blue coat would be: + # Property ` + # name: 'color' + # value: 'blue' + # mid: '/m/01g5v' // For color blue + # ` + # Corresponds to the JSON property `mid` + # @return [String] + attr_accessor :mid + + # Name of the property. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Value of numeric properties. + # Corresponds to the JSON property `uint64Value` + # @return [Fixnum] + attr_accessor :uint64_value + + # Value of the property. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @confidence = args[:confidence] if args.key?(:confidence) + @mid = args[:mid] if args.key?(:mid) + @name = args[:name] if args.key?(:name) + @uint64_value = args[:uint64_value] if args.key?(:uint64_value) + @value = args[:value] if args.key?(:value) + end + end + + # Stores enhanced image bytes. + class GoogleCloudVisionV1p6beta1QualityOptimizationResult + include Google::Apis::Core::Hashable + + # Optimized image bytes. + # Corresponds to the JSON property `image` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :image + + # Mime type of the output image. + # Corresponds to the JSON property `mimeType` + # @return [String] + attr_accessor :mime_type + + # Required optimization type. + # Corresponds to the JSON property `qualityOptimizationType` + # @return [String] + attr_accessor :quality_optimization_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @image = args[:image] if args.key?(:image) + @mime_type = args[:mime_type] if args.key?(:mime_type) + @quality_optimization_type = args[:quality_optimization_type] if args.key?(:quality_optimization_type) + end + end + + # A `ReferenceImage` represents a product image and its associated metadata, + # such as bounding boxes. + class GoogleCloudVisionV1p6beta1ReferenceImage + include Google::Apis::Core::Hashable + + # Bounding polygons around the areas of interest in the reference image. + # Optional. If this field is empty, the system will try to detect regions of + # interest. At most 10 bounding polygons will be used. + # The provided shape is converted into a non-rotated rectangle. Once + # converted, the small edge of the rectangle must be greater than or equal + # to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 + # is not). + # Corresponds to the JSON property `boundingPolys` + # @return [Array] + attr_accessor :bounding_polys + + # The resource name of the reference image. + # Format is: + # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/ + # IMAGE_ID`. + # This field is ignored when creating a reference image. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The Google Cloud Storage URI of the reference image. + # The URI must start with `gs://`. + # Required. + # 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) + @bounding_polys = args[:bounding_polys] if args.key?(:bounding_polys) + @name = args[:name] if args.key?(:name) + @uri = args[:uri] if args.key?(:uri) + end + end + + # Set of features pertaining to the image, computed by computer vision + # methods over safe-search verticals (for example, adult, spoof, medical, + # violence). + class GoogleCloudVisionV1p6beta1SafeSearchAnnotation + include Google::Apis::Core::Hashable + + # Represents the adult content likelihood for the image. Adult content may + # contain elements such as nudity, pornographic images or cartoons, or + # sexual activities. + # Corresponds to the JSON property `adult` + # @return [String] + attr_accessor :adult + + # Likelihood that this is a medical image. + # Corresponds to the JSON property `medical` + # @return [String] + attr_accessor :medical + + # Likelihood that the request image contains racy content. Racy content may + # include (but is not limited to) skimpy or sheer clothing, strategically + # covered nudity, lewd or provocative poses, or close-ups of sensitive + # body areas. + # Corresponds to the JSON property `racy` + # @return [String] + attr_accessor :racy + + # Spoof likelihood. The likelihood that an modification + # was made to the image's canonical version to make it appear + # funny or offensive. + # Corresponds to the JSON property `spoof` + # @return [String] + attr_accessor :spoof + + # Likelihood that this image contains violent content. + # Corresponds to the JSON property `violence` + # @return [String] + attr_accessor :violence + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @adult = args[:adult] if args.key?(:adult) + @medical = args[:medical] if args.key?(:medical) + @racy = args[:racy] if args.key?(:racy) + @spoof = args[:spoof] if args.key?(:spoof) + @violence = args[:violence] if args.key?(:violence) + end + end + + # A single symbol representation. + class GoogleCloudVisionV1p6beta1Symbol + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results for the symbol. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # The actual UTF-8 representation of the symbol. + # Corresponds to the JSON property `text` + # @return [String] + attr_accessor :text + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @property = args[:property] if args.key?(:property) + @text = args[:text] if args.key?(:text) + end + end + + # TextAnnotation contains a structured representation of OCR extracted text. + # The hierarchy of an OCR extracted text structure is like this: + # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol + # Each structural component, starting from Page, may further have their own + # properties. Properties describe detected languages, breaks etc.. Please refer + # to the TextAnnotation.TextProperty message definition below for more + # detail. + class GoogleCloudVisionV1p6beta1TextAnnotation + include Google::Apis::Core::Hashable + + # List of pages detected by OCR. + # Corresponds to the JSON property `pages` + # @return [Array] + attr_accessor :pages + + # UTF-8 text detected on the pages. + # Corresponds to the JSON property `text` + # @return [String] + attr_accessor :text + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @pages = args[:pages] if args.key?(:pages) + @text = args[:text] if args.key?(:text) + end + end + + # Detected start or end of a structural component. + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak + include Google::Apis::Core::Hashable + + # True if break prepends the element. + # Corresponds to the JSON property `isPrefix` + # @return [Boolean] + attr_accessor :is_prefix + alias_method :is_prefix?, :is_prefix + + # 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) + @is_prefix = args[:is_prefix] if args.key?(:is_prefix) + @type = args[:type] if args.key?(:type) + end + end + + # Detected language for a structural component. + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage + 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 + + # Additional information detected on the structural component. + class GoogleCloudVisionV1p6beta1TextAnnotationTextProperty + include Google::Apis::Core::Hashable + + # Detected start or end of a structural component. + # Corresponds to the JSON property `detectedBreak` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak] + attr_accessor :detected_break + + # A list of detected languages together with confidence. + # Corresponds to the JSON property `detectedLanguages` + # @return [Array] + attr_accessor :detected_languages + + 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) + 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 GoogleCloudVisionV1p6beta1Vertex + 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 + + # Relevant information for the image from the Internet. + class GoogleCloudVisionV1p6beta1WebDetection + include Google::Apis::Core::Hashable + + # The service's best guess as to the topic of the request image. + # Inferred from similar images on the open web. + # Corresponds to the JSON property `bestGuessLabels` + # @return [Array] + attr_accessor :best_guess_labels + + # Fully matching images from the Internet. + # Can include resized copies of the query image. + # Corresponds to the JSON property `fullMatchingImages` + # @return [Array] + attr_accessor :full_matching_images + + # Web pages containing the matching images from the Internet. + # Corresponds to the JSON property `pagesWithMatchingImages` + # @return [Array] + attr_accessor :pages_with_matching_images + + # Partial matching images from the Internet. + # Those images are similar enough to share some key-point features. For + # example an original image will likely have partial matching for its crops. + # Corresponds to the JSON property `partialMatchingImages` + # @return [Array] + attr_accessor :partial_matching_images + + # The visually similar image results. + # Corresponds to the JSON property `visuallySimilarImages` + # @return [Array] + attr_accessor :visually_similar_images + + # Deduced entities from similar images on the Internet. + # Corresponds to the JSON property `webEntities` + # @return [Array] + attr_accessor :web_entities + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @best_guess_labels = args[:best_guess_labels] if args.key?(:best_guess_labels) + @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images) + @pages_with_matching_images = args[:pages_with_matching_images] if args.key?(:pages_with_matching_images) + @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images) + @visually_similar_images = args[:visually_similar_images] if args.key?(:visually_similar_images) + @web_entities = args[:web_entities] if args.key?(:web_entities) + end + end + + # Entity deduced from similar images on the Internet. + class GoogleCloudVisionV1p6beta1WebDetectionWebEntity + include Google::Apis::Core::Hashable + + # Canonical description of the entity, in English. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Opaque entity ID. + # Corresponds to the JSON property `entityId` + # @return [String] + attr_accessor :entity_id + + # Overall relevancy score for the entity. + # Not normalized and not comparable across different image queries. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @entity_id = args[:entity_id] if args.key?(:entity_id) + @score = args[:score] if args.key?(:score) + end + end + + # Metadata for online images. + class GoogleCloudVisionV1p6beta1WebDetectionWebImage + include Google::Apis::Core::Hashable + + # (Deprecated) Overall relevancy score for the image. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + # The result image URL. + # Corresponds to the JSON property `url` + # @return [String] + attr_accessor :url + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @score = args[:score] if args.key?(:score) + @url = args[:url] if args.key?(:url) + end + end + + # Label to provide extra metadata for the web detection. + class GoogleCloudVisionV1p6beta1WebDetectionWebLabel + include Google::Apis::Core::Hashable + + # Label for extra metadata. + # Corresponds to the JSON property `label` + # @return [String] + attr_accessor :label + + # The BCP-47 language code for `label`, 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) + @label = args[:label] if args.key?(:label) + @language_code = args[:language_code] if args.key?(:language_code) + end + end + + # Metadata for web pages. + class GoogleCloudVisionV1p6beta1WebDetectionWebPage + include Google::Apis::Core::Hashable + + # Fully matching images on the page. + # Can include resized copies of the query image. + # Corresponds to the JSON property `fullMatchingImages` + # @return [Array] + attr_accessor :full_matching_images + + # Title for the web page, may contain HTML markups. + # Corresponds to the JSON property `pageTitle` + # @return [String] + attr_accessor :page_title + + # Partial matching images on the page. + # Those images are similar enough to share some key-point features. For + # example an original image will likely have partial matching for its + # crops. + # Corresponds to the JSON property `partialMatchingImages` + # @return [Array] + attr_accessor :partial_matching_images + + # (Deprecated) Overall relevancy score for the web page. + # Corresponds to the JSON property `score` + # @return [Float] + attr_accessor :score + + # The result web page URL. + # Corresponds to the JSON property `url` + # @return [String] + attr_accessor :url + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images) + @page_title = args[:page_title] if args.key?(:page_title) + @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images) + @score = args[:score] if args.key?(:score) + @url = args[:url] if args.key?(:url) + end + end + + # A word representation. + class GoogleCloudVisionV1p6beta1Word + include Google::Apis::Core::Hashable + + # A bounding polygon for the detected image annotation. + # Corresponds to the JSON property `boundingBox` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly] + attr_accessor :bounding_box + + # Confidence of the OCR results for the word. Range [0, 1]. + # Corresponds to the JSON property `confidence` + # @return [Float] + attr_accessor :confidence + + # Additional information detected on the structural component. + # Corresponds to the JSON property `property` + # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty] + attr_accessor :property + + # List of symbols in the word. + # The order of the symbols follows the natural reading order. + # Corresponds to the JSON property `symbols` + # @return [Array] + attr_accessor :symbols + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bounding_box = args[:bounding_box] if args.key?(:bounding_box) + @confidence = args[:confidence] if args.key?(:confidence) + @property = args[:property] if args.key?(:property) + @symbols = args[:symbols] if args.key?(:symbols) + end + end + # Information about the products similar to a single product in a query # image. class GroupedResult diff --git a/generated/google/apis/vision_v1p2beta1/representations.rb b/generated/google/apis/vision_v1p2beta1/representations.rb index 739fe3713..030f38bed 100644 --- a/generated/google/apis/vision_v1p2beta1/representations.rb +++ b/generated/google/apis/vision_v1p2beta1/representations.rb @@ -1696,6 +1696,318 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class GoogleCloudVisionV1p6beta1AnnotateFileResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AnnotateImageResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateFilesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateImagesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1BatchAnnotateFilesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1BatchOperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Block + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1BoundingPoly + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ColorInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1CropHint + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1CropHintsAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1DominantColorsAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1EntityAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1FaceAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1FaceAnnotationLandmark + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1GcsDestination + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1GcsSource + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImageAnnotationContext + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImageProperties + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImageQuality + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ImportProductSetsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1InputConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1LocationInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1NormalizedVertex + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1OperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1OutputConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Page + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Paragraph + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Position + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Product + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductKeyValue + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductSearchResults + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Property + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1QualityOptimizationResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1ReferenceImage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1SafeSearchAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Symbol + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1TextAnnotationTextProperty + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Vertex + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetection + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebEntity + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebImage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebLabel + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebPage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudVisionV1p6beta1Word + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class GroupedResult class Representation < Google::Apis::Core::JsonRepresentation; end @@ -4902,6 +5214,562 @@ module Google end end + class GoogleCloudVisionV1p6beta1AnnotateFileResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :input_config, as: 'inputConfig', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1InputConfig, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1InputConfig::Representation + + collection :responses, as: 'responses', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1AnnotateImageResponse, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1AnnotateImageResponse::Representation + + property :total_pages, as: 'totalPages' + end + end + + class GoogleCloudVisionV1p6beta1AnnotateImageResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :context, as: 'context', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ImageAnnotationContext, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ImageAnnotationContext::Representation + + property :crop_hints_annotation, as: 'cropHintsAnnotation', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1CropHintsAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1CropHintsAnnotation::Representation + + property :error, as: 'error', class: Google::Apis::VisionV1p2beta1::Status, decorator: Google::Apis::VisionV1p2beta1::Status::Representation + + collection :face_annotations, as: 'faceAnnotations', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1FaceAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1FaceAnnotation::Representation + + property :full_text_annotation, as: 'fullTextAnnotation', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotation::Representation + + property :image_properties_annotation, as: 'imagePropertiesAnnotation', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ImageProperties, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ImageProperties::Representation + + property :image_quality_annotation, as: 'imageQualityAnnotation', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ImageQuality, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ImageQuality::Representation + + collection :label_annotations, as: 'labelAnnotations', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + collection :landmark_annotations, as: 'landmarkAnnotations', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + collection :localized_object_annotations, as: 'localizedObjectAnnotations', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation::Representation + + collection :logo_annotations, as: 'logoAnnotations', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + collection :object_attribute_annotations, as: 'objectAttributeAnnotations', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + property :product_search_results, as: 'productSearchResults', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductSearchResults, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductSearchResults::Representation + + property :quality_optimization_result, as: 'qualityOptimizationResult', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1QualityOptimizationResult, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1QualityOptimizationResult::Representation + + property :safe_search_annotation, as: 'safeSearchAnnotation', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1SafeSearchAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1SafeSearchAnnotation::Representation + + collection :text_annotations, as: 'textAnnotations', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1EntityAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1EntityAnnotation::Representation + + property :web_detection, as: 'webDetection', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetection, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetection::Representation + + end + end + + class GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :output_config, as: 'outputConfig', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1OutputConfig, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1OutputConfig::Representation + + end + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateFilesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :responses, as: 'responses', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1AsyncAnnotateFileResponse::Representation + + end + end + + class GoogleCloudVisionV1p6beta1AsyncBatchAnnotateImagesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :output_config, as: 'outputConfig', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1OutputConfig, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1OutputConfig::Representation + + end + end + + class GoogleCloudVisionV1p6beta1BatchAnnotateFilesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :responses, as: 'responses', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1AnnotateFileResponse, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1AnnotateFileResponse::Representation + + end + end + + class GoogleCloudVisionV1p6beta1BatchOperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :end_time, as: 'endTime' + property :state, as: 'state' + property :submit_time, as: 'submitTime' + end + end + + class GoogleCloudVisionV1p6beta1Block + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :block_type, as: 'blockType' + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + collection :paragraphs, as: 'paragraphs', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Paragraph, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Paragraph::Representation + + property :property, as: 'property', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + end + end + + class GoogleCloudVisionV1p6beta1BoundingPoly + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :normalized_vertices, as: 'normalizedVertices', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1NormalizedVertex, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1NormalizedVertex::Representation + + collection :vertices, as: 'vertices', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Vertex, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Vertex::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ColorInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :color, as: 'color', class: Google::Apis::VisionV1p2beta1::Color, decorator: Google::Apis::VisionV1p2beta1::Color::Representation + + property :pixel_fraction, as: 'pixelFraction' + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1CropHint + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :importance_fraction, as: 'importanceFraction' + end + end + + class GoogleCloudVisionV1p6beta1CropHintsAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :crop_hints, as: 'cropHints', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1CropHint, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1CropHint::Representation + + end + end + + class GoogleCloudVisionV1p6beta1DominantColorsAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :colors, as: 'colors', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ColorInfo, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ColorInfo::Representation + + end + end + + class GoogleCloudVisionV1p6beta1EntityAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :description, as: 'description' + property :locale, as: 'locale' + collection :locations, as: 'locations', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1LocationInfo, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1LocationInfo::Representation + + property :mid, as: 'mid' + collection :properties, as: 'properties', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Property, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Property::Representation + + property :score, as: 'score' + property :topicality, as: 'topicality' + end + end + + class GoogleCloudVisionV1p6beta1FaceAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :anger_likelihood, as: 'angerLikelihood' + property :blurred_likelihood, as: 'blurredLikelihood' + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :detection_confidence, as: 'detectionConfidence' + property :fd_bounding_poly, as: 'fdBoundingPoly', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :headwear_likelihood, as: 'headwearLikelihood' + property :joy_likelihood, as: 'joyLikelihood' + property :landmarking_confidence, as: 'landmarkingConfidence' + collection :landmarks, as: 'landmarks', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1FaceAnnotationLandmark, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1FaceAnnotationLandmark::Representation + + property :pan_angle, as: 'panAngle' + property :roll_angle, as: 'rollAngle' + property :sorrow_likelihood, as: 'sorrowLikelihood' + property :surprise_likelihood, as: 'surpriseLikelihood' + property :tilt_angle, as: 'tiltAngle' + property :under_exposed_likelihood, as: 'underExposedLikelihood' + end + end + + class GoogleCloudVisionV1p6beta1FaceAnnotationLandmark + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :position, as: 'position', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Position, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Position::Representation + + property :type, as: 'type' + end + end + + class GoogleCloudVisionV1p6beta1GcsDestination + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1GcsSource + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1ImageAnnotationContext + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :page_number, as: 'pageNumber' + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1ImageProperties + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :dominant_colors, as: 'dominantColors', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1DominantColorsAnnotation, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1DominantColorsAnnotation::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ImageQuality + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class GoogleCloudVisionV1p6beta1ImportProductSetsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :reference_images, as: 'referenceImages', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ReferenceImage, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ReferenceImage::Representation + + collection :statuses, as: 'statuses', class: Google::Apis::VisionV1p2beta1::Status, decorator: Google::Apis::VisionV1p2beta1::Status::Representation + + end + end + + class GoogleCloudVisionV1p6beta1InputConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :content, :base64 => true, as: 'content' + property :gcs_source, as: 'gcsSource', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1GcsSource, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1GcsSource::Representation + + property :mime_type, as: 'mimeType' + end + end + + class GoogleCloudVisionV1p6beta1LocalizedObjectAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :language_code, as: 'languageCode' + property :mid, as: 'mid' + property :name, as: 'name' + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1LocationInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :lat_lng, as: 'latLng', class: Google::Apis::VisionV1p2beta1::LatLng, decorator: Google::Apis::VisionV1p2beta1::LatLng::Representation + + end + end + + class GoogleCloudVisionV1p6beta1NormalizedVertex + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :x, as: 'x' + property :y, as: 'y' + end + end + + class GoogleCloudVisionV1p6beta1OperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :state, as: 'state' + property :update_time, as: 'updateTime' + end + end + + class GoogleCloudVisionV1p6beta1OutputConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :batch_size, as: 'batchSize' + property :gcs_destination, as: 'gcsDestination', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1GcsDestination, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1GcsDestination::Representation + + end + end + + class GoogleCloudVisionV1p6beta1Page + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :blocks, as: 'blocks', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Block, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Block::Representation + + property :confidence, as: 'confidence' + property :height, as: 'height' + property :property, as: 'property', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + property :width, as: 'width' + end + end + + class GoogleCloudVisionV1p6beta1Paragraph + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :property, as: 'property', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + collection :words, as: 'words', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Word, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Word::Representation + + end + end + + class GoogleCloudVisionV1p6beta1Position + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :x, as: 'x' + property :y, as: 'y' + property :z, as: 'z' + end + end + + class GoogleCloudVisionV1p6beta1Product + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :display_name, as: 'displayName' + property :name, as: 'name' + property :product_category, as: 'productCategory' + collection :product_labels, as: 'productLabels', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductKeyValue, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductKeyValue::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ProductKeyValue + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + + class GoogleCloudVisionV1p6beta1ProductSearchResults + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :index_time, as: 'indexTime' + collection :product_grouped_results, as: 'productGroupedResults', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult::Representation + + collection :results, as: 'results', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsGroupedResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_poly, as: 'boundingPoly', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + collection :results, as: 'results', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1ProductSearchResultsResult::Representation + + end + end + + class GoogleCloudVisionV1p6beta1ProductSearchResultsResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :image, as: 'image' + property :product, as: 'product', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Product, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Product::Representation + + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1Property + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :confidence, as: 'confidence' + property :mid, as: 'mid' + property :name, as: 'name' + property :uint64_value, :numeric_string => true, as: 'uint64Value' + property :value, as: 'value' + end + end + + class GoogleCloudVisionV1p6beta1QualityOptimizationResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :image, :base64 => true, as: 'image' + property :mime_type, as: 'mimeType' + property :quality_optimization_type, as: 'qualityOptimizationType' + end + end + + class GoogleCloudVisionV1p6beta1ReferenceImage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :bounding_polys, as: 'boundingPolys', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :name, as: 'name' + property :uri, as: 'uri' + end + end + + class GoogleCloudVisionV1p6beta1SafeSearchAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :adult, as: 'adult' + property :medical, as: 'medical' + property :racy, as: 'racy' + property :spoof, as: 'spoof' + property :violence, as: 'violence' + end + end + + class GoogleCloudVisionV1p6beta1Symbol + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :property, as: 'property', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + property :text, as: 'text' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :pages, as: 'pages', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Page, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Page::Representation + + property :text, as: 'text' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :is_prefix, as: 'isPrefix' + property :type, as: 'type' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :confidence, as: 'confidence' + property :language_code, as: 'languageCode' + end + end + + class GoogleCloudVisionV1p6beta1TextAnnotationTextProperty + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :detected_break, as: 'detectedBreak', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedBreak::Representation + + collection :detected_languages, as: 'detectedLanguages', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationDetectedLanguage::Representation + + end + end + + class GoogleCloudVisionV1p6beta1Vertex + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :x, as: 'x' + property :y, as: 'y' + end + end + + class GoogleCloudVisionV1p6beta1WebDetection + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :best_guess_labels, as: 'bestGuessLabels', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebLabel, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebLabel::Representation + + collection :full_matching_images, as: 'fullMatchingImages', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + collection :pages_with_matching_images, as: 'pagesWithMatchingImages', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebPage, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebPage::Representation + + collection :partial_matching_images, as: 'partialMatchingImages', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + collection :visually_similar_images, as: 'visuallySimilarImages', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + collection :web_entities, as: 'webEntities', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebEntity, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebEntity::Representation + + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebEntity + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :entity_id, as: 'entityId' + property :score, as: 'score' + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebImage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :score, as: 'score' + property :url, as: 'url' + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebLabel + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :label, as: 'label' + property :language_code, as: 'languageCode' + end + end + + class GoogleCloudVisionV1p6beta1WebDetectionWebPage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :full_matching_images, as: 'fullMatchingImages', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + property :page_title, as: 'pageTitle' + collection :partial_matching_images, as: 'partialMatchingImages', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1WebDetectionWebImage::Representation + + property :score, as: 'score' + property :url, as: 'url' + end + end + + class GoogleCloudVisionV1p6beta1Word + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bounding_box, as: 'boundingBox', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1BoundingPoly::Representation + + property :confidence, as: 'confidence' + property :property, as: 'property', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1TextAnnotationTextProperty::Representation + + collection :symbols, as: 'symbols', class: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Symbol, decorator: Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p6beta1Symbol::Representation + + end + end + class GroupedResult # @private class Representation < Google::Apis::Core::JsonRepresentation