google-api-client 0.41.2 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/generated/google/apis/accessapproval_v1.rb +1 -1
  4. data/generated/google/apis/accessapproval_v1/service.rb +3 -0
  5. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +3 -0
  7. data/generated/google/apis/admob_v1.rb +1 -1
  8. data/generated/google/apis/admob_v1/service.rb +1 -1
  9. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  10. data/generated/google/apis/apigee_v1.rb +1 -1
  11. data/generated/google/apis/apigee_v1/classes.rb +1389 -105
  12. data/generated/google/apis/apigee_v1/representations.rb +543 -0
  13. data/generated/google/apis/apigee_v1/service.rb +1139 -93
  14. data/generated/google/apis/appsmarket_v2.rb +1 -1
  15. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  16. data/generated/google/apis/bigqueryreservation_v1/classes.rb +34 -0
  17. data/generated/google/apis/bigqueryreservation_v1/representations.rb +16 -0
  18. data/generated/google/apis/bigqueryreservation_v1/service.rb +60 -0
  19. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  20. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +8 -0
  21. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +1 -0
  22. data/generated/google/apis/civicinfo_v2.rb +1 -1
  23. data/generated/google/apis/civicinfo_v2/classes.rb +9 -1
  24. data/generated/google/apis/civicinfo_v2/representations.rb +1 -0
  25. data/generated/google/apis/civicinfo_v2/service.rb +1 -1
  26. data/generated/google/apis/classroom_v1.rb +1 -1
  27. data/generated/google/apis/classroom_v1/service.rb +4 -3
  28. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  29. data/generated/google/apis/cloudfunctions_v1/classes.rb +14 -0
  30. data/generated/google/apis/cloudfunctions_v1/representations.rb +2 -0
  31. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  32. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  33. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  34. data/generated/google/apis/{androidpublisher_v1.rb → customsearch_v1.rb} +8 -8
  35. data/generated/google/apis/customsearch_v1/classes.rb +1606 -0
  36. data/generated/google/apis/customsearch_v1/representations.rb +372 -0
  37. data/generated/google/apis/customsearch_v1/service.rb +608 -0
  38. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  39. data/generated/google/apis/dialogflow_v2beta1/classes.rb +4 -2
  40. data/generated/google/apis/dialogflow_v2beta1/service.rb +8 -2
  41. data/generated/google/apis/displayvideo_v1.rb +1 -1
  42. data/generated/google/apis/displayvideo_v1/classes.rb +12 -5
  43. data/generated/google/apis/dns_v1.rb +4 -4
  44. data/generated/google/apis/dns_v1/classes.rb +313 -162
  45. data/generated/google/apis/dns_v1/service.rb +247 -180
  46. data/generated/google/apis/file_v1.rb +1 -1
  47. data/generated/google/apis/file_v1beta1.rb +1 -1
  48. data/generated/google/apis/{groupsmigration_v1.rb → firebasehosting_v1.rb} +10 -12
  49. data/generated/google/apis/firebasehosting_v1/classes.rb +186 -0
  50. data/generated/google/apis/{androidpublisher_v2 → firebasehosting_v1}/representations.rb +22 -32
  51. data/generated/google/apis/firebasehosting_v1/service.rb +183 -0
  52. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  53. data/generated/google/apis/firebasehosting_v1beta1/service.rb +2 -0
  54. data/generated/google/apis/games_v1.rb +5 -3
  55. data/generated/google/apis/games_v1/classes.rb +354 -2112
  56. data/generated/google/apis/games_v1/representations.rb +12 -647
  57. data/generated/google/apis/games_v1/service.rb +212 -1154
  58. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  59. data/generated/google/apis/gameservices_v1beta/classes.rb +6 -6
  60. data/generated/google/apis/groupssettings_v1.rb +1 -1
  61. data/generated/google/apis/groupssettings_v1/classes.rb +1 -1
  62. data/generated/google/apis/ml_v1.rb +1 -1
  63. data/generated/google/apis/ml_v1/classes.rb +6 -6
  64. data/generated/google/apis/monitoring_v3.rb +1 -1
  65. data/generated/google/apis/monitoring_v3/classes.rb +10 -2
  66. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  67. data/generated/google/apis/monitoring_v3/service.rb +8 -5
  68. data/generated/google/apis/pubsub_v1.rb +1 -1
  69. data/generated/google/apis/pubsub_v1/classes.rb +24 -28
  70. data/generated/google/apis/pubsub_v1/service.rb +35 -44
  71. data/generated/google/apis/recommender_v1.rb +1 -1
  72. data/generated/google/apis/recommender_v1/classes.rb +211 -0
  73. data/generated/google/apis/recommender_v1/representations.rb +96 -0
  74. data/generated/google/apis/recommender_v1/service.rb +123 -0
  75. data/generated/google/apis/redis_v1.rb +1 -1
  76. data/generated/google/apis/redis_v1beta1.rb +1 -1
  77. data/generated/google/apis/testing_v1.rb +1 -1
  78. data/generated/google/apis/testing_v1/classes.rb +17 -6
  79. data/generated/google/apis/testing_v1/representations.rb +1 -0
  80. data/generated/google/apis/youtube_partner_v1.rb +4 -3
  81. data/generated/google/apis/youtube_partner_v1/classes.rb +1616 -1076
  82. data/generated/google/apis/youtube_partner_v1/representations.rb +357 -256
  83. data/generated/google/apis/youtube_partner_v1/service.rb +942 -1362
  84. data/generated/google/apis/youtube_v3.rb +1 -1
  85. data/generated/google/apis/youtube_v3/classes.rb +554 -0
  86. data/generated/google/apis/youtube_v3/representations.rb +281 -0
  87. data/generated/google/apis/youtube_v3/service.rb +259 -0
  88. data/lib/google/apis/version.rb +1 -1
  89. metadata +11 -19
  90. data/generated/google/apis/androidpublisher_v1/classes.rb +0 -26
  91. data/generated/google/apis/androidpublisher_v1/representations.rb +0 -26
  92. data/generated/google/apis/androidpublisher_v1/service.rb +0 -64
  93. data/generated/google/apis/androidpublisher_v1_1.rb +0 -34
  94. data/generated/google/apis/androidpublisher_v1_1/classes.rb +0 -94
  95. data/generated/google/apis/androidpublisher_v1_1/representations.rb +0 -45
  96. data/generated/google/apis/androidpublisher_v1_1/service.rb +0 -104
  97. data/generated/google/apis/androidpublisher_v2.rb +0 -34
  98. data/generated/google/apis/androidpublisher_v2/classes.rb +0 -223
  99. data/generated/google/apis/androidpublisher_v2/service.rb +0 -160
  100. data/generated/google/apis/groupsmigration_v1/classes.rb +0 -51
  101. data/generated/google/apis/groupsmigration_v1/representations.rb +0 -40
  102. data/generated/google/apis/groupsmigration_v1/service.rb +0 -100
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/apps-marketplace
27
27
  module AppsmarketV2
28
28
  VERSION = 'V2'
29
- REVISION = '20200615'
29
+ REVISION = '20200706'
30
30
 
31
31
  # View your installed application's licensing information
32
32
  AUTH_APPSMARKETPLACE_LICENSE = 'https://www.googleapis.com/auth/appsmarketplace.license'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/bigquery/
26
26
  module BigqueryreservationV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200619'
28
+ REVISION = '20200702'
29
29
 
30
30
  # View and manage your data in Google BigQuery
31
31
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -113,6 +113,13 @@ module Google
113
113
  # @return [String]
114
114
  attr_accessor :commitment_end_time
115
115
 
116
+ # Output only. The start of the current commitment period. It is applicable only
117
+ # for
118
+ # ACTIVE capacity commitments.
119
+ # Corresponds to the JSON property `commitmentStartTime`
120
+ # @return [String]
121
+ attr_accessor :commitment_start_time
122
+
116
123
  # The `Status` type defines a logical error model that is suitable for
117
124
  # different programming environments, including REST APIs and RPC APIs. It is
118
125
  # used by [gRPC](https://github.com/grpc). Each `Status` message contains
@@ -158,6 +165,7 @@ module Google
158
165
  # Update properties of this object
159
166
  def update!(**args)
160
167
  @commitment_end_time = args[:commitment_end_time] if args.key?(:commitment_end_time)
168
+ @commitment_start_time = args[:commitment_start_time] if args.key?(:commitment_start_time)
161
169
  @failure_status = args[:failure_status] if args.key?(:failure_status)
162
170
  @name = args[:name] if args.key?(:name)
163
171
  @plan = args[:plan] if args.key?(:plan)
@@ -465,6 +473,32 @@ module Google
465
473
  end
466
474
  end
467
475
 
476
+ # The response for ReservationService.SearchAllAssignments.
477
+ class SearchAllAssignmentsResponse
478
+ include Google::Apis::Core::Hashable
479
+
480
+ # List of assignments visible to the user.
481
+ # Corresponds to the JSON property `assignments`
482
+ # @return [Array<Google::Apis::BigqueryreservationV1::Assignment>]
483
+ attr_accessor :assignments
484
+
485
+ # Token to retrieve the next page of results, or empty if there are no
486
+ # more results in the list.
487
+ # Corresponds to the JSON property `nextPageToken`
488
+ # @return [String]
489
+ attr_accessor :next_page_token
490
+
491
+ def initialize(**args)
492
+ update!(**args)
493
+ end
494
+
495
+ # Update properties of this object
496
+ def update!(**args)
497
+ @assignments = args[:assignments] if args.key?(:assignments)
498
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
499
+ end
500
+ end
501
+
468
502
  # The response for ReservationService.SearchAssignments.
469
503
  class SearchAssignmentsResponse
470
504
  include Google::Apis::Core::Hashable
@@ -100,6 +100,12 @@ module Google
100
100
  include Google::Apis::Core::JsonObjectSupport
101
101
  end
102
102
 
103
+ class SearchAllAssignmentsResponse
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
103
109
  class SearchAssignmentsResponse
104
110
  class Representation < Google::Apis::Core::JsonRepresentation; end
105
111
 
@@ -147,6 +153,7 @@ module Google
147
153
  # @private
148
154
  class Representation < Google::Apis::Core::JsonRepresentation
149
155
  property :commitment_end_time, as: 'commitmentEndTime'
156
+ property :commitment_start_time, as: 'commitmentStartTime'
150
157
  property :failure_status, as: 'failureStatus', class: Google::Apis::BigqueryreservationV1::Status, decorator: Google::Apis::BigqueryreservationV1::Status::Representation
151
158
 
152
159
  property :name, as: 'name'
@@ -241,6 +248,15 @@ module Google
241
248
  end
242
249
  end
243
250
 
251
+ class SearchAllAssignmentsResponse
252
+ # @private
253
+ class Representation < Google::Apis::Core::JsonRepresentation
254
+ collection :assignments, as: 'assignments', class: Google::Apis::BigqueryreservationV1::Assignment, decorator: Google::Apis::BigqueryreservationV1::Assignment::Representation
255
+
256
+ property :next_page_token, as: 'nextPageToken'
257
+ end
258
+ end
259
+
244
260
  class SearchAssignmentsResponse
245
261
  # @private
246
262
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -158,6 +158,66 @@ module Google
158
158
  execute_or_queue_command(command, &block)
159
159
  end
160
160
 
161
+ # Looks up assignments for a specified resource for a particular region.
162
+ # If the request is about a project:
163
+ # 1. Assignments created on the project will be returned if they exist.
164
+ # 2. Otherwise assignments created on the closest ancestor will be
165
+ # returned.
166
+ # 3. Assignments for different JobTypes will all be returned.
167
+ # The same logic applies if the request is about a folder.
168
+ # If the request is about an organization, then assignments created on the
169
+ # organization will be returned (organization doesn't have ancestors).
170
+ # Comparing to ListAssignments, there are some behavior
171
+ # differences:
172
+ # 1. permission on the assignee will be verified in this API.
173
+ # 2. Hierarchy lookup (project->folder->organization) happens in this API.
174
+ # 3. Parent here is `projects/*/locations/*`, instead of
175
+ # `projects/*/locations/*reservations/*`.
176
+ # @param [String] parent
177
+ # Required. The resource name with location (project name could be the wildcard '
178
+ # -'),
179
+ # e.g.:
180
+ # `projects/-/locations/US`.
181
+ # @param [Fixnum] page_size
182
+ # The maximum number of items to return per page.
183
+ # @param [String] page_token
184
+ # The next_page_token value returned from a previous List request, if any.
185
+ # @param [String] query
186
+ # Please specify resource name as assignee in the query.
187
+ # Examples:
188
+ # * `assignee=projects/myproject`
189
+ # * `assignee=folders/123`
190
+ # * `assignee=organizations/456`
191
+ # @param [String] fields
192
+ # Selector specifying which fields to include in a partial response.
193
+ # @param [String] quota_user
194
+ # Available to use for quota purposes for server-side applications. Can be any
195
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
196
+ # @param [Google::Apis::RequestOptions] options
197
+ # Request-specific options
198
+ #
199
+ # @yield [result, err] Result & error if block supplied
200
+ # @yieldparam result [Google::Apis::BigqueryreservationV1::SearchAllAssignmentsResponse] parsed result object
201
+ # @yieldparam err [StandardError] error object if request failed
202
+ #
203
+ # @return [Google::Apis::BigqueryreservationV1::SearchAllAssignmentsResponse]
204
+ #
205
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
206
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
207
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
208
+ def search_project_location_all_assignments(parent, page_size: nil, page_token: nil, query: nil, fields: nil, quota_user: nil, options: nil, &block)
209
+ command = make_simple_command(:get, 'v1/{+parent}:searchAllAssignments', options)
210
+ command.response_representation = Google::Apis::BigqueryreservationV1::SearchAllAssignmentsResponse::Representation
211
+ command.response_class = Google::Apis::BigqueryreservationV1::SearchAllAssignmentsResponse
212
+ command.params['parent'] = parent unless parent.nil?
213
+ command.query['pageSize'] = page_size unless page_size.nil?
214
+ command.query['pageToken'] = page_token unless page_token.nil?
215
+ command.query['query'] = query unless query.nil?
216
+ command.query['fields'] = fields unless fields.nil?
217
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
218
+ execute_or_queue_command(command, &block)
219
+ end
220
+
161
221
  # Looks up assignments for a specified resource for a particular region.
162
222
  # If the request is about a project:
163
223
  # 1. Assignments created on the project will be returned if they exist.
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/bigquery/
26
26
  module BigqueryreservationV1beta1
27
27
  VERSION = 'V1beta1'
28
- REVISION = '20200619'
28
+ REVISION = '20200702'
29
29
 
30
30
  # View and manage your data in Google BigQuery
31
31
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -113,6 +113,13 @@ module Google
113
113
  # @return [String]
114
114
  attr_accessor :commitment_end_time
115
115
 
116
+ # Output only. The start of the current commitment period. It is applicable only
117
+ # for
118
+ # ACTIVE capacity commitments.
119
+ # Corresponds to the JSON property `commitmentStartTime`
120
+ # @return [String]
121
+ attr_accessor :commitment_start_time
122
+
116
123
  # The `Status` type defines a logical error model that is suitable for
117
124
  # different programming environments, including REST APIs and RPC APIs. It is
118
125
  # used by [gRPC](https://github.com/grpc). Each `Status` message contains
@@ -158,6 +165,7 @@ module Google
158
165
  # Update properties of this object
159
166
  def update!(**args)
160
167
  @commitment_end_time = args[:commitment_end_time] if args.key?(:commitment_end_time)
168
+ @commitment_start_time = args[:commitment_start_time] if args.key?(:commitment_start_time)
161
169
  @failure_status = args[:failure_status] if args.key?(:failure_status)
162
170
  @name = args[:name] if args.key?(:name)
163
171
  @plan = args[:plan] if args.key?(:plan)
@@ -135,6 +135,7 @@ module Google
135
135
  # @private
136
136
  class Representation < Google::Apis::Core::JsonRepresentation
137
137
  property :commitment_end_time, as: 'commitmentEndTime'
138
+ property :commitment_start_time, as: 'commitmentStartTime'
138
139
  property :failure_status, as: 'failureStatus', class: Google::Apis::BigqueryreservationV1beta1::Status, decorator: Google::Apis::BigqueryreservationV1beta1::Status::Representation
139
140
 
140
141
  property :name, as: 'name'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/civic-information/
27
27
  module CivicinfoV2
28
28
  VERSION = 'V2'
29
- REVISION = '20200624'
29
+ REVISION = '20200706'
30
30
  end
31
31
  end
32
32
  end
@@ -317,7 +317,14 @@ module Google
317
317
  # @return [String]
318
318
  attr_accessor :office
319
319
 
320
- # If this is a partisan election, the name of the party it is for.
320
+ # If this is a partisan election, the name of the party/parties it is for.
321
+ # Corresponds to the JSON property `primaryParties`
322
+ # @return [Array<String>]
323
+ attr_accessor :primary_parties
324
+
325
+ # [DEPRECATED] If this is a partisan election, the name of the party it is for.
326
+ # This field as deprecated in favor of the array "primaryParties", as contests
327
+ # may contain more than one party.
321
328
  # Corresponds to the JSON property `primaryParty`
322
329
  # @return [String]
323
330
  attr_accessor :primary_party
@@ -425,6 +432,7 @@ module Google
425
432
  @number_elected = args[:number_elected] if args.key?(:number_elected)
426
433
  @number_voting_for = args[:number_voting_for] if args.key?(:number_voting_for)
427
434
  @office = args[:office] if args.key?(:office)
435
+ @primary_parties = args[:primary_parties] if args.key?(:primary_parties)
428
436
  @primary_party = args[:primary_party] if args.key?(:primary_party)
429
437
  @referendum_ballot_responses = args[:referendum_ballot_responses] if args.key?(:referendum_ballot_responses)
430
438
  @referendum_brief = args[:referendum_brief] if args.key?(:referendum_brief)
@@ -216,6 +216,7 @@ module Google
216
216
  property :number_elected, :numeric_string => true, as: 'numberElected'
217
217
  property :number_voting_for, :numeric_string => true, as: 'numberVotingFor'
218
218
  property :office, as: 'office'
219
+ collection :primary_parties, as: 'primaryParties'
219
220
  property :primary_party, as: 'primaryParty'
220
221
  collection :referendum_ballot_responses, as: 'referendumBallotResponses'
221
222
  property :referendum_brief, as: 'referendumBrief'
@@ -121,7 +121,7 @@ module Google
121
121
  # @param [Boolean] official_only
122
122
  # If set to true, only data from official state sources will be returned.
123
123
  # @param [Boolean] return_all_available_data
124
- # If set to true, the query will return the success codeand include any partial
124
+ # If set to true, the query will return the success code and include any partial
125
125
  # information when it is unable to determine a matching address or unable to
126
126
  # determine the election for electionId=0 queries.
127
127
  # @param [String] fields
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/classroom/
26
26
  module ClassroomV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200408'
28
+ REVISION = '20200706'
29
29
 
30
30
  # View and manage announcements in Google Classroom
31
31
  AUTH_CLASSROOM_ANNOUNCEMENTS = 'https://www.googleapis.com/auth/classroom.announcements'
@@ -1626,7 +1626,7 @@ module Google
1626
1626
  # This identifier can be either the Classroom-assigned identifier or an
1627
1627
  # alias.
1628
1628
  # @param [Fixnum] page_size
1629
- # Maximum number of items to return. Zero means no maximum.
1629
+ # Maximum number of items to return. The default is 30 if unspecified or `0`.
1630
1630
  # The server may return fewer than the specified number of results.
1631
1631
  # @param [String] page_token
1632
1632
  # nextPageToken
@@ -1811,7 +1811,7 @@ module Google
1811
1811
  # This identifier can be either the Classroom-assigned identifier or an
1812
1812
  # alias.
1813
1813
  # @param [Fixnum] page_size
1814
- # Maximum number of items to return. Zero means no maximum.
1814
+ # Maximum number of items to return. The default is 30 if unspecified or `0`.
1815
1815
  # The server may return fewer than the specified number of results.
1816
1816
  # @param [String] page_token
1817
1817
  # nextPageToken
@@ -2231,7 +2231,8 @@ module Google
2231
2231
  # Restricts returned invitations to those for a course with the specified
2232
2232
  # identifier.
2233
2233
  # @param [Fixnum] page_size
2234
- # Maximum number of items to return. Zero means no maximum.
2234
+ # Maximum number of items to return. The default is 500 if unspecified or
2235
+ # `0`.
2235
2236
  # The server may return fewer than the specified number of results.
2236
2237
  # @param [String] page_token
2237
2238
  # nextPageToken
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/functions
26
26
  module CloudfunctionsV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200610'
28
+ REVISION = '20200629'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -284,6 +284,12 @@ module Google
284
284
  # @return [Fixnum]
285
285
  attr_accessor :available_memory_mb
286
286
 
287
+ # Output only. The Cloud Build ID of the latest successful deployment of the
288
+ # function.
289
+ # Corresponds to the JSON property `buildId`
290
+ # @return [String]
291
+ attr_accessor :build_id
292
+
287
293
  # User-provided description of a function.
288
294
  # Corresponds to the JSON property `description`
289
295
  # @return [String]
@@ -436,6 +442,7 @@ module Google
436
442
  # Update properties of this object
437
443
  def update!(**args)
438
444
  @available_memory_mb = args[:available_memory_mb] if args.key?(:available_memory_mb)
445
+ @build_id = args[:build_id] if args.key?(:build_id)
439
446
  @description = args[:description] if args.key?(:description)
440
447
  @entry_point = args[:entry_point] if args.key?(:entry_point)
441
448
  @environment_variables = args[:environment_variables] if args.key?(:environment_variables)
@@ -907,6 +914,12 @@ module Google
907
914
  class OperationMetadataV1
908
915
  include Google::Apis::Core::Hashable
909
916
 
917
+ # The Cloud Build ID of the function created or updated by an API call.
918
+ # This field is only populated for Create and Update operations.
919
+ # Corresponds to the JSON property `buildId`
920
+ # @return [String]
921
+ attr_accessor :build_id
922
+
910
923
  # The original request that started the operation.
911
924
  # Corresponds to the JSON property `request`
912
925
  # @return [Hash<String,Object>]
@@ -940,6 +953,7 @@ module Google
940
953
 
941
954
  # Update properties of this object
942
955
  def update!(**args)
956
+ @build_id = args[:build_id] if args.key?(:build_id)
943
957
  @request = args[:request] if args.key?(:request)
944
958
  @target = args[:target] if args.key?(:target)
945
959
  @type = args[:type] if args.key?(:type)
@@ -237,6 +237,7 @@ module Google
237
237
  # @private
238
238
  class Representation < Google::Apis::Core::JsonRepresentation
239
239
  property :available_memory_mb, as: 'availableMemoryMb'
240
+ property :build_id, as: 'buildId'
240
241
  property :description, as: 'description'
241
242
  property :entry_point, as: 'entryPoint'
242
243
  hash :environment_variables, as: 'environmentVariables'
@@ -381,6 +382,7 @@ module Google
381
382
  class OperationMetadataV1
382
383
  # @private
383
384
  class Representation < Google::Apis::Core::JsonRepresentation
385
+ property :build_id, as: 'buildId'
384
386
  hash :request, as: 'request'
385
387
  property :target, as: 'target'
386
388
  property :type, as: 'type'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/functions
26
26
  module CloudfunctionsV1beta2
27
27
  VERSION = 'V1beta2'
28
- REVISION = '20200219'
28
+ REVISION = '20200629'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -635,6 +635,12 @@ module Google
635
635
  class OperationMetadataV1
636
636
  include Google::Apis::Core::Hashable
637
637
 
638
+ # The Cloud Build ID of the function created or updated by an API call.
639
+ # This field is only populated for Create and Update operations.
640
+ # Corresponds to the JSON property `buildId`
641
+ # @return [String]
642
+ attr_accessor :build_id
643
+
638
644
  # The original request that started the operation.
639
645
  # Corresponds to the JSON property `request`
640
646
  # @return [Hash<String,Object>]
@@ -668,6 +674,7 @@ module Google
668
674
 
669
675
  # Update properties of this object
670
676
  def update!(**args)
677
+ @build_id = args[:build_id] if args.key?(:build_id)
671
678
  @request = args[:request] if args.key?(:request)
672
679
  @target = args[:target] if args.key?(:target)
673
680
  @type = args[:type] if args.key?(:type)
@@ -295,6 +295,7 @@ module Google
295
295
  class OperationMetadataV1
296
296
  # @private
297
297
  class Representation < Google::Apis::Core::JsonRepresentation
298
+ property :build_id, as: 'buildId'
298
299
  hash :request, as: 'request'
299
300
  property :target, as: 'target'
300
301
  property :type, as: 'type'
@@ -12,20 +12,20 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/apis/androidpublisher_v1/service.rb'
16
- require 'google/apis/androidpublisher_v1/classes.rb'
17
- require 'google/apis/androidpublisher_v1/representations.rb'
15
+ require 'google/apis/customsearch_v1/service.rb'
16
+ require 'google/apis/customsearch_v1/classes.rb'
17
+ require 'google/apis/customsearch_v1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Google Play Developer API
21
+ # Custom Search API
22
22
  #
23
- # Accesses Android application developers' Google Play accounts.
23
+ # Searches over a website or collection of websites
24
24
  #
25
- # @see https://developers.google.com/android-publisher
26
- module AndroidpublisherV1
25
+ # @see https://developers.google.com/custom-search/v1/introduction
26
+ module CustomsearchV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200428'
28
+ REVISION = '20200707'
29
29
  end
30
30
  end
31
31
  end
@@ -0,0 +1,1606 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module CustomsearchV1
24
+
25
+ # Promotion result.
26
+ class Promotion
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # An array of block objects for this promotion. See [Google WebSearch
30
+ # Protocol
31
+ # reference](https://developers.google.com/custom-search/docs/xml_results)
32
+ # for more information.
33
+ # Corresponds to the JSON property `bodyLines`
34
+ # @return [Array<Google::Apis::CustomsearchV1::Promotion::BodyLine>]
35
+ attr_accessor :body_lines
36
+
37
+ # An abridged version of this search's result URL, e.g. www.example.com.
38
+ # Corresponds to the JSON property `displayLink`
39
+ # @return [String]
40
+ attr_accessor :display_link
41
+
42
+ # The title of the promotion, in HTML.
43
+ # Corresponds to the JSON property `htmlTitle`
44
+ # @return [String]
45
+ attr_accessor :html_title
46
+
47
+ # Image belonging to a promotion.
48
+ # Corresponds to the JSON property `image`
49
+ # @return [Google::Apis::CustomsearchV1::Promotion::Image]
50
+ attr_accessor :image
51
+
52
+ # The URL of the promotion.
53
+ # Corresponds to the JSON property `link`
54
+ # @return [String]
55
+ attr_accessor :link
56
+
57
+ # The title of the promotion.
58
+ # Corresponds to the JSON property `title`
59
+ # @return [String]
60
+ attr_accessor :title
61
+
62
+ def initialize(**args)
63
+ update!(**args)
64
+ end
65
+
66
+ # Update properties of this object
67
+ def update!(**args)
68
+ @body_lines = args[:body_lines] if args.key?(:body_lines)
69
+ @display_link = args[:display_link] if args.key?(:display_link)
70
+ @html_title = args[:html_title] if args.key?(:html_title)
71
+ @image = args[:image] if args.key?(:image)
72
+ @link = args[:link] if args.key?(:link)
73
+ @title = args[:title] if args.key?(:title)
74
+ end
75
+
76
+ # Block object belonging to a promotion.
77
+ class BodyLine
78
+ include Google::Apis::Core::Hashable
79
+
80
+ # The block object's text in HTML, if it has text.
81
+ # Corresponds to the JSON property `htmlTitle`
82
+ # @return [String]
83
+ attr_accessor :html_title
84
+
85
+ # The anchor text of the block object's link, if it has a link.
86
+ # Corresponds to the JSON property `link`
87
+ # @return [String]
88
+ attr_accessor :link
89
+
90
+ # The block object's text, if it has text.
91
+ # Corresponds to the JSON property `title`
92
+ # @return [String]
93
+ attr_accessor :title
94
+
95
+ # The URL of the block object's link, if it has one.
96
+ # Corresponds to the JSON property `url`
97
+ # @return [String]
98
+ attr_accessor :url
99
+
100
+ def initialize(**args)
101
+ update!(**args)
102
+ end
103
+
104
+ # Update properties of this object
105
+ def update!(**args)
106
+ @html_title = args[:html_title] if args.key?(:html_title)
107
+ @link = args[:link] if args.key?(:link)
108
+ @title = args[:title] if args.key?(:title)
109
+ @url = args[:url] if args.key?(:url)
110
+ end
111
+ end
112
+
113
+ # Image belonging to a promotion.
114
+ class Image
115
+ include Google::Apis::Core::Hashable
116
+
117
+ # Image height in pixels.
118
+ # Corresponds to the JSON property `height`
119
+ # @return [Fixnum]
120
+ attr_accessor :height
121
+
122
+ # URL of the image for this promotion link.
123
+ # Corresponds to the JSON property `source`
124
+ # @return [String]
125
+ attr_accessor :source
126
+
127
+ # Image width in pixels.
128
+ # Corresponds to the JSON property `width`
129
+ # @return [Fixnum]
130
+ attr_accessor :width
131
+
132
+ def initialize(**args)
133
+ update!(**args)
134
+ end
135
+
136
+ # Update properties of this object
137
+ def update!(**args)
138
+ @height = args[:height] if args.key?(:height)
139
+ @source = args[:source] if args.key?(:source)
140
+ @width = args[:width] if args.key?(:width)
141
+ end
142
+ end
143
+ end
144
+
145
+ # A custom search result.
146
+ class Result
147
+ include Google::Apis::Core::Hashable
148
+
149
+ # Indicates the ID of Google's cached version of the search result.
150
+ # Corresponds to the JSON property `cacheId`
151
+ # @return [String]
152
+ attr_accessor :cache_id
153
+
154
+ # An abridged version of this search result’s URL, e.g. www.example.com.
155
+ # Corresponds to the JSON property `displayLink`
156
+ # @return [String]
157
+ attr_accessor :display_link
158
+
159
+ # The file format of the search result.
160
+ # Corresponds to the JSON property `fileFormat`
161
+ # @return [String]
162
+ attr_accessor :file_format
163
+
164
+ # The URL displayed after the snippet for each search result.
165
+ # Corresponds to the JSON property `formattedUrl`
166
+ # @return [String]
167
+ attr_accessor :formatted_url
168
+
169
+ # The HTML-formatted URL displayed after the snippet for each search result.
170
+ # Corresponds to the JSON property `htmlFormattedUrl`
171
+ # @return [String]
172
+ attr_accessor :html_formatted_url
173
+
174
+ # The snippet of the search result, in HTML.
175
+ # Corresponds to the JSON property `htmlSnippet`
176
+ # @return [String]
177
+ attr_accessor :html_snippet
178
+
179
+ # The title of the search result, in HTML.
180
+ # Corresponds to the JSON property `htmlTitle`
181
+ # @return [String]
182
+ attr_accessor :html_title
183
+
184
+ # Image belonging to a custom search result.
185
+ # Corresponds to the JSON property `image`
186
+ # @return [Google::Apis::CustomsearchV1::Result::Image]
187
+ attr_accessor :image
188
+
189
+ # A unique identifier for the type of current object. For this API, it is
190
+ # `customsearch#result.`
191
+ # Corresponds to the JSON property `kind`
192
+ # @return [String]
193
+ attr_accessor :kind
194
+
195
+ # Encapsulates all information about [refinement
196
+ # labels](https://developers.google.com/custom-search/docs/xml_results).
197
+ # Corresponds to the JSON property `labels`
198
+ # @return [Array<Google::Apis::CustomsearchV1::Result::Label>]
199
+ attr_accessor :labels
200
+
201
+ # The full URL to which the search result is pointing, e.g.
202
+ # http://www.example.com/foo/bar.
203
+ # Corresponds to the JSON property `link`
204
+ # @return [String]
205
+ attr_accessor :link
206
+
207
+ # The MIME type of the search result.
208
+ # Corresponds to the JSON property `mime`
209
+ # @return [String]
210
+ attr_accessor :mime
211
+
212
+ # Contains
213
+ # [PageMap](https://developers.google.com/custom-search/docs/structured_data#
214
+ # pagemaps)
215
+ # information for this search result.
216
+ # Corresponds to the JSON property `pagemap`
217
+ # @return [Hash<String,Object>]
218
+ attr_accessor :pagemap
219
+
220
+ # The snippet of the search result, in plain text.
221
+ # Corresponds to the JSON property `snippet`
222
+ # @return [String]
223
+ attr_accessor :snippet
224
+
225
+ # The title of the search result, in plain text.
226
+ # Corresponds to the JSON property `title`
227
+ # @return [String]
228
+ attr_accessor :title
229
+
230
+ def initialize(**args)
231
+ update!(**args)
232
+ end
233
+
234
+ # Update properties of this object
235
+ def update!(**args)
236
+ @cache_id = args[:cache_id] if args.key?(:cache_id)
237
+ @display_link = args[:display_link] if args.key?(:display_link)
238
+ @file_format = args[:file_format] if args.key?(:file_format)
239
+ @formatted_url = args[:formatted_url] if args.key?(:formatted_url)
240
+ @html_formatted_url = args[:html_formatted_url] if args.key?(:html_formatted_url)
241
+ @html_snippet = args[:html_snippet] if args.key?(:html_snippet)
242
+ @html_title = args[:html_title] if args.key?(:html_title)
243
+ @image = args[:image] if args.key?(:image)
244
+ @kind = args[:kind] if args.key?(:kind)
245
+ @labels = args[:labels] if args.key?(:labels)
246
+ @link = args[:link] if args.key?(:link)
247
+ @mime = args[:mime] if args.key?(:mime)
248
+ @pagemap = args[:pagemap] if args.key?(:pagemap)
249
+ @snippet = args[:snippet] if args.key?(:snippet)
250
+ @title = args[:title] if args.key?(:title)
251
+ end
252
+
253
+ # Image belonging to a custom search result.
254
+ class Image
255
+ include Google::Apis::Core::Hashable
256
+
257
+ # The size of the image, in pixels.
258
+ # Corresponds to the JSON property `byteSize`
259
+ # @return [Fixnum]
260
+ attr_accessor :byte_size
261
+
262
+ # A URL pointing to the webpage hosting the image.
263
+ # Corresponds to the JSON property `contextLink`
264
+ # @return [String]
265
+ attr_accessor :context_link
266
+
267
+ # The height of the image, in pixels.
268
+ # Corresponds to the JSON property `height`
269
+ # @return [Fixnum]
270
+ attr_accessor :height
271
+
272
+ # The height of the thumbnail image, in pixels.
273
+ # Corresponds to the JSON property `thumbnailHeight`
274
+ # @return [Fixnum]
275
+ attr_accessor :thumbnail_height
276
+
277
+ # A URL to the thumbnail image.
278
+ # Corresponds to the JSON property `thumbnailLink`
279
+ # @return [String]
280
+ attr_accessor :thumbnail_link
281
+
282
+ # The width of the thumbnail image, in pixels.
283
+ # Corresponds to the JSON property `thumbnailWidth`
284
+ # @return [Fixnum]
285
+ attr_accessor :thumbnail_width
286
+
287
+ # The width of the image, in pixels.
288
+ # Corresponds to the JSON property `width`
289
+ # @return [Fixnum]
290
+ attr_accessor :width
291
+
292
+ def initialize(**args)
293
+ update!(**args)
294
+ end
295
+
296
+ # Update properties of this object
297
+ def update!(**args)
298
+ @byte_size = args[:byte_size] if args.key?(:byte_size)
299
+ @context_link = args[:context_link] if args.key?(:context_link)
300
+ @height = args[:height] if args.key?(:height)
301
+ @thumbnail_height = args[:thumbnail_height] if args.key?(:thumbnail_height)
302
+ @thumbnail_link = args[:thumbnail_link] if args.key?(:thumbnail_link)
303
+ @thumbnail_width = args[:thumbnail_width] if args.key?(:thumbnail_width)
304
+ @width = args[:width] if args.key?(:width)
305
+ end
306
+ end
307
+
308
+ # Refinement label associated with a custom search result.
309
+ class Label
310
+ include Google::Apis::Core::Hashable
311
+
312
+ # The display name of a refinement label. This is the name you should
313
+ # display in your user interface.
314
+ # Corresponds to the JSON property `displayName`
315
+ # @return [String]
316
+ attr_accessor :display_name
317
+
318
+ # Refinement label and the associated refinement operation.
319
+ # Corresponds to the JSON property `label_with_op`
320
+ # @return [String]
321
+ attr_accessor :label_with_op
322
+
323
+ # The name of a refinement label, which you can use to refine searches.
324
+ # Don't display this in your user interface; instead, use displayName.
325
+ # Corresponds to the JSON property `name`
326
+ # @return [String]
327
+ attr_accessor :name
328
+
329
+ def initialize(**args)
330
+ update!(**args)
331
+ end
332
+
333
+ # Update properties of this object
334
+ def update!(**args)
335
+ @display_name = args[:display_name] if args.key?(:display_name)
336
+ @label_with_op = args[:label_with_op] if args.key?(:label_with_op)
337
+ @name = args[:name] if args.key?(:name)
338
+ end
339
+ end
340
+ end
341
+
342
+ # Response to a custom search request.
343
+ class Search
344
+ include Google::Apis::Core::Hashable
345
+
346
+ # Metadata and refinements associated with the given search engine,
347
+ # including:
348
+ # * The name of the search engine that was used for the query.
349
+ # * A set of [facet
350
+ # objects](https://developers.google.com/custom-search/docs/refinements#create)
351
+ # (refinements) you can use for refining a search.
352
+ # Corresponds to the JSON property `context`
353
+ # @return [Hash<String,Object>]
354
+ attr_accessor :context
355
+
356
+ # The current set of custom search results.
357
+ # Corresponds to the JSON property `items`
358
+ # @return [Array<Google::Apis::CustomsearchV1::Result>]
359
+ attr_accessor :items
360
+
361
+ # Unique identifier for the type of current object. For this API, it is
362
+ # customsearch#search.
363
+ # Corresponds to the JSON property `kind`
364
+ # @return [String]
365
+ attr_accessor :kind
366
+
367
+ # The set of
368
+ # [promotions](https://developers.google.com/custom-search/docs/promotions).
369
+ # Present only if the custom search engine's configuration files define any
370
+ # promotions for the given query.
371
+ # Corresponds to the JSON property `promotions`
372
+ # @return [Array<Google::Apis::CustomsearchV1::Promotion>]
373
+ attr_accessor :promotions
374
+
375
+ # Query metadata for the previous, current, and next pages of results.
376
+ # Corresponds to the JSON property `queries`
377
+ # @return [Google::Apis::CustomsearchV1::Search::Queries]
378
+ attr_accessor :queries
379
+
380
+ # Metadata about a search operation.
381
+ # Corresponds to the JSON property `searchInformation`
382
+ # @return [Google::Apis::CustomsearchV1::Search::SearchInformation]
383
+ attr_accessor :search_information
384
+
385
+ # Spell correction information for a query.
386
+ # Corresponds to the JSON property `spelling`
387
+ # @return [Google::Apis::CustomsearchV1::Search::Spelling]
388
+ attr_accessor :spelling
389
+
390
+ # OpenSearch template and URL.
391
+ # Corresponds to the JSON property `url`
392
+ # @return [Google::Apis::CustomsearchV1::Search::Url]
393
+ attr_accessor :url
394
+
395
+ def initialize(**args)
396
+ update!(**args)
397
+ end
398
+
399
+ # Update properties of this object
400
+ def update!(**args)
401
+ @context = args[:context] if args.key?(:context)
402
+ @items = args[:items] if args.key?(:items)
403
+ @kind = args[:kind] if args.key?(:kind)
404
+ @promotions = args[:promotions] if args.key?(:promotions)
405
+ @queries = args[:queries] if args.key?(:queries)
406
+ @search_information = args[:search_information] if args.key?(:search_information)
407
+ @spelling = args[:spelling] if args.key?(:spelling)
408
+ @url = args[:url] if args.key?(:url)
409
+ end
410
+
411
+ # Query metadata for the previous, current, and next pages of results.
412
+ class Queries
413
+ include Google::Apis::Core::Hashable
414
+
415
+ # Metadata representing the next page of results, if applicable.
416
+ # Corresponds to the JSON property `nextPage`
417
+ # @return [Array<Google::Apis::CustomsearchV1::Search::Queries::NextPage>]
418
+ attr_accessor :next_page
419
+
420
+ # Metadata representing the previous page of results, if applicable.
421
+ # Corresponds to the JSON property `previousPage`
422
+ # @return [Array<Google::Apis::CustomsearchV1::Search::Queries::PreviousPage>]
423
+ attr_accessor :previous_page
424
+
425
+ # Metadata representing the current request.
426
+ # Corresponds to the JSON property `request`
427
+ # @return [Array<Google::Apis::CustomsearchV1::Search::Queries::Request>]
428
+ attr_accessor :request
429
+
430
+ def initialize(**args)
431
+ update!(**args)
432
+ end
433
+
434
+ # Update properties of this object
435
+ def update!(**args)
436
+ @next_page = args[:next_page] if args.key?(:next_page)
437
+ @previous_page = args[:previous_page] if args.key?(:previous_page)
438
+ @request = args[:request] if args.key?(:request)
439
+ end
440
+
441
+ # Custom search request metadata.
442
+ class NextPage
443
+ include Google::Apis::Core::Hashable
444
+
445
+ # Number of search results returned in this set.
446
+ # Corresponds to the JSON property `count`
447
+ # @return [Fixnum]
448
+ attr_accessor :count
449
+
450
+ # Restricts search results to documents originating in a particular
451
+ # country. You may use [Boolean
452
+ # operators](https://developers.google.com/custom-search/docs/xml_results#
453
+ # booleanOperators)
454
+ # in the `cr` parameter's value.
455
+ # Google WebSearch determines the country of a document by analyzing the
456
+ # following:
457
+ # * The top-level domain (TLD) of the document's URL.
458
+ # * The geographic location of the web server's IP address.
459
+ # See [Country (cr) Parameter
460
+ # Values](https://developers.google.com/custom-search/docs/xml_results#
461
+ # countryCollections)
462
+ # for a list of valid values for this parameter.
463
+ # Corresponds to the JSON property `cr`
464
+ # @return [String]
465
+ attr_accessor :cr
466
+
467
+ # The identifier of a custom search engine created using the Custom Search
468
+ # [Control Panel](https://cse.google.com/). This is a custom property not
469
+ # defined in the OpenSearch spec. This parameter is **required**.
470
+ # Corresponds to the JSON property `cx`
471
+ # @return [String]
472
+ attr_accessor :cx
473
+
474
+ # Restricts results to URLs based on date. Supported values include:
475
+ # * `d[number]`: requests results from the specified number of past days.
476
+ # * `w[number]`: requests results from the specified number of past weeks.
477
+ # * `m[number]`: requests results from the specified number of past months.
478
+ # * `y[number]`: requests results from the specified number of past years.
479
+ # Corresponds to the JSON property `dateRestrict`
480
+ # @return [String]
481
+ attr_accessor :date_restrict
482
+
483
+ # Enables or disables the [Simplified and Traditional Chinese
484
+ # Search](https://developers.google.com/custom-search/docs/xml_results#
485
+ # chineseSearch)
486
+ # feature.
487
+ # Supported values are:
488
+ # * `0`: enabled (default)
489
+ # * `1`: disabled
490
+ # Corresponds to the JSON property `disableCnTwTranslation`
491
+ # @return [String]
492
+ attr_accessor :disable_cn_tw_translation
493
+
494
+ # Identifies a phrase that all documents in the search results must
495
+ # contain.
496
+ # Corresponds to the JSON property `exactTerms`
497
+ # @return [String]
498
+ attr_accessor :exact_terms
499
+
500
+ # Identifies a word or phrase that should not appear in any documents in
501
+ # the search results.
502
+ # Corresponds to the JSON property `excludeTerms`
503
+ # @return [String]
504
+ attr_accessor :exclude_terms
505
+
506
+ # Restricts results to files of a specified extension. Filetypes supported
507
+ # by Google include:
508
+ # * Adobe Portable Document Format (`pdf`)
509
+ # * Adobe PostScript (`ps`)
510
+ # * Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`)
511
+ # * Lotus WordPro (`lwp`)
512
+ # * Macwrite (`mw`)
513
+ # * Microsoft Excel (`xls`)
514
+ # * Microsoft PowerPoint (`ppt`)
515
+ # * Microsoft Word (`doc`)
516
+ # * Microsoft Works (`wks`, `wps`, `wdb`)
517
+ # * Microsoft Write (`wri`)
518
+ # * Rich Text Format (`rtf`)
519
+ # * Shockwave Flash (`swf`)
520
+ # * Text (`ans`, `txt`).
521
+ # Additional filetypes may be added in the future. An up-to-date list can
522
+ # always be found in Google's [file type
523
+ # FAQ](https://support.google.com/webmasters/answer/35287).
524
+ # Corresponds to the JSON property `fileType`
525
+ # @return [String]
526
+ attr_accessor :file_type
527
+
528
+ # Activates or deactivates the automatic filtering of Google search
529
+ # results. See [Automatic
530
+ # Filtering](https://developers.google.com/custom-search/docs/xml_results#
531
+ # automaticFiltering)
532
+ # for more information about Google's search results filters. Valid values
533
+ # for this parameter are:
534
+ # * `0`: Disabled
535
+ # * `1`: Enabled (default)
536
+ # **Note**: By default, Google applies filtering to all search results to
537
+ # improve the quality of those results.
538
+ # Corresponds to the JSON property `filter`
539
+ # @return [String]
540
+ attr_accessor :filter
541
+
542
+ # Boosts search results whose country of origin matches the parameter
543
+ # value. See [Country
544
+ # Codes](https://developers.google.com/custom-search/docs/xml_results#
545
+ # countryCodes)
546
+ # for a list of valid values.
547
+ # Specifying a `gl` parameter value in WebSearch requests should improve
548
+ # the relevance of results. This is particularly true for international
549
+ # customers and, even more specifically, for customers in English-speaking
550
+ # countries other than the United States.
551
+ # Corresponds to the JSON property `gl`
552
+ # @return [String]
553
+ attr_accessor :gl
554
+
555
+ # Specifies the Google domain (for example, google.com, google.de, or
556
+ # google.fr) to which the search should be limited.
557
+ # Corresponds to the JSON property `googleHost`
558
+ # @return [String]
559
+ attr_accessor :google_host
560
+
561
+ # Specifies the ending value for a search range. Use `cse:lowRange` and
562
+ # `cse:highrange` to append an inclusive search range of
563
+ # `lowRange...highRange` to the query.
564
+ # Corresponds to the JSON property `highRange`
565
+ # @return [String]
566
+ attr_accessor :high_range
567
+
568
+ # Specifies the interface language (host language) of your user interface.
569
+ # Explicitly setting this parameter improves the performance and the
570
+ # quality of your search results.
571
+ # See the [Interface
572
+ # Languages](https://developers.google.com/custom-search/docs/xml_results#
573
+ # wsInterfaceLanguages)
574
+ # section of [Internationalizing Queries and Results
575
+ # Presentation](https://developers.google.com/custom-search/docs/xml_results#
576
+ # wsInternationalizing)
577
+ # for more information, and [Supported Interface
578
+ # Languages](https://developers.google.com/custom-search/docs/
579
+ # xml_results_appendices#interfaceLanguages)
580
+ # for a list of supported languages.
581
+ # Corresponds to the JSON property `hl`
582
+ # @return [String]
583
+ attr_accessor :hl
584
+
585
+ # Appends the specified query terms to the query, as if they were combined
586
+ # with a logical `AND` operator.
587
+ # Corresponds to the JSON property `hq`
588
+ # @return [String]
589
+ attr_accessor :hq
590
+
591
+ # Restricts results to images of a specified color type. Supported values
592
+ # are:
593
+ # * `mono` (black and white)
594
+ # * `gray` (grayscale)
595
+ # * `color` (color)
596
+ # Corresponds to the JSON property `imgColorType`
597
+ # @return [String]
598
+ attr_accessor :img_color_type
599
+
600
+ # Restricts results to images with a specific dominant color. Supported
601
+ # values are:
602
+ # * `red`
603
+ # * `orange`
604
+ # * `yellow`
605
+ # * `green`
606
+ # * `teal`
607
+ # * `blue`
608
+ # * `purple`
609
+ # * `pink`
610
+ # * `white`
611
+ # * `gray`
612
+ # * `black`
613
+ # * `brown`
614
+ # Corresponds to the JSON property `imgDominantColor`
615
+ # @return [String]
616
+ attr_accessor :img_dominant_color
617
+
618
+ # Restricts results to images of a specified size. Supported values are:
619
+ # * `icon` (small)
620
+ # * `small | medium | large | xlarge` (medium)
621
+ # * `xxlarge` (large)
622
+ # * `huge` (extra-large)
623
+ # Corresponds to the JSON property `imgSize`
624
+ # @return [String]
625
+ attr_accessor :img_size
626
+
627
+ # Restricts results to images of a specified type. Supported values are:
628
+ # * `clipart` (Clip art)
629
+ # * `face` (Face)
630
+ # * `lineart` (Line drawing)
631
+ # * `photo` (Photo)
632
+ # * `animated` (Animated)
633
+ # * `stock` (Stock)
634
+ # Corresponds to the JSON property `imgType`
635
+ # @return [String]
636
+ attr_accessor :img_type
637
+
638
+ # The character encoding supported for search requests.
639
+ # Corresponds to the JSON property `inputEncoding`
640
+ # @return [String]
641
+ attr_accessor :input_encoding
642
+
643
+ # The language of the search results.
644
+ # Corresponds to the JSON property `language`
645
+ # @return [String]
646
+ attr_accessor :language
647
+
648
+ # Specifies that all results should contain a link to a specific URL.
649
+ # Corresponds to the JSON property `linkSite`
650
+ # @return [String]
651
+ attr_accessor :link_site
652
+
653
+ # Specifies the starting value for a search range. Use `cse:lowRange` and
654
+ # `cse:highrange` to append an inclusive search range of
655
+ # `lowRange...highRange` to the query.
656
+ # Corresponds to the JSON property `lowRange`
657
+ # @return [String]
658
+ attr_accessor :low_range
659
+
660
+ # Provides additional search terms to check for in a document, where each
661
+ # document in the search results must contain at least one of the
662
+ # additional search terms. You can also use the [Boolean
663
+ # OR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt)
664
+ # query term for this type of query.
665
+ # Corresponds to the JSON property `orTerms`
666
+ # @return [String]
667
+ attr_accessor :or_terms
668
+
669
+ # The character encoding supported for search results.
670
+ # Corresponds to the JSON property `outputEncoding`
671
+ # @return [String]
672
+ attr_accessor :output_encoding
673
+
674
+ # Specifies that all search results should be pages that are related to the
675
+ # specified URL. The parameter value should be a URL.
676
+ # Corresponds to the JSON property `relatedSite`
677
+ # @return [String]
678
+ attr_accessor :related_site
679
+
680
+ # Filters based on licensing. Supported values include:
681
+ # * `cc_publicdomain`
682
+ # * `cc_attribute`
683
+ # * `cc_sharealike`
684
+ # * `cc_noncommercial`
685
+ # * `cc_nonderived`
686
+ # Corresponds to the JSON property `rights`
687
+ # @return [String]
688
+ attr_accessor :rights
689
+
690
+ # Specifies the [SafeSearch
691
+ # level](https://developers.google.com/custom-search/docs/xml_results#
692
+ # safeSearchLevels)
693
+ # used for filtering out adult results. This is a custom property not
694
+ # defined in the OpenSearch spec. Valid parameter values are:
695
+ # * `"off"`: Disable SafeSearch
696
+ # * `"active"`: Enable SafeSearch
697
+ # Corresponds to the JSON property `safe`
698
+ # @return [String]
699
+ attr_accessor :safe
700
+
701
+ # The search terms entered by the user.
702
+ # Corresponds to the JSON property `searchTerms`
703
+ # @return [String]
704
+ attr_accessor :search_terms
705
+
706
+ # Allowed values are `web` or `image`. If unspecified, results are limited
707
+ # to webpages.
708
+ # Corresponds to the JSON property `searchType`
709
+ # @return [String]
710
+ attr_accessor :search_type
711
+
712
+ # Restricts results to URLs from a specified site.
713
+ # Corresponds to the JSON property `siteSearch`
714
+ # @return [String]
715
+ attr_accessor :site_search
716
+
717
+ # Specifies whether to include or exclude results from the site named in
718
+ # the `sitesearch` parameter. Supported values are:
719
+ # * `i`: include content from site
720
+ # * `e`: exclude content from site
721
+ # Corresponds to the JSON property `siteSearchFilter`
722
+ # @return [String]
723
+ attr_accessor :site_search_filter
724
+
725
+ # Specifies that results should be sorted according to the specified
726
+ # expression. For example, sort by date.
727
+ # Corresponds to the JSON property `sort`
728
+ # @return [String]
729
+ attr_accessor :sort
730
+
731
+ # The index of the current set of search results into the total set of
732
+ # results, where the index of the first result is 1.
733
+ # Corresponds to the JSON property `startIndex`
734
+ # @return [Fixnum]
735
+ attr_accessor :start_index
736
+
737
+ # The page number of this set of results, where the page length is set by
738
+ # the `count` property.
739
+ # Corresponds to the JSON property `startPage`
740
+ # @return [Fixnum]
741
+ attr_accessor :start_page
742
+
743
+ # A description of the query.
744
+ # Corresponds to the JSON property `title`
745
+ # @return [String]
746
+ attr_accessor :title
747
+
748
+ # Estimated number of total search results. May not be accurate.
749
+ # Corresponds to the JSON property `totalResults`
750
+ # @return [Fixnum]
751
+ attr_accessor :total_results
752
+
753
+ def initialize(**args)
754
+ update!(**args)
755
+ end
756
+
757
+ # Update properties of this object
758
+ def update!(**args)
759
+ @count = args[:count] if args.key?(:count)
760
+ @cr = args[:cr] if args.key?(:cr)
761
+ @cx = args[:cx] if args.key?(:cx)
762
+ @date_restrict = args[:date_restrict] if args.key?(:date_restrict)
763
+ @disable_cn_tw_translation = args[:disable_cn_tw_translation] if args.key?(:disable_cn_tw_translation)
764
+ @exact_terms = args[:exact_terms] if args.key?(:exact_terms)
765
+ @exclude_terms = args[:exclude_terms] if args.key?(:exclude_terms)
766
+ @file_type = args[:file_type] if args.key?(:file_type)
767
+ @filter = args[:filter] if args.key?(:filter)
768
+ @gl = args[:gl] if args.key?(:gl)
769
+ @google_host = args[:google_host] if args.key?(:google_host)
770
+ @high_range = args[:high_range] if args.key?(:high_range)
771
+ @hl = args[:hl] if args.key?(:hl)
772
+ @hq = args[:hq] if args.key?(:hq)
773
+ @img_color_type = args[:img_color_type] if args.key?(:img_color_type)
774
+ @img_dominant_color = args[:img_dominant_color] if args.key?(:img_dominant_color)
775
+ @img_size = args[:img_size] if args.key?(:img_size)
776
+ @img_type = args[:img_type] if args.key?(:img_type)
777
+ @input_encoding = args[:input_encoding] if args.key?(:input_encoding)
778
+ @language = args[:language] if args.key?(:language)
779
+ @link_site = args[:link_site] if args.key?(:link_site)
780
+ @low_range = args[:low_range] if args.key?(:low_range)
781
+ @or_terms = args[:or_terms] if args.key?(:or_terms)
782
+ @output_encoding = args[:output_encoding] if args.key?(:output_encoding)
783
+ @related_site = args[:related_site] if args.key?(:related_site)
784
+ @rights = args[:rights] if args.key?(:rights)
785
+ @safe = args[:safe] if args.key?(:safe)
786
+ @search_terms = args[:search_terms] if args.key?(:search_terms)
787
+ @search_type = args[:search_type] if args.key?(:search_type)
788
+ @site_search = args[:site_search] if args.key?(:site_search)
789
+ @site_search_filter = args[:site_search_filter] if args.key?(:site_search_filter)
790
+ @sort = args[:sort] if args.key?(:sort)
791
+ @start_index = args[:start_index] if args.key?(:start_index)
792
+ @start_page = args[:start_page] if args.key?(:start_page)
793
+ @title = args[:title] if args.key?(:title)
794
+ @total_results = args[:total_results] if args.key?(:total_results)
795
+ end
796
+ end
797
+
798
+ # Custom search request metadata.
799
+ class PreviousPage
800
+ include Google::Apis::Core::Hashable
801
+
802
+ # Number of search results returned in this set.
803
+ # Corresponds to the JSON property `count`
804
+ # @return [Fixnum]
805
+ attr_accessor :count
806
+
807
+ # Restricts search results to documents originating in a particular
808
+ # country. You may use [Boolean
809
+ # operators](https://developers.google.com/custom-search/docs/xml_results#
810
+ # booleanOperators)
811
+ # in the `cr` parameter's value.
812
+ # Google WebSearch determines the country of a document by analyzing the
813
+ # following:
814
+ # * The top-level domain (TLD) of the document's URL.
815
+ # * The geographic location of the web server's IP address.
816
+ # See [Country (cr) Parameter
817
+ # Values](https://developers.google.com/custom-search/docs/xml_results#
818
+ # countryCollections)
819
+ # for a list of valid values for this parameter.
820
+ # Corresponds to the JSON property `cr`
821
+ # @return [String]
822
+ attr_accessor :cr
823
+
824
+ # The identifier of a custom search engine created using the Custom Search
825
+ # [Control Panel](https://cse.google.com/). This is a custom property not
826
+ # defined in the OpenSearch spec. This parameter is **required**.
827
+ # Corresponds to the JSON property `cx`
828
+ # @return [String]
829
+ attr_accessor :cx
830
+
831
+ # Restricts results to URLs based on date. Supported values include:
832
+ # * `d[number]`: requests results from the specified number of past days.
833
+ # * `w[number]`: requests results from the specified number of past weeks.
834
+ # * `m[number]`: requests results from the specified number of past months.
835
+ # * `y[number]`: requests results from the specified number of past years.
836
+ # Corresponds to the JSON property `dateRestrict`
837
+ # @return [String]
838
+ attr_accessor :date_restrict
839
+
840
+ # Enables or disables the [Simplified and Traditional Chinese
841
+ # Search](https://developers.google.com/custom-search/docs/xml_results#
842
+ # chineseSearch)
843
+ # feature.
844
+ # Supported values are:
845
+ # * `0`: enabled (default)
846
+ # * `1`: disabled
847
+ # Corresponds to the JSON property `disableCnTwTranslation`
848
+ # @return [String]
849
+ attr_accessor :disable_cn_tw_translation
850
+
851
+ # Identifies a phrase that all documents in the search results must
852
+ # contain.
853
+ # Corresponds to the JSON property `exactTerms`
854
+ # @return [String]
855
+ attr_accessor :exact_terms
856
+
857
+ # Identifies a word or phrase that should not appear in any documents in
858
+ # the search results.
859
+ # Corresponds to the JSON property `excludeTerms`
860
+ # @return [String]
861
+ attr_accessor :exclude_terms
862
+
863
+ # Restricts results to files of a specified extension. Filetypes supported
864
+ # by Google include:
865
+ # * Adobe Portable Document Format (`pdf`)
866
+ # * Adobe PostScript (`ps`)
867
+ # * Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`)
868
+ # * Lotus WordPro (`lwp`)
869
+ # * Macwrite (`mw`)
870
+ # * Microsoft Excel (`xls`)
871
+ # * Microsoft PowerPoint (`ppt`)
872
+ # * Microsoft Word (`doc`)
873
+ # * Microsoft Works (`wks`, `wps`, `wdb`)
874
+ # * Microsoft Write (`wri`)
875
+ # * Rich Text Format (`rtf`)
876
+ # * Shockwave Flash (`swf`)
877
+ # * Text (`ans`, `txt`).
878
+ # Additional filetypes may be added in the future. An up-to-date list can
879
+ # always be found in Google's [file type
880
+ # FAQ](https://support.google.com/webmasters/answer/35287).
881
+ # Corresponds to the JSON property `fileType`
882
+ # @return [String]
883
+ attr_accessor :file_type
884
+
885
+ # Activates or deactivates the automatic filtering of Google search
886
+ # results. See [Automatic
887
+ # Filtering](https://developers.google.com/custom-search/docs/xml_results#
888
+ # automaticFiltering)
889
+ # for more information about Google's search results filters. Valid values
890
+ # for this parameter are:
891
+ # * `0`: Disabled
892
+ # * `1`: Enabled (default)
893
+ # **Note**: By default, Google applies filtering to all search results to
894
+ # improve the quality of those results.
895
+ # Corresponds to the JSON property `filter`
896
+ # @return [String]
897
+ attr_accessor :filter
898
+
899
+ # Boosts search results whose country of origin matches the parameter
900
+ # value. See [Country
901
+ # Codes](https://developers.google.com/custom-search/docs/xml_results#
902
+ # countryCodes)
903
+ # for a list of valid values.
904
+ # Specifying a `gl` parameter value in WebSearch requests should improve
905
+ # the relevance of results. This is particularly true for international
906
+ # customers and, even more specifically, for customers in English-speaking
907
+ # countries other than the United States.
908
+ # Corresponds to the JSON property `gl`
909
+ # @return [String]
910
+ attr_accessor :gl
911
+
912
+ # Specifies the Google domain (for example, google.com, google.de, or
913
+ # google.fr) to which the search should be limited.
914
+ # Corresponds to the JSON property `googleHost`
915
+ # @return [String]
916
+ attr_accessor :google_host
917
+
918
+ # Specifies the ending value for a search range. Use `cse:lowRange` and
919
+ # `cse:highrange` to append an inclusive search range of
920
+ # `lowRange...highRange` to the query.
921
+ # Corresponds to the JSON property `highRange`
922
+ # @return [String]
923
+ attr_accessor :high_range
924
+
925
+ # Specifies the interface language (host language) of your user interface.
926
+ # Explicitly setting this parameter improves the performance and the
927
+ # quality of your search results.
928
+ # See the [Interface
929
+ # Languages](https://developers.google.com/custom-search/docs/xml_results#
930
+ # wsInterfaceLanguages)
931
+ # section of [Internationalizing Queries and Results
932
+ # Presentation](https://developers.google.com/custom-search/docs/xml_results#
933
+ # wsInternationalizing)
934
+ # for more information, and [Supported Interface
935
+ # Languages](https://developers.google.com/custom-search/docs/
936
+ # xml_results_appendices#interfaceLanguages)
937
+ # for a list of supported languages.
938
+ # Corresponds to the JSON property `hl`
939
+ # @return [String]
940
+ attr_accessor :hl
941
+
942
+ # Appends the specified query terms to the query, as if they were combined
943
+ # with a logical `AND` operator.
944
+ # Corresponds to the JSON property `hq`
945
+ # @return [String]
946
+ attr_accessor :hq
947
+
948
+ # Restricts results to images of a specified color type. Supported values
949
+ # are:
950
+ # * `mono` (black and white)
951
+ # * `gray` (grayscale)
952
+ # * `color` (color)
953
+ # Corresponds to the JSON property `imgColorType`
954
+ # @return [String]
955
+ attr_accessor :img_color_type
956
+
957
+ # Restricts results to images with a specific dominant color. Supported
958
+ # values are:
959
+ # * `red`
960
+ # * `orange`
961
+ # * `yellow`
962
+ # * `green`
963
+ # * `teal`
964
+ # * `blue`
965
+ # * `purple`
966
+ # * `pink`
967
+ # * `white`
968
+ # * `gray`
969
+ # * `black`
970
+ # * `brown`
971
+ # Corresponds to the JSON property `imgDominantColor`
972
+ # @return [String]
973
+ attr_accessor :img_dominant_color
974
+
975
+ # Restricts results to images of a specified size. Supported values are:
976
+ # * `icon` (small)
977
+ # * `small | medium | large | xlarge` (medium)
978
+ # * `xxlarge` (large)
979
+ # * `huge` (extra-large)
980
+ # Corresponds to the JSON property `imgSize`
981
+ # @return [String]
982
+ attr_accessor :img_size
983
+
984
+ # Restricts results to images of a specified type. Supported values are:
985
+ # * `clipart` (Clip art)
986
+ # * `face` (Face)
987
+ # * `lineart` (Line drawing)
988
+ # * `photo` (Photo)
989
+ # * `animated` (Animated)
990
+ # * `stock` (Stock)
991
+ # Corresponds to the JSON property `imgType`
992
+ # @return [String]
993
+ attr_accessor :img_type
994
+
995
+ # The character encoding supported for search requests.
996
+ # Corresponds to the JSON property `inputEncoding`
997
+ # @return [String]
998
+ attr_accessor :input_encoding
999
+
1000
+ # The language of the search results.
1001
+ # Corresponds to the JSON property `language`
1002
+ # @return [String]
1003
+ attr_accessor :language
1004
+
1005
+ # Specifies that all results should contain a link to a specific URL.
1006
+ # Corresponds to the JSON property `linkSite`
1007
+ # @return [String]
1008
+ attr_accessor :link_site
1009
+
1010
+ # Specifies the starting value for a search range. Use `cse:lowRange` and
1011
+ # `cse:highrange` to append an inclusive search range of
1012
+ # `lowRange...highRange` to the query.
1013
+ # Corresponds to the JSON property `lowRange`
1014
+ # @return [String]
1015
+ attr_accessor :low_range
1016
+
1017
+ # Provides additional search terms to check for in a document, where each
1018
+ # document in the search results must contain at least one of the
1019
+ # additional search terms. You can also use the [Boolean
1020
+ # OR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt)
1021
+ # query term for this type of query.
1022
+ # Corresponds to the JSON property `orTerms`
1023
+ # @return [String]
1024
+ attr_accessor :or_terms
1025
+
1026
+ # The character encoding supported for search results.
1027
+ # Corresponds to the JSON property `outputEncoding`
1028
+ # @return [String]
1029
+ attr_accessor :output_encoding
1030
+
1031
+ # Specifies that all search results should be pages that are related to the
1032
+ # specified URL. The parameter value should be a URL.
1033
+ # Corresponds to the JSON property `relatedSite`
1034
+ # @return [String]
1035
+ attr_accessor :related_site
1036
+
1037
+ # Filters based on licensing. Supported values include:
1038
+ # * `cc_publicdomain`
1039
+ # * `cc_attribute`
1040
+ # * `cc_sharealike`
1041
+ # * `cc_noncommercial`
1042
+ # * `cc_nonderived`
1043
+ # Corresponds to the JSON property `rights`
1044
+ # @return [String]
1045
+ attr_accessor :rights
1046
+
1047
+ # Specifies the [SafeSearch
1048
+ # level](https://developers.google.com/custom-search/docs/xml_results#
1049
+ # safeSearchLevels)
1050
+ # used for filtering out adult results. This is a custom property not
1051
+ # defined in the OpenSearch spec. Valid parameter values are:
1052
+ # * `"off"`: Disable SafeSearch
1053
+ # * `"active"`: Enable SafeSearch
1054
+ # Corresponds to the JSON property `safe`
1055
+ # @return [String]
1056
+ attr_accessor :safe
1057
+
1058
+ # The search terms entered by the user.
1059
+ # Corresponds to the JSON property `searchTerms`
1060
+ # @return [String]
1061
+ attr_accessor :search_terms
1062
+
1063
+ # Allowed values are `web` or `image`. If unspecified, results are limited
1064
+ # to webpages.
1065
+ # Corresponds to the JSON property `searchType`
1066
+ # @return [String]
1067
+ attr_accessor :search_type
1068
+
1069
+ # Restricts results to URLs from a specified site.
1070
+ # Corresponds to the JSON property `siteSearch`
1071
+ # @return [String]
1072
+ attr_accessor :site_search
1073
+
1074
+ # Specifies whether to include or exclude results from the site named in
1075
+ # the `sitesearch` parameter. Supported values are:
1076
+ # * `i`: include content from site
1077
+ # * `e`: exclude content from site
1078
+ # Corresponds to the JSON property `siteSearchFilter`
1079
+ # @return [String]
1080
+ attr_accessor :site_search_filter
1081
+
1082
+ # Specifies that results should be sorted according to the specified
1083
+ # expression. For example, sort by date.
1084
+ # Corresponds to the JSON property `sort`
1085
+ # @return [String]
1086
+ attr_accessor :sort
1087
+
1088
+ # The index of the current set of search results into the total set of
1089
+ # results, where the index of the first result is 1.
1090
+ # Corresponds to the JSON property `startIndex`
1091
+ # @return [Fixnum]
1092
+ attr_accessor :start_index
1093
+
1094
+ # The page number of this set of results, where the page length is set by
1095
+ # the `count` property.
1096
+ # Corresponds to the JSON property `startPage`
1097
+ # @return [Fixnum]
1098
+ attr_accessor :start_page
1099
+
1100
+ # A description of the query.
1101
+ # Corresponds to the JSON property `title`
1102
+ # @return [String]
1103
+ attr_accessor :title
1104
+
1105
+ # Estimated number of total search results. May not be accurate.
1106
+ # Corresponds to the JSON property `totalResults`
1107
+ # @return [Fixnum]
1108
+ attr_accessor :total_results
1109
+
1110
+ def initialize(**args)
1111
+ update!(**args)
1112
+ end
1113
+
1114
+ # Update properties of this object
1115
+ def update!(**args)
1116
+ @count = args[:count] if args.key?(:count)
1117
+ @cr = args[:cr] if args.key?(:cr)
1118
+ @cx = args[:cx] if args.key?(:cx)
1119
+ @date_restrict = args[:date_restrict] if args.key?(:date_restrict)
1120
+ @disable_cn_tw_translation = args[:disable_cn_tw_translation] if args.key?(:disable_cn_tw_translation)
1121
+ @exact_terms = args[:exact_terms] if args.key?(:exact_terms)
1122
+ @exclude_terms = args[:exclude_terms] if args.key?(:exclude_terms)
1123
+ @file_type = args[:file_type] if args.key?(:file_type)
1124
+ @filter = args[:filter] if args.key?(:filter)
1125
+ @gl = args[:gl] if args.key?(:gl)
1126
+ @google_host = args[:google_host] if args.key?(:google_host)
1127
+ @high_range = args[:high_range] if args.key?(:high_range)
1128
+ @hl = args[:hl] if args.key?(:hl)
1129
+ @hq = args[:hq] if args.key?(:hq)
1130
+ @img_color_type = args[:img_color_type] if args.key?(:img_color_type)
1131
+ @img_dominant_color = args[:img_dominant_color] if args.key?(:img_dominant_color)
1132
+ @img_size = args[:img_size] if args.key?(:img_size)
1133
+ @img_type = args[:img_type] if args.key?(:img_type)
1134
+ @input_encoding = args[:input_encoding] if args.key?(:input_encoding)
1135
+ @language = args[:language] if args.key?(:language)
1136
+ @link_site = args[:link_site] if args.key?(:link_site)
1137
+ @low_range = args[:low_range] if args.key?(:low_range)
1138
+ @or_terms = args[:or_terms] if args.key?(:or_terms)
1139
+ @output_encoding = args[:output_encoding] if args.key?(:output_encoding)
1140
+ @related_site = args[:related_site] if args.key?(:related_site)
1141
+ @rights = args[:rights] if args.key?(:rights)
1142
+ @safe = args[:safe] if args.key?(:safe)
1143
+ @search_terms = args[:search_terms] if args.key?(:search_terms)
1144
+ @search_type = args[:search_type] if args.key?(:search_type)
1145
+ @site_search = args[:site_search] if args.key?(:site_search)
1146
+ @site_search_filter = args[:site_search_filter] if args.key?(:site_search_filter)
1147
+ @sort = args[:sort] if args.key?(:sort)
1148
+ @start_index = args[:start_index] if args.key?(:start_index)
1149
+ @start_page = args[:start_page] if args.key?(:start_page)
1150
+ @title = args[:title] if args.key?(:title)
1151
+ @total_results = args[:total_results] if args.key?(:total_results)
1152
+ end
1153
+ end
1154
+
1155
+ # Custom search request metadata.
1156
+ class Request
1157
+ include Google::Apis::Core::Hashable
1158
+
1159
+ # Number of search results returned in this set.
1160
+ # Corresponds to the JSON property `count`
1161
+ # @return [Fixnum]
1162
+ attr_accessor :count
1163
+
1164
+ # Restricts search results to documents originating in a particular
1165
+ # country. You may use [Boolean
1166
+ # operators](https://developers.google.com/custom-search/docs/xml_results#
1167
+ # booleanOperators)
1168
+ # in the `cr` parameter's value.
1169
+ # Google WebSearch determines the country of a document by analyzing the
1170
+ # following:
1171
+ # * The top-level domain (TLD) of the document's URL.
1172
+ # * The geographic location of the web server's IP address.
1173
+ # See [Country (cr) Parameter
1174
+ # Values](https://developers.google.com/custom-search/docs/xml_results#
1175
+ # countryCollections)
1176
+ # for a list of valid values for this parameter.
1177
+ # Corresponds to the JSON property `cr`
1178
+ # @return [String]
1179
+ attr_accessor :cr
1180
+
1181
+ # The identifier of a custom search engine created using the Custom Search
1182
+ # [Control Panel](https://cse.google.com/). This is a custom property not
1183
+ # defined in the OpenSearch spec. This parameter is **required**.
1184
+ # Corresponds to the JSON property `cx`
1185
+ # @return [String]
1186
+ attr_accessor :cx
1187
+
1188
+ # Restricts results to URLs based on date. Supported values include:
1189
+ # * `d[number]`: requests results from the specified number of past days.
1190
+ # * `w[number]`: requests results from the specified number of past weeks.
1191
+ # * `m[number]`: requests results from the specified number of past months.
1192
+ # * `y[number]`: requests results from the specified number of past years.
1193
+ # Corresponds to the JSON property `dateRestrict`
1194
+ # @return [String]
1195
+ attr_accessor :date_restrict
1196
+
1197
+ # Enables or disables the [Simplified and Traditional Chinese
1198
+ # Search](https://developers.google.com/custom-search/docs/xml_results#
1199
+ # chineseSearch)
1200
+ # feature.
1201
+ # Supported values are:
1202
+ # * `0`: enabled (default)
1203
+ # * `1`: disabled
1204
+ # Corresponds to the JSON property `disableCnTwTranslation`
1205
+ # @return [String]
1206
+ attr_accessor :disable_cn_tw_translation
1207
+
1208
+ # Identifies a phrase that all documents in the search results must
1209
+ # contain.
1210
+ # Corresponds to the JSON property `exactTerms`
1211
+ # @return [String]
1212
+ attr_accessor :exact_terms
1213
+
1214
+ # Identifies a word or phrase that should not appear in any documents in
1215
+ # the search results.
1216
+ # Corresponds to the JSON property `excludeTerms`
1217
+ # @return [String]
1218
+ attr_accessor :exclude_terms
1219
+
1220
+ # Restricts results to files of a specified extension. Filetypes supported
1221
+ # by Google include:
1222
+ # * Adobe Portable Document Format (`pdf`)
1223
+ # * Adobe PostScript (`ps`)
1224
+ # * Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`)
1225
+ # * Lotus WordPro (`lwp`)
1226
+ # * Macwrite (`mw`)
1227
+ # * Microsoft Excel (`xls`)
1228
+ # * Microsoft PowerPoint (`ppt`)
1229
+ # * Microsoft Word (`doc`)
1230
+ # * Microsoft Works (`wks`, `wps`, `wdb`)
1231
+ # * Microsoft Write (`wri`)
1232
+ # * Rich Text Format (`rtf`)
1233
+ # * Shockwave Flash (`swf`)
1234
+ # * Text (`ans`, `txt`).
1235
+ # Additional filetypes may be added in the future. An up-to-date list can
1236
+ # always be found in Google's [file type
1237
+ # FAQ](https://support.google.com/webmasters/answer/35287).
1238
+ # Corresponds to the JSON property `fileType`
1239
+ # @return [String]
1240
+ attr_accessor :file_type
1241
+
1242
+ # Activates or deactivates the automatic filtering of Google search
1243
+ # results. See [Automatic
1244
+ # Filtering](https://developers.google.com/custom-search/docs/xml_results#
1245
+ # automaticFiltering)
1246
+ # for more information about Google's search results filters. Valid values
1247
+ # for this parameter are:
1248
+ # * `0`: Disabled
1249
+ # * `1`: Enabled (default)
1250
+ # **Note**: By default, Google applies filtering to all search results to
1251
+ # improve the quality of those results.
1252
+ # Corresponds to the JSON property `filter`
1253
+ # @return [String]
1254
+ attr_accessor :filter
1255
+
1256
+ # Boosts search results whose country of origin matches the parameter
1257
+ # value. See [Country
1258
+ # Codes](https://developers.google.com/custom-search/docs/xml_results#
1259
+ # countryCodes)
1260
+ # for a list of valid values.
1261
+ # Specifying a `gl` parameter value in WebSearch requests should improve
1262
+ # the relevance of results. This is particularly true for international
1263
+ # customers and, even more specifically, for customers in English-speaking
1264
+ # countries other than the United States.
1265
+ # Corresponds to the JSON property `gl`
1266
+ # @return [String]
1267
+ attr_accessor :gl
1268
+
1269
+ # Specifies the Google domain (for example, google.com, google.de, or
1270
+ # google.fr) to which the search should be limited.
1271
+ # Corresponds to the JSON property `googleHost`
1272
+ # @return [String]
1273
+ attr_accessor :google_host
1274
+
1275
+ # Specifies the ending value for a search range. Use `cse:lowRange` and
1276
+ # `cse:highrange` to append an inclusive search range of
1277
+ # `lowRange...highRange` to the query.
1278
+ # Corresponds to the JSON property `highRange`
1279
+ # @return [String]
1280
+ attr_accessor :high_range
1281
+
1282
+ # Specifies the interface language (host language) of your user interface.
1283
+ # Explicitly setting this parameter improves the performance and the
1284
+ # quality of your search results.
1285
+ # See the [Interface
1286
+ # Languages](https://developers.google.com/custom-search/docs/xml_results#
1287
+ # wsInterfaceLanguages)
1288
+ # section of [Internationalizing Queries and Results
1289
+ # Presentation](https://developers.google.com/custom-search/docs/xml_results#
1290
+ # wsInternationalizing)
1291
+ # for more information, and [Supported Interface
1292
+ # Languages](https://developers.google.com/custom-search/docs/
1293
+ # xml_results_appendices#interfaceLanguages)
1294
+ # for a list of supported languages.
1295
+ # Corresponds to the JSON property `hl`
1296
+ # @return [String]
1297
+ attr_accessor :hl
1298
+
1299
+ # Appends the specified query terms to the query, as if they were combined
1300
+ # with a logical `AND` operator.
1301
+ # Corresponds to the JSON property `hq`
1302
+ # @return [String]
1303
+ attr_accessor :hq
1304
+
1305
+ # Restricts results to images of a specified color type. Supported values
1306
+ # are:
1307
+ # * `mono` (black and white)
1308
+ # * `gray` (grayscale)
1309
+ # * `color` (color)
1310
+ # Corresponds to the JSON property `imgColorType`
1311
+ # @return [String]
1312
+ attr_accessor :img_color_type
1313
+
1314
+ # Restricts results to images with a specific dominant color. Supported
1315
+ # values are:
1316
+ # * `red`
1317
+ # * `orange`
1318
+ # * `yellow`
1319
+ # * `green`
1320
+ # * `teal`
1321
+ # * `blue`
1322
+ # * `purple`
1323
+ # * `pink`
1324
+ # * `white`
1325
+ # * `gray`
1326
+ # * `black`
1327
+ # * `brown`
1328
+ # Corresponds to the JSON property `imgDominantColor`
1329
+ # @return [String]
1330
+ attr_accessor :img_dominant_color
1331
+
1332
+ # Restricts results to images of a specified size. Supported values are:
1333
+ # * `icon` (small)
1334
+ # * `small | medium | large | xlarge` (medium)
1335
+ # * `xxlarge` (large)
1336
+ # * `huge` (extra-large)
1337
+ # Corresponds to the JSON property `imgSize`
1338
+ # @return [String]
1339
+ attr_accessor :img_size
1340
+
1341
+ # Restricts results to images of a specified type. Supported values are:
1342
+ # * `clipart` (Clip art)
1343
+ # * `face` (Face)
1344
+ # * `lineart` (Line drawing)
1345
+ # * `photo` (Photo)
1346
+ # * `animated` (Animated)
1347
+ # * `stock` (Stock)
1348
+ # Corresponds to the JSON property `imgType`
1349
+ # @return [String]
1350
+ attr_accessor :img_type
1351
+
1352
+ # The character encoding supported for search requests.
1353
+ # Corresponds to the JSON property `inputEncoding`
1354
+ # @return [String]
1355
+ attr_accessor :input_encoding
1356
+
1357
+ # The language of the search results.
1358
+ # Corresponds to the JSON property `language`
1359
+ # @return [String]
1360
+ attr_accessor :language
1361
+
1362
+ # Specifies that all results should contain a link to a specific URL.
1363
+ # Corresponds to the JSON property `linkSite`
1364
+ # @return [String]
1365
+ attr_accessor :link_site
1366
+
1367
+ # Specifies the starting value for a search range. Use `cse:lowRange` and
1368
+ # `cse:highrange` to append an inclusive search range of
1369
+ # `lowRange...highRange` to the query.
1370
+ # Corresponds to the JSON property `lowRange`
1371
+ # @return [String]
1372
+ attr_accessor :low_range
1373
+
1374
+ # Provides additional search terms to check for in a document, where each
1375
+ # document in the search results must contain at least one of the
1376
+ # additional search terms. You can also use the [Boolean
1377
+ # OR](https://developers.google.com/custom-search/docs/xml_results#BooleanOrqt)
1378
+ # query term for this type of query.
1379
+ # Corresponds to the JSON property `orTerms`
1380
+ # @return [String]
1381
+ attr_accessor :or_terms
1382
+
1383
+ # The character encoding supported for search results.
1384
+ # Corresponds to the JSON property `outputEncoding`
1385
+ # @return [String]
1386
+ attr_accessor :output_encoding
1387
+
1388
+ # Specifies that all search results should be pages that are related to the
1389
+ # specified URL. The parameter value should be a URL.
1390
+ # Corresponds to the JSON property `relatedSite`
1391
+ # @return [String]
1392
+ attr_accessor :related_site
1393
+
1394
+ # Filters based on licensing. Supported values include:
1395
+ # * `cc_publicdomain`
1396
+ # * `cc_attribute`
1397
+ # * `cc_sharealike`
1398
+ # * `cc_noncommercial`
1399
+ # * `cc_nonderived`
1400
+ # Corresponds to the JSON property `rights`
1401
+ # @return [String]
1402
+ attr_accessor :rights
1403
+
1404
+ # Specifies the [SafeSearch
1405
+ # level](https://developers.google.com/custom-search/docs/xml_results#
1406
+ # safeSearchLevels)
1407
+ # used for filtering out adult results. This is a custom property not
1408
+ # defined in the OpenSearch spec. Valid parameter values are:
1409
+ # * `"off"`: Disable SafeSearch
1410
+ # * `"active"`: Enable SafeSearch
1411
+ # Corresponds to the JSON property `safe`
1412
+ # @return [String]
1413
+ attr_accessor :safe
1414
+
1415
+ # The search terms entered by the user.
1416
+ # Corresponds to the JSON property `searchTerms`
1417
+ # @return [String]
1418
+ attr_accessor :search_terms
1419
+
1420
+ # Allowed values are `web` or `image`. If unspecified, results are limited
1421
+ # to webpages.
1422
+ # Corresponds to the JSON property `searchType`
1423
+ # @return [String]
1424
+ attr_accessor :search_type
1425
+
1426
+ # Restricts results to URLs from a specified site.
1427
+ # Corresponds to the JSON property `siteSearch`
1428
+ # @return [String]
1429
+ attr_accessor :site_search
1430
+
1431
+ # Specifies whether to include or exclude results from the site named in
1432
+ # the `sitesearch` parameter. Supported values are:
1433
+ # * `i`: include content from site
1434
+ # * `e`: exclude content from site
1435
+ # Corresponds to the JSON property `siteSearchFilter`
1436
+ # @return [String]
1437
+ attr_accessor :site_search_filter
1438
+
1439
+ # Specifies that results should be sorted according to the specified
1440
+ # expression. For example, sort by date.
1441
+ # Corresponds to the JSON property `sort`
1442
+ # @return [String]
1443
+ attr_accessor :sort
1444
+
1445
+ # The index of the current set of search results into the total set of
1446
+ # results, where the index of the first result is 1.
1447
+ # Corresponds to the JSON property `startIndex`
1448
+ # @return [Fixnum]
1449
+ attr_accessor :start_index
1450
+
1451
+ # The page number of this set of results, where the page length is set by
1452
+ # the `count` property.
1453
+ # Corresponds to the JSON property `startPage`
1454
+ # @return [Fixnum]
1455
+ attr_accessor :start_page
1456
+
1457
+ # A description of the query.
1458
+ # Corresponds to the JSON property `title`
1459
+ # @return [String]
1460
+ attr_accessor :title
1461
+
1462
+ # Estimated number of total search results. May not be accurate.
1463
+ # Corresponds to the JSON property `totalResults`
1464
+ # @return [Fixnum]
1465
+ attr_accessor :total_results
1466
+
1467
+ def initialize(**args)
1468
+ update!(**args)
1469
+ end
1470
+
1471
+ # Update properties of this object
1472
+ def update!(**args)
1473
+ @count = args[:count] if args.key?(:count)
1474
+ @cr = args[:cr] if args.key?(:cr)
1475
+ @cx = args[:cx] if args.key?(:cx)
1476
+ @date_restrict = args[:date_restrict] if args.key?(:date_restrict)
1477
+ @disable_cn_tw_translation = args[:disable_cn_tw_translation] if args.key?(:disable_cn_tw_translation)
1478
+ @exact_terms = args[:exact_terms] if args.key?(:exact_terms)
1479
+ @exclude_terms = args[:exclude_terms] if args.key?(:exclude_terms)
1480
+ @file_type = args[:file_type] if args.key?(:file_type)
1481
+ @filter = args[:filter] if args.key?(:filter)
1482
+ @gl = args[:gl] if args.key?(:gl)
1483
+ @google_host = args[:google_host] if args.key?(:google_host)
1484
+ @high_range = args[:high_range] if args.key?(:high_range)
1485
+ @hl = args[:hl] if args.key?(:hl)
1486
+ @hq = args[:hq] if args.key?(:hq)
1487
+ @img_color_type = args[:img_color_type] if args.key?(:img_color_type)
1488
+ @img_dominant_color = args[:img_dominant_color] if args.key?(:img_dominant_color)
1489
+ @img_size = args[:img_size] if args.key?(:img_size)
1490
+ @img_type = args[:img_type] if args.key?(:img_type)
1491
+ @input_encoding = args[:input_encoding] if args.key?(:input_encoding)
1492
+ @language = args[:language] if args.key?(:language)
1493
+ @link_site = args[:link_site] if args.key?(:link_site)
1494
+ @low_range = args[:low_range] if args.key?(:low_range)
1495
+ @or_terms = args[:or_terms] if args.key?(:or_terms)
1496
+ @output_encoding = args[:output_encoding] if args.key?(:output_encoding)
1497
+ @related_site = args[:related_site] if args.key?(:related_site)
1498
+ @rights = args[:rights] if args.key?(:rights)
1499
+ @safe = args[:safe] if args.key?(:safe)
1500
+ @search_terms = args[:search_terms] if args.key?(:search_terms)
1501
+ @search_type = args[:search_type] if args.key?(:search_type)
1502
+ @site_search = args[:site_search] if args.key?(:site_search)
1503
+ @site_search_filter = args[:site_search_filter] if args.key?(:site_search_filter)
1504
+ @sort = args[:sort] if args.key?(:sort)
1505
+ @start_index = args[:start_index] if args.key?(:start_index)
1506
+ @start_page = args[:start_page] if args.key?(:start_page)
1507
+ @title = args[:title] if args.key?(:title)
1508
+ @total_results = args[:total_results] if args.key?(:total_results)
1509
+ end
1510
+ end
1511
+ end
1512
+
1513
+ # Metadata about a search operation.
1514
+ class SearchInformation
1515
+ include Google::Apis::Core::Hashable
1516
+
1517
+ # The time taken for the server to return search results, formatted
1518
+ # according to locale style.
1519
+ # Corresponds to the JSON property `formattedSearchTime`
1520
+ # @return [String]
1521
+ attr_accessor :formatted_search_time
1522
+
1523
+ # The total number of search results, formatted according to locale style.
1524
+ # Corresponds to the JSON property `formattedTotalResults`
1525
+ # @return [String]
1526
+ attr_accessor :formatted_total_results
1527
+
1528
+ # The time taken for the server to return search results.
1529
+ # Corresponds to the JSON property `searchTime`
1530
+ # @return [Float]
1531
+ attr_accessor :search_time
1532
+
1533
+ # The total number of search results returned by the query.
1534
+ # Corresponds to the JSON property `totalResults`
1535
+ # @return [String]
1536
+ attr_accessor :total_results
1537
+
1538
+ def initialize(**args)
1539
+ update!(**args)
1540
+ end
1541
+
1542
+ # Update properties of this object
1543
+ def update!(**args)
1544
+ @formatted_search_time = args[:formatted_search_time] if args.key?(:formatted_search_time)
1545
+ @formatted_total_results = args[:formatted_total_results] if args.key?(:formatted_total_results)
1546
+ @search_time = args[:search_time] if args.key?(:search_time)
1547
+ @total_results = args[:total_results] if args.key?(:total_results)
1548
+ end
1549
+ end
1550
+
1551
+ # Spell correction information for a query.
1552
+ class Spelling
1553
+ include Google::Apis::Core::Hashable
1554
+
1555
+ # The corrected query.
1556
+ # Corresponds to the JSON property `correctedQuery`
1557
+ # @return [String]
1558
+ attr_accessor :corrected_query
1559
+
1560
+ # The corrected query, formatted in HTML.
1561
+ # Corresponds to the JSON property `htmlCorrectedQuery`
1562
+ # @return [String]
1563
+ attr_accessor :html_corrected_query
1564
+
1565
+ def initialize(**args)
1566
+ update!(**args)
1567
+ end
1568
+
1569
+ # Update properties of this object
1570
+ def update!(**args)
1571
+ @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
1572
+ @html_corrected_query = args[:html_corrected_query] if args.key?(:html_corrected_query)
1573
+ end
1574
+ end
1575
+
1576
+ # OpenSearch template and URL.
1577
+ class Url
1578
+ include Google::Apis::Core::Hashable
1579
+
1580
+ # The actual [OpenSearch
1581
+ # template](http://www.opensearch.org/specifications/opensearch/1.1#
1582
+ # opensearch_url_template_syntax)
1583
+ # for this API.
1584
+ # Corresponds to the JSON property `template`
1585
+ # @return [String]
1586
+ attr_accessor :template
1587
+
1588
+ # The MIME type of the OpenSearch URL template for the Custom Search API.
1589
+ # Corresponds to the JSON property `type`
1590
+ # @return [String]
1591
+ attr_accessor :type
1592
+
1593
+ def initialize(**args)
1594
+ update!(**args)
1595
+ end
1596
+
1597
+ # Update properties of this object
1598
+ def update!(**args)
1599
+ @template = args[:template] if args.key?(:template)
1600
+ @type = args[:type] if args.key?(:type)
1601
+ end
1602
+ end
1603
+ end
1604
+ end
1605
+ end
1606
+ end