google-apis-workspaceevents_v1 0.18.0 → 0.19.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.
@@ -22,20 +22,1192 @@ module Google
22
22
  module Apis
23
23
  module WorkspaceeventsV1
24
24
 
25
+ #
26
+ class ApiKeySecurityScheme
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Description of this security scheme.
30
+ # Corresponds to the JSON property `description`
31
+ # @return [String]
32
+ attr_accessor :description
33
+
34
+ # Location of the API key, valid values are "query", "header", or "cookie"
35
+ # Corresponds to the JSON property `location`
36
+ # @return [String]
37
+ attr_accessor :location
38
+
39
+ # Name of the header, query or cookie parameter to be used.
40
+ # Corresponds to the JSON property `name`
41
+ # @return [String]
42
+ attr_accessor :name
43
+
44
+ def initialize(**args)
45
+ update!(**args)
46
+ end
47
+
48
+ # Update properties of this object
49
+ def update!(**args)
50
+ @description = args[:description] if args.key?(:description)
51
+ @location = args[:location] if args.key?(:location)
52
+ @name = args[:name] if args.key?(:name)
53
+ end
54
+ end
55
+
56
+ # Defines the A2A feature set supported by the agent
57
+ class AgentCapabilities
58
+ include Google::Apis::Core::Hashable
59
+
60
+ # Extensions supported by this agent.
61
+ # Corresponds to the JSON property `extensions`
62
+ # @return [Array<Google::Apis::WorkspaceeventsV1::AgentExtension>]
63
+ attr_accessor :extensions
64
+
65
+ # If the agent can send push notifications to the clients webhook
66
+ # Corresponds to the JSON property `pushNotifications`
67
+ # @return [Boolean]
68
+ attr_accessor :push_notifications
69
+ alias_method :push_notifications?, :push_notifications
70
+
71
+ # If the agent will support streaming responses
72
+ # Corresponds to the JSON property `streaming`
73
+ # @return [Boolean]
74
+ attr_accessor :streaming
75
+ alias_method :streaming?, :streaming
76
+
77
+ def initialize(**args)
78
+ update!(**args)
79
+ end
80
+
81
+ # Update properties of this object
82
+ def update!(**args)
83
+ @extensions = args[:extensions] if args.key?(:extensions)
84
+ @push_notifications = args[:push_notifications] if args.key?(:push_notifications)
85
+ @streaming = args[:streaming] if args.key?(:streaming)
86
+ end
87
+ end
88
+
89
+ # AgentCard conveys key information: - Overall details (version, name,
90
+ # description, uses) - Skills; a set of actions/solutions the agent can perform -
91
+ # Default modalities/content types supported by the agent. - Authentication
92
+ # requirements Next ID: 19
93
+ class AgentCard
94
+ include Google::Apis::Core::Hashable
95
+
96
+ # Announcement of additional supported transports. Client can use any of the
97
+ # supported transports.
98
+ # Corresponds to the JSON property `additionalInterfaces`
99
+ # @return [Array<Google::Apis::WorkspaceeventsV1::AgentInterface>]
100
+ attr_accessor :additional_interfaces
101
+
102
+ # Defines the A2A feature set supported by the agent
103
+ # Corresponds to the JSON property `capabilities`
104
+ # @return [Google::Apis::WorkspaceeventsV1::AgentCapabilities]
105
+ attr_accessor :capabilities
106
+
107
+ # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED The set of interaction modes
108
+ # that the agent supports across all skills. This can be overridden per skill.
109
+ # Defined as mime types.
110
+ # Corresponds to the JSON property `defaultInputModes`
111
+ # @return [Array<String>]
112
+ attr_accessor :default_input_modes
113
+
114
+ # The mime types supported as outputs from this agent.
115
+ # Corresponds to the JSON property `defaultOutputModes`
116
+ # @return [Array<String>]
117
+ attr_accessor :default_output_modes
118
+
119
+ # A description of the agent's domain of action/solution space. Example: "Agent
120
+ # that helps users with recipes and cooking."
121
+ # Corresponds to the JSON property `description`
122
+ # @return [String]
123
+ attr_accessor :description
124
+
125
+ # A url to provide additional documentation about the agent.
126
+ # Corresponds to the JSON property `documentationUrl`
127
+ # @return [String]
128
+ attr_accessor :documentation_url
129
+
130
+ # An optional URL to an icon for the agent.
131
+ # Corresponds to the JSON property `iconUrl`
132
+ # @return [String]
133
+ attr_accessor :icon_url
134
+
135
+ # A human readable name for the agent. Example: "Recipe Agent"
136
+ # Corresponds to the JSON property `name`
137
+ # @return [String]
138
+ attr_accessor :name
139
+
140
+ # The transport of the preferred endpoint. If empty, defaults to JSONRPC.
141
+ # Corresponds to the JSON property `preferredTransport`
142
+ # @return [String]
143
+ attr_accessor :preferred_transport
144
+
145
+ # The version of the A2A protocol this agent supports.
146
+ # Corresponds to the JSON property `protocolVersion`
147
+ # @return [String]
148
+ attr_accessor :protocol_version
149
+
150
+ # Represents information about the service provider of an agent.
151
+ # Corresponds to the JSON property `provider`
152
+ # @return [Google::Apis::WorkspaceeventsV1::AgentProvider]
153
+ attr_accessor :provider
154
+
155
+ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security requirements for
156
+ # contacting the agent. This list can be seen as an OR of ANDs. Each object in
157
+ # the list describes one possible set of security requirements that must be
158
+ # present on a request. This allows specifying, for example, "callers must
159
+ # either use OAuth OR an API Key AND mTLS." Example: security ` schemes ` key: "
160
+ # oauth" value ` list: ["read"] ` ` ` security ` schemes ` key: "api-key" `
161
+ # schemes ` key: "mtls" ` `
162
+ # Corresponds to the JSON property `security`
163
+ # @return [Array<Google::Apis::WorkspaceeventsV1::Security>]
164
+ attr_accessor :security
165
+
166
+ # The security scheme details used for authenticating with this agent.
167
+ # Corresponds to the JSON property `securitySchemes`
168
+ # @return [Hash<String,Google::Apis::WorkspaceeventsV1::SecurityScheme>]
169
+ attr_accessor :security_schemes
170
+
171
+ # JSON Web Signatures computed for this AgentCard.
172
+ # Corresponds to the JSON property `signatures`
173
+ # @return [Array<Google::Apis::WorkspaceeventsV1::AgentCardSignature>]
174
+ attr_accessor :signatures
175
+
176
+ # Skills represent a unit of ability an agent can perform. This may somewhat
177
+ # abstract but represents a more focused set of actions that the agent is highly
178
+ # likely to succeed at.
179
+ # Corresponds to the JSON property `skills`
180
+ # @return [Array<Google::Apis::WorkspaceeventsV1::AgentSkill>]
181
+ attr_accessor :skills
182
+
183
+ # Whether the agent supports providing an extended agent card when the user is
184
+ # authenticated, i.e. is the card from .well-known different than the card from
185
+ # GetAgentCard.
186
+ # Corresponds to the JSON property `supportsAuthenticatedExtendedCard`
187
+ # @return [Boolean]
188
+ attr_accessor :supports_authenticated_extended_card
189
+ alias_method :supports_authenticated_extended_card?, :supports_authenticated_extended_card
190
+
191
+ # A URL to the address the agent is hosted at. This represents the preferred
192
+ # endpoint as declared by the agent.
193
+ # Corresponds to the JSON property `url`
194
+ # @return [String]
195
+ attr_accessor :url
196
+
197
+ # The version of the agent. Example: "1.0.0"
198
+ # Corresponds to the JSON property `version`
199
+ # @return [String]
200
+ attr_accessor :version
201
+
202
+ def initialize(**args)
203
+ update!(**args)
204
+ end
205
+
206
+ # Update properties of this object
207
+ def update!(**args)
208
+ @additional_interfaces = args[:additional_interfaces] if args.key?(:additional_interfaces)
209
+ @capabilities = args[:capabilities] if args.key?(:capabilities)
210
+ @default_input_modes = args[:default_input_modes] if args.key?(:default_input_modes)
211
+ @default_output_modes = args[:default_output_modes] if args.key?(:default_output_modes)
212
+ @description = args[:description] if args.key?(:description)
213
+ @documentation_url = args[:documentation_url] if args.key?(:documentation_url)
214
+ @icon_url = args[:icon_url] if args.key?(:icon_url)
215
+ @name = args[:name] if args.key?(:name)
216
+ @preferred_transport = args[:preferred_transport] if args.key?(:preferred_transport)
217
+ @protocol_version = args[:protocol_version] if args.key?(:protocol_version)
218
+ @provider = args[:provider] if args.key?(:provider)
219
+ @security = args[:security] if args.key?(:security)
220
+ @security_schemes = args[:security_schemes] if args.key?(:security_schemes)
221
+ @signatures = args[:signatures] if args.key?(:signatures)
222
+ @skills = args[:skills] if args.key?(:skills)
223
+ @supports_authenticated_extended_card = args[:supports_authenticated_extended_card] if args.key?(:supports_authenticated_extended_card)
224
+ @url = args[:url] if args.key?(:url)
225
+ @version = args[:version] if args.key?(:version)
226
+ end
227
+ end
228
+
229
+ # AgentCardSignature represents a JWS signature of an AgentCard. This follows
230
+ # the JSON format of an RFC 7515 JSON Web Signature (JWS).
231
+ class AgentCardSignature
232
+ include Google::Apis::Core::Hashable
233
+
234
+ # The unprotected JWS header values.
235
+ # Corresponds to the JSON property `header`
236
+ # @return [Hash<String,Object>]
237
+ attr_accessor :header
238
+
239
+ # Required. The protected JWS header for the signature. This is always a
240
+ # base64url-encoded JSON object. Required.
241
+ # Corresponds to the JSON property `protected`
242
+ # @return [String]
243
+ attr_accessor :protected
244
+
245
+ # Required. The computed signature, base64url-encoded. Required.
246
+ # Corresponds to the JSON property `signature`
247
+ # @return [String]
248
+ attr_accessor :signature
249
+
250
+ def initialize(**args)
251
+ update!(**args)
252
+ end
253
+
254
+ # Update properties of this object
255
+ def update!(**args)
256
+ @header = args[:header] if args.key?(:header)
257
+ @protected = args[:protected] if args.key?(:protected)
258
+ @signature = args[:signature] if args.key?(:signature)
259
+ end
260
+ end
261
+
262
+ # A declaration of an extension supported by an Agent.
263
+ class AgentExtension
264
+ include Google::Apis::Core::Hashable
265
+
266
+ # A description of how this agent uses this extension. Example: "Google OAuth 2.
267
+ # 0 authentication"
268
+ # Corresponds to the JSON property `description`
269
+ # @return [String]
270
+ attr_accessor :description
271
+
272
+ # Optional configuration for the extension.
273
+ # Corresponds to the JSON property `params`
274
+ # @return [Hash<String,Object>]
275
+ attr_accessor :params
276
+
277
+ # Whether the client must follow specific requirements of the extension. Example:
278
+ # false
279
+ # Corresponds to the JSON property `required`
280
+ # @return [Boolean]
281
+ attr_accessor :required
282
+ alias_method :required?, :required
283
+
284
+ # The URI of the extension. Example: "https://developers.google.com/identity/
285
+ # protocols/oauth2"
286
+ # Corresponds to the JSON property `uri`
287
+ # @return [String]
288
+ attr_accessor :uri
289
+
290
+ def initialize(**args)
291
+ update!(**args)
292
+ end
293
+
294
+ # Update properties of this object
295
+ def update!(**args)
296
+ @description = args[:description] if args.key?(:description)
297
+ @params = args[:params] if args.key?(:params)
298
+ @required = args[:required] if args.key?(:required)
299
+ @uri = args[:uri] if args.key?(:uri)
300
+ end
301
+ end
302
+
303
+ # Defines additional transport information for the agent.
304
+ class AgentInterface
305
+ include Google::Apis::Core::Hashable
306
+
307
+ # The transport supported this url. This is an open form string, to be easily
308
+ # extended for many transport protocols. The core ones officially supported are
309
+ # JSONRPC, GRPC and HTTP+JSON.
310
+ # Corresponds to the JSON property `transport`
311
+ # @return [String]
312
+ attr_accessor :transport
313
+
314
+ # The url this interface is found at.
315
+ # Corresponds to the JSON property `url`
316
+ # @return [String]
317
+ attr_accessor :url
318
+
319
+ def initialize(**args)
320
+ update!(**args)
321
+ end
322
+
323
+ # Update properties of this object
324
+ def update!(**args)
325
+ @transport = args[:transport] if args.key?(:transport)
326
+ @url = args[:url] if args.key?(:url)
327
+ end
328
+ end
329
+
330
+ # Represents information about the service provider of an agent.
331
+ class AgentProvider
332
+ include Google::Apis::Core::Hashable
333
+
334
+ # The providers organization name Example: "Google"
335
+ # Corresponds to the JSON property `organization`
336
+ # @return [String]
337
+ attr_accessor :organization
338
+
339
+ # The providers reference url Example: "https://ai.google.dev"
340
+ # Corresponds to the JSON property `url`
341
+ # @return [String]
342
+ attr_accessor :url
343
+
344
+ def initialize(**args)
345
+ update!(**args)
346
+ end
347
+
348
+ # Update properties of this object
349
+ def update!(**args)
350
+ @organization = args[:organization] if args.key?(:organization)
351
+ @url = args[:url] if args.key?(:url)
352
+ end
353
+ end
354
+
355
+ # AgentSkill represents a unit of action/solution that the agent can perform.
356
+ # One can think of this as a type of highly reliable solution that an agent can
357
+ # be tasked to provide. Agents have the autonomy to choose how and when to use
358
+ # specific skills, but clients should have confidence that if the skill is
359
+ # defined that unit of action can be reliably performed.
360
+ class AgentSkill
361
+ include Google::Apis::Core::Hashable
362
+
363
+ # A human (or llm) readable description of the skill details and behaviors.
364
+ # Corresponds to the JSON property `description`
365
+ # @return [String]
366
+ attr_accessor :description
367
+
368
+ # A set of example queries that this skill is designed to address. These
369
+ # examples should help the caller to understand how to craft requests to the
370
+ # agent to achieve specific goals. Example: ["I need a recipe for bread"]
371
+ # Corresponds to the JSON property `examples`
372
+ # @return [Array<String>]
373
+ attr_accessor :examples
374
+
375
+ # Unique identifier of the skill within this agent.
376
+ # Corresponds to the JSON property `id`
377
+ # @return [String]
378
+ attr_accessor :id
379
+
380
+ # Possible input modalities supported.
381
+ # Corresponds to the JSON property `inputModes`
382
+ # @return [Array<String>]
383
+ attr_accessor :input_modes
384
+
385
+ # A human readable name for the skill.
386
+ # Corresponds to the JSON property `name`
387
+ # @return [String]
388
+ attr_accessor :name
389
+
390
+ # Possible output modalities produced
391
+ # Corresponds to the JSON property `outputModes`
392
+ # @return [Array<String>]
393
+ attr_accessor :output_modes
394
+
395
+ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security schemes necessary
396
+ # for the agent to leverage this skill. As in the overall AgentCard.security,
397
+ # this list represents a logical OR of security requirement objects. Each object
398
+ # is a set of security schemes that must be used together (a logical AND).
399
+ # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED
400
+ # Corresponds to the JSON property `security`
401
+ # @return [Array<Google::Apis::WorkspaceeventsV1::Security>]
402
+ attr_accessor :security
403
+
404
+ # A set of tags for the skill to enhance categorization/utilization. Example: ["
405
+ # cooking", "customer support", "billing"]
406
+ # Corresponds to the JSON property `tags`
407
+ # @return [Array<String>]
408
+ attr_accessor :tags
409
+
410
+ def initialize(**args)
411
+ update!(**args)
412
+ end
413
+
414
+ # Update properties of this object
415
+ def update!(**args)
416
+ @description = args[:description] if args.key?(:description)
417
+ @examples = args[:examples] if args.key?(:examples)
418
+ @id = args[:id] if args.key?(:id)
419
+ @input_modes = args[:input_modes] if args.key?(:input_modes)
420
+ @name = args[:name] if args.key?(:name)
421
+ @output_modes = args[:output_modes] if args.key?(:output_modes)
422
+ @security = args[:security] if args.key?(:security)
423
+ @tags = args[:tags] if args.key?(:tags)
424
+ end
425
+ end
426
+
427
+ # Artifacts are the container for task completed results. These are similar to
428
+ # Messages but are intended to be the product of a task, as opposed to point-to-
429
+ # point communication.
430
+ class Artifact
431
+ include Google::Apis::Core::Hashable
432
+
433
+ # Unique identifier (e.g. UUID) for the artifact. It must be at least unique
434
+ # within a task.
435
+ # Corresponds to the JSON property `artifactId`
436
+ # @return [String]
437
+ attr_accessor :artifact_id
438
+
439
+ # A human readable description of the artifact, optional.
440
+ # Corresponds to the JSON property `description`
441
+ # @return [String]
442
+ attr_accessor :description
443
+
444
+ # The URIs of extensions that are present or contributed to this Artifact.
445
+ # Corresponds to the JSON property `extensions`
446
+ # @return [Array<String>]
447
+ attr_accessor :extensions
448
+
449
+ # Optional metadata included with the artifact.
450
+ # Corresponds to the JSON property `metadata`
451
+ # @return [Hash<String,Object>]
452
+ attr_accessor :metadata
453
+
454
+ # A human readable name for the artifact.
455
+ # Corresponds to the JSON property `name`
456
+ # @return [String]
457
+ attr_accessor :name
458
+
459
+ # The content of the artifact.
460
+ # Corresponds to the JSON property `parts`
461
+ # @return [Array<Google::Apis::WorkspaceeventsV1::Part>]
462
+ attr_accessor :parts
463
+
464
+ def initialize(**args)
465
+ update!(**args)
466
+ end
467
+
468
+ # Update properties of this object
469
+ def update!(**args)
470
+ @artifact_id = args[:artifact_id] if args.key?(:artifact_id)
471
+ @description = args[:description] if args.key?(:description)
472
+ @extensions = args[:extensions] if args.key?(:extensions)
473
+ @metadata = args[:metadata] if args.key?(:metadata)
474
+ @name = args[:name] if args.key?(:name)
475
+ @parts = args[:parts] if args.key?(:parts)
476
+ end
477
+ end
478
+
479
+ # Defines authentication details, used for push notifications.
480
+ class AuthenticationInfo
481
+ include Google::Apis::Core::Hashable
482
+
483
+ # Optional credentials
484
+ # Corresponds to the JSON property `credentials`
485
+ # @return [String]
486
+ attr_accessor :credentials
487
+
488
+ # Supported authentication schemes - e.g. Basic, Bearer, etc
489
+ # Corresponds to the JSON property `schemes`
490
+ # @return [Array<String>]
491
+ attr_accessor :schemes
492
+
493
+ def initialize(**args)
494
+ update!(**args)
495
+ end
496
+
497
+ # Update properties of this object
498
+ def update!(**args)
499
+ @credentials = args[:credentials] if args.key?(:credentials)
500
+ @schemes = args[:schemes] if args.key?(:schemes)
501
+ end
502
+ end
503
+
504
+ #
505
+ class AuthorizationCodeOAuthFlow
506
+ include Google::Apis::Core::Hashable
507
+
508
+ # The authorization URL to be used for this flow. This MUST be in the form of a
509
+ # URL. The OAuth2 standard requires the use of TLS
510
+ # Corresponds to the JSON property `authorizationUrl`
511
+ # @return [String]
512
+ attr_accessor :authorization_url
513
+
514
+ # The URL to be used for obtaining refresh tokens. This MUST be in the form of a
515
+ # URL. The OAuth2 standard requires the use of TLS.
516
+ # Corresponds to the JSON property `refreshUrl`
517
+ # @return [String]
518
+ attr_accessor :refresh_url
519
+
520
+ # The available scopes for the OAuth2 security scheme. A map between the scope
521
+ # name and a short description for it. The map MAY be empty.
522
+ # Corresponds to the JSON property `scopes`
523
+ # @return [Hash<String,String>]
524
+ attr_accessor :scopes
525
+
526
+ # The token URL to be used for this flow. This MUST be in the form of a URL. The
527
+ # OAuth2 standard requires the use of TLS.
528
+ # Corresponds to the JSON property `tokenUrl`
529
+ # @return [String]
530
+ attr_accessor :token_url
531
+
532
+ def initialize(**args)
533
+ update!(**args)
534
+ end
535
+
536
+ # Update properties of this object
537
+ def update!(**args)
538
+ @authorization_url = args[:authorization_url] if args.key?(:authorization_url)
539
+ @refresh_url = args[:refresh_url] if args.key?(:refresh_url)
540
+ @scopes = args[:scopes] if args.key?(:scopes)
541
+ @token_url = args[:token_url] if args.key?(:token_url)
542
+ end
543
+ end
544
+
545
+ #
546
+ class CancelTaskRequest
547
+ include Google::Apis::Core::Hashable
548
+
549
+ def initialize(**args)
550
+ update!(**args)
551
+ end
552
+
553
+ # Update properties of this object
554
+ def update!(**args)
555
+ end
556
+ end
557
+
558
+ #
559
+ class ClientCredentialsOAuthFlow
560
+ include Google::Apis::Core::Hashable
561
+
562
+ # The URL to be used for obtaining refresh tokens. This MUST be in the form of a
563
+ # URL. The OAuth2 standard requires the use of TLS.
564
+ # Corresponds to the JSON property `refreshUrl`
565
+ # @return [String]
566
+ attr_accessor :refresh_url
567
+
568
+ # The available scopes for the OAuth2 security scheme. A map between the scope
569
+ # name and a short description for it. The map MAY be empty.
570
+ # Corresponds to the JSON property `scopes`
571
+ # @return [Hash<String,String>]
572
+ attr_accessor :scopes
573
+
574
+ # The token URL to be used for this flow. This MUST be in the form of a URL. The
575
+ # OAuth2 standard requires the use of TLS.
576
+ # Corresponds to the JSON property `tokenUrl`
577
+ # @return [String]
578
+ attr_accessor :token_url
579
+
580
+ def initialize(**args)
581
+ update!(**args)
582
+ end
583
+
584
+ # Update properties of this object
585
+ def update!(**args)
586
+ @refresh_url = args[:refresh_url] if args.key?(:refresh_url)
587
+ @scopes = args[:scopes] if args.key?(:scopes)
588
+ @token_url = args[:token_url] if args.key?(:token_url)
589
+ end
590
+ end
591
+
592
+ # DataPart represents a structured blob. This is most commonly a JSON payload.
593
+ class DataPart
594
+ include Google::Apis::Core::Hashable
595
+
596
+ #
597
+ # Corresponds to the JSON property `data`
598
+ # @return [Hash<String,Object>]
599
+ attr_accessor :data
600
+
601
+ def initialize(**args)
602
+ update!(**args)
603
+ end
604
+
605
+ # Update properties of this object
606
+ def update!(**args)
607
+ @data = args[:data] if args.key?(:data)
608
+ end
609
+ end
610
+
611
+ # A generic empty message that you can re-use to avoid defining duplicated empty
612
+ # messages in your APIs. A typical example is to use it as the request or the
613
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
614
+ # protobuf.Empty) returns (google.protobuf.Empty); `
615
+ class Empty
616
+ include Google::Apis::Core::Hashable
617
+
618
+ def initialize(**args)
619
+ update!(**args)
620
+ end
621
+
622
+ # Update properties of this object
623
+ def update!(**args)
624
+ end
625
+ end
626
+
627
+ # FilePart represents the different ways files can be provided. If files are
628
+ # small, directly feeding the bytes is supported via file_with_bytes. If the
629
+ # file is large, the agent should read the content as appropriate directly from
630
+ # the file_with_uri source.
631
+ class FilePart
632
+ include Google::Apis::Core::Hashable
633
+
634
+ #
635
+ # Corresponds to the JSON property `fileWithBytes`
636
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
637
+ # @return [String]
638
+ attr_accessor :file_with_bytes
639
+
640
+ #
641
+ # Corresponds to the JSON property `fileWithUri`
642
+ # @return [String]
643
+ attr_accessor :file_with_uri
644
+
645
+ #
646
+ # Corresponds to the JSON property `mimeType`
647
+ # @return [String]
648
+ attr_accessor :mime_type
649
+
650
+ #
651
+ # Corresponds to the JSON property `name`
652
+ # @return [String]
653
+ attr_accessor :name
654
+
655
+ def initialize(**args)
656
+ update!(**args)
657
+ end
658
+
659
+ # Update properties of this object
660
+ def update!(**args)
661
+ @file_with_bytes = args[:file_with_bytes] if args.key?(:file_with_bytes)
662
+ @file_with_uri = args[:file_with_uri] if args.key?(:file_with_uri)
663
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
664
+ @name = args[:name] if args.key?(:name)
665
+ end
666
+ end
667
+
668
+ #
669
+ class HttpAuthSecurityScheme
670
+ include Google::Apis::Core::Hashable
671
+
672
+ # A hint to the client to identify how the bearer token is formatted. Bearer
673
+ # tokens are usually generated by an authorization server, so this information
674
+ # is primarily for documentation purposes.
675
+ # Corresponds to the JSON property `bearerFormat`
676
+ # @return [String]
677
+ attr_accessor :bearer_format
678
+
679
+ # Description of this security scheme.
680
+ # Corresponds to the JSON property `description`
681
+ # @return [String]
682
+ attr_accessor :description
683
+
684
+ # The name of the HTTP Authentication scheme to be used in the Authorization
685
+ # header as defined in RFC7235. The values used SHOULD be registered in the IANA
686
+ # Authentication Scheme registry. The value is case-insensitive, as defined in
687
+ # RFC7235.
688
+ # Corresponds to the JSON property `scheme`
689
+ # @return [String]
690
+ attr_accessor :scheme
691
+
692
+ def initialize(**args)
693
+ update!(**args)
694
+ end
695
+
696
+ # Update properties of this object
697
+ def update!(**args)
698
+ @bearer_format = args[:bearer_format] if args.key?(:bearer_format)
699
+ @description = args[:description] if args.key?(:description)
700
+ @scheme = args[:scheme] if args.key?(:scheme)
701
+ end
702
+ end
703
+
704
+ #
705
+ class ImplicitOAuthFlow
706
+ include Google::Apis::Core::Hashable
707
+
708
+ # The authorization URL to be used for this flow. This MUST be in the form of a
709
+ # URL. The OAuth2 standard requires the use of TLS
710
+ # Corresponds to the JSON property `authorizationUrl`
711
+ # @return [String]
712
+ attr_accessor :authorization_url
713
+
714
+ # The URL to be used for obtaining refresh tokens. This MUST be in the form of a
715
+ # URL. The OAuth2 standard requires the use of TLS.
716
+ # Corresponds to the JSON property `refreshUrl`
717
+ # @return [String]
718
+ attr_accessor :refresh_url
719
+
720
+ # The available scopes for the OAuth2 security scheme. A map between the scope
721
+ # name and a short description for it. The map MAY be empty.
722
+ # Corresponds to the JSON property `scopes`
723
+ # @return [Hash<String,String>]
724
+ attr_accessor :scopes
725
+
726
+ def initialize(**args)
727
+ update!(**args)
728
+ end
729
+
730
+ # Update properties of this object
731
+ def update!(**args)
732
+ @authorization_url = args[:authorization_url] if args.key?(:authorization_url)
733
+ @refresh_url = args[:refresh_url] if args.key?(:refresh_url)
734
+ @scopes = args[:scopes] if args.key?(:scopes)
735
+ end
736
+ end
737
+
25
738
  # The response message for SubscriptionsService.ListSubscriptions.
26
739
  class ListSubscriptionsResponse
27
740
  include Google::Apis::Core::Hashable
28
741
 
29
- # A token, which can be sent as `page_token` to retrieve the next page. If this
30
- # field is omitted, there are no subsequent pages.
31
- # Corresponds to the JSON property `nextPageToken`
742
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
743
+ # field is omitted, there are no subsequent pages.
744
+ # Corresponds to the JSON property `nextPageToken`
745
+ # @return [String]
746
+ attr_accessor :next_page_token
747
+
748
+ # List of subscriptions.
749
+ # Corresponds to the JSON property `subscriptions`
750
+ # @return [Array<Google::Apis::WorkspaceeventsV1::Subscription>]
751
+ attr_accessor :subscriptions
752
+
753
+ def initialize(**args)
754
+ update!(**args)
755
+ end
756
+
757
+ # Update properties of this object
758
+ def update!(**args)
759
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
760
+ @subscriptions = args[:subscriptions] if args.key?(:subscriptions)
761
+ end
762
+ end
763
+
764
+ #
765
+ class ListTaskPushNotificationConfigResponse
766
+ include Google::Apis::Core::Hashable
767
+
768
+ # The list of push notification configurations.
769
+ # Corresponds to the JSON property `configs`
770
+ # @return [Array<Google::Apis::WorkspaceeventsV1::TaskPushNotificationConfig>]
771
+ attr_accessor :configs
772
+
773
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
774
+ # field is omitted, there are no subsequent pages.
775
+ # Corresponds to the JSON property `nextPageToken`
776
+ # @return [String]
777
+ attr_accessor :next_page_token
778
+
779
+ def initialize(**args)
780
+ update!(**args)
781
+ end
782
+
783
+ # Update properties of this object
784
+ def update!(**args)
785
+ @configs = args[:configs] if args.key?(:configs)
786
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
787
+ end
788
+ end
789
+
790
+ # Message is one unit of communication between client and server. It is
791
+ # associated with a context and optionally a task. Since the server is
792
+ # responsible for the context definition, it must always provide a context_id in
793
+ # its messages. The client can optionally provide the context_id if it knows the
794
+ # context to associate the message to. Similarly for task_id, except the server
795
+ # decides if a task is created and whether to include the task_id.
796
+ class Message
797
+ include Google::Apis::Core::Hashable
798
+
799
+ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of
800
+ # the message content.
801
+ # Corresponds to the JSON property `content`
802
+ # @return [Array<Google::Apis::WorkspaceeventsV1::Part>]
803
+ attr_accessor :content
804
+
805
+ # The context id of the message. This is optional and if set, the message will
806
+ # be associated with the given context.
807
+ # Corresponds to the JSON property `contextId`
808
+ # @return [String]
809
+ attr_accessor :context_id
810
+
811
+ # The URIs of extensions that are present or contributed to this Message.
812
+ # Corresponds to the JSON property `extensions`
813
+ # @return [Array<String>]
814
+ attr_accessor :extensions
815
+
816
+ # The unique identifier (e.g. UUID)of the message. This is required and created
817
+ # by the message creator.
818
+ # Corresponds to the JSON property `messageId`
819
+ # @return [String]
820
+ attr_accessor :message_id
821
+
822
+ # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to
823
+ # provide along with the message.
824
+ # Corresponds to the JSON property `metadata`
825
+ # @return [Hash<String,Object>]
826
+ attr_accessor :metadata
827
+
828
+ # A role for the message.
829
+ # Corresponds to the JSON property `role`
830
+ # @return [String]
831
+ attr_accessor :role
832
+
833
+ # The task id of the message. This is optional and if set, the message will be
834
+ # associated with the given task.
835
+ # Corresponds to the JSON property `taskId`
836
+ # @return [String]
837
+ attr_accessor :task_id
838
+
839
+ def initialize(**args)
840
+ update!(**args)
841
+ end
842
+
843
+ # Update properties of this object
844
+ def update!(**args)
845
+ @content = args[:content] if args.key?(:content)
846
+ @context_id = args[:context_id] if args.key?(:context_id)
847
+ @extensions = args[:extensions] if args.key?(:extensions)
848
+ @message_id = args[:message_id] if args.key?(:message_id)
849
+ @metadata = args[:metadata] if args.key?(:metadata)
850
+ @role = args[:role] if args.key?(:role)
851
+ @task_id = args[:task_id] if args.key?(:task_id)
852
+ end
853
+ end
854
+
855
+ #
856
+ class MutualTlsSecurityScheme
857
+ include Google::Apis::Core::Hashable
858
+
859
+ # Description of this security scheme.
860
+ # Corresponds to the JSON property `description`
32
861
  # @return [String]
33
- attr_accessor :next_page_token
862
+ attr_accessor :description
863
+
864
+ def initialize(**args)
865
+ update!(**args)
866
+ end
867
+
868
+ # Update properties of this object
869
+ def update!(**args)
870
+ @description = args[:description] if args.key?(:description)
871
+ end
872
+ end
873
+
874
+ # The endpoint where the subscription delivers events.
875
+ class NotificationEndpoint
876
+ include Google::Apis::Core::Hashable
877
+
878
+ # Immutable. The Pub/Sub topic that receives events for the subscription. Format:
879
+ # `projects/`project`/topics/`topic`` You must create the topic in the same
880
+ # Google Cloud project where you create this subscription. Note: The Google
881
+ # Workspace Events API uses [ordering keys](https://cloud.google.com/pubsub/docs/
882
+ # ordering) for the benefit of sequential events. If the Cloud Pub/Sub topic has
883
+ # a [message storage policy](https://cloud.google.com/pubsub/docs/resource-
884
+ # location-restriction#exceptions) configured to exclude the nearest Google
885
+ # Cloud region, publishing events with ordering keys will fail. When the topic
886
+ # receives events, the events are encoded as Pub/Sub messages. For details, see
887
+ # the [Google Cloud Pub/Sub Protocol Binding for CloudEvents](https://github.com/
888
+ # googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md).
889
+ # Corresponds to the JSON property `pubsubTopic`
890
+ # @return [String]
891
+ attr_accessor :pubsub_topic
892
+
893
+ def initialize(**args)
894
+ update!(**args)
895
+ end
896
+
897
+ # Update properties of this object
898
+ def update!(**args)
899
+ @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic)
900
+ end
901
+ end
902
+
903
+ #
904
+ class OAuth2SecurityScheme
905
+ include Google::Apis::Core::Hashable
906
+
907
+ # Description of this security scheme.
908
+ # Corresponds to the JSON property `description`
909
+ # @return [String]
910
+ attr_accessor :description
911
+
912
+ # An object containing configuration information for the flow types supported
913
+ # Corresponds to the JSON property `flows`
914
+ # @return [Google::Apis::WorkspaceeventsV1::OAuthFlows]
915
+ attr_accessor :flows
916
+
917
+ # URL to the oauth2 authorization server metadata [RFC8414](https://datatracker.
918
+ # ietf.org/doc/html/rfc8414). TLS is required.
919
+ # Corresponds to the JSON property `oauth2MetadataUrl`
920
+ # @return [String]
921
+ attr_accessor :oauth2_metadata_url
922
+
923
+ def initialize(**args)
924
+ update!(**args)
925
+ end
926
+
927
+ # Update properties of this object
928
+ def update!(**args)
929
+ @description = args[:description] if args.key?(:description)
930
+ @flows = args[:flows] if args.key?(:flows)
931
+ @oauth2_metadata_url = args[:oauth2_metadata_url] if args.key?(:oauth2_metadata_url)
932
+ end
933
+ end
934
+
935
+ #
936
+ class OAuthFlows
937
+ include Google::Apis::Core::Hashable
938
+
939
+ #
940
+ # Corresponds to the JSON property `authorizationCode`
941
+ # @return [Google::Apis::WorkspaceeventsV1::AuthorizationCodeOAuthFlow]
942
+ attr_accessor :authorization_code
943
+
944
+ #
945
+ # Corresponds to the JSON property `clientCredentials`
946
+ # @return [Google::Apis::WorkspaceeventsV1::ClientCredentialsOAuthFlow]
947
+ attr_accessor :client_credentials
948
+
949
+ #
950
+ # Corresponds to the JSON property `implicit`
951
+ # @return [Google::Apis::WorkspaceeventsV1::ImplicitOAuthFlow]
952
+ attr_accessor :implicit
953
+
954
+ #
955
+ # Corresponds to the JSON property `password`
956
+ # @return [Google::Apis::WorkspaceeventsV1::PasswordOAuthFlow]
957
+ attr_accessor :password
958
+
959
+ def initialize(**args)
960
+ update!(**args)
961
+ end
962
+
963
+ # Update properties of this object
964
+ def update!(**args)
965
+ @authorization_code = args[:authorization_code] if args.key?(:authorization_code)
966
+ @client_credentials = args[:client_credentials] if args.key?(:client_credentials)
967
+ @implicit = args[:implicit] if args.key?(:implicit)
968
+ @password = args[:password] if args.key?(:password)
969
+ end
970
+ end
971
+
972
+ #
973
+ class OpenIdConnectSecurityScheme
974
+ include Google::Apis::Core::Hashable
975
+
976
+ # Description of this security scheme.
977
+ # Corresponds to the JSON property `description`
978
+ # @return [String]
979
+ attr_accessor :description
980
+
981
+ # Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata.
982
+ # Corresponds to the JSON property `openIdConnectUrl`
983
+ # @return [String]
984
+ attr_accessor :open_id_connect_url
985
+
986
+ def initialize(**args)
987
+ update!(**args)
988
+ end
989
+
990
+ # Update properties of this object
991
+ def update!(**args)
992
+ @description = args[:description] if args.key?(:description)
993
+ @open_id_connect_url = args[:open_id_connect_url] if args.key?(:open_id_connect_url)
994
+ end
995
+ end
996
+
997
+ # This resource represents a long-running operation that is the result of a
998
+ # network API call.
999
+ class Operation
1000
+ include Google::Apis::Core::Hashable
1001
+
1002
+ # If the value is `false`, it means the operation is still in progress. If `true`
1003
+ # , the operation is completed, and either `error` or `response` is available.
1004
+ # Corresponds to the JSON property `done`
1005
+ # @return [Boolean]
1006
+ attr_accessor :done
1007
+ alias_method :done?, :done
1008
+
1009
+ # The `Status` type defines a logical error model that is suitable for different
1010
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1011
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1012
+ # data: error code, error message, and error details. You can find out more
1013
+ # about this error model and how to work with it in the [API Design Guide](https:
1014
+ # //cloud.google.com/apis/design/errors).
1015
+ # Corresponds to the JSON property `error`
1016
+ # @return [Google::Apis::WorkspaceeventsV1::Status]
1017
+ attr_accessor :error
1018
+
1019
+ # Service-specific metadata associated with the operation. It typically contains
1020
+ # progress information and common metadata such as create time. Some services
1021
+ # might not provide such metadata. Any method that returns a long-running
1022
+ # operation should document the metadata type, if any.
1023
+ # Corresponds to the JSON property `metadata`
1024
+ # @return [Hash<String,Object>]
1025
+ attr_accessor :metadata
1026
+
1027
+ # The server-assigned name, which is only unique within the same service that
1028
+ # originally returns it. If you use the default HTTP mapping, the `name` should
1029
+ # be a resource name ending with `operations/`unique_id``.
1030
+ # Corresponds to the JSON property `name`
1031
+ # @return [String]
1032
+ attr_accessor :name
1033
+
1034
+ # The normal, successful response of the operation. If the original method
1035
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
1036
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
1037
+ # response should be the resource. For other methods, the response should have
1038
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
1039
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
1040
+ # `TakeSnapshotResponse`.
1041
+ # Corresponds to the JSON property `response`
1042
+ # @return [Hash<String,Object>]
1043
+ attr_accessor :response
1044
+
1045
+ def initialize(**args)
1046
+ update!(**args)
1047
+ end
1048
+
1049
+ # Update properties of this object
1050
+ def update!(**args)
1051
+ @done = args[:done] if args.key?(:done)
1052
+ @error = args[:error] if args.key?(:error)
1053
+ @metadata = args[:metadata] if args.key?(:metadata)
1054
+ @name = args[:name] if args.key?(:name)
1055
+ @response = args[:response] if args.key?(:response)
1056
+ end
1057
+ end
1058
+
1059
+ # Part represents a container for a section of communication content. Parts can
1060
+ # be purely textual, some sort of file (image, video, etc) or a structured data
1061
+ # blob (i.e. JSON).
1062
+ class Part
1063
+ include Google::Apis::Core::Hashable
1064
+
1065
+ # DataPart represents a structured blob. This is most commonly a JSON payload.
1066
+ # Corresponds to the JSON property `data`
1067
+ # @return [Google::Apis::WorkspaceeventsV1::DataPart]
1068
+ attr_accessor :data
1069
+
1070
+ # FilePart represents the different ways files can be provided. If files are
1071
+ # small, directly feeding the bytes is supported via file_with_bytes. If the
1072
+ # file is large, the agent should read the content as appropriate directly from
1073
+ # the file_with_uri source.
1074
+ # Corresponds to the JSON property `file`
1075
+ # @return [Google::Apis::WorkspaceeventsV1::FilePart]
1076
+ attr_accessor :file
1077
+
1078
+ # Optional metadata associated with this part.
1079
+ # Corresponds to the JSON property `metadata`
1080
+ # @return [Hash<String,Object>]
1081
+ attr_accessor :metadata
1082
+
1083
+ #
1084
+ # Corresponds to the JSON property `text`
1085
+ # @return [String]
1086
+ attr_accessor :text
1087
+
1088
+ def initialize(**args)
1089
+ update!(**args)
1090
+ end
1091
+
1092
+ # Update properties of this object
1093
+ def update!(**args)
1094
+ @data = args[:data] if args.key?(:data)
1095
+ @file = args[:file] if args.key?(:file)
1096
+ @metadata = args[:metadata] if args.key?(:metadata)
1097
+ @text = args[:text] if args.key?(:text)
1098
+ end
1099
+ end
1100
+
1101
+ #
1102
+ class PasswordOAuthFlow
1103
+ include Google::Apis::Core::Hashable
1104
+
1105
+ # The URL to be used for obtaining refresh tokens. This MUST be in the form of a
1106
+ # URL. The OAuth2 standard requires the use of TLS.
1107
+ # Corresponds to the JSON property `refreshUrl`
1108
+ # @return [String]
1109
+ attr_accessor :refresh_url
1110
+
1111
+ # The available scopes for the OAuth2 security scheme. A map between the scope
1112
+ # name and a short description for it. The map MAY be empty.
1113
+ # Corresponds to the JSON property `scopes`
1114
+ # @return [Hash<String,String>]
1115
+ attr_accessor :scopes
1116
+
1117
+ # The token URL to be used for this flow. This MUST be in the form of a URL. The
1118
+ # OAuth2 standard requires the use of TLS.
1119
+ # Corresponds to the JSON property `tokenUrl`
1120
+ # @return [String]
1121
+ attr_accessor :token_url
1122
+
1123
+ def initialize(**args)
1124
+ update!(**args)
1125
+ end
1126
+
1127
+ # Update properties of this object
1128
+ def update!(**args)
1129
+ @refresh_url = args[:refresh_url] if args.key?(:refresh_url)
1130
+ @scopes = args[:scopes] if args.key?(:scopes)
1131
+ @token_url = args[:token_url] if args.key?(:token_url)
1132
+ end
1133
+ end
1134
+
1135
+ # Options about what data to include in the event payload. Only supported for
1136
+ # Google Chat and Google Drive events.
1137
+ class PayloadOptions
1138
+ include Google::Apis::Core::Hashable
1139
+
1140
+ # Optional. If `include_resource` is set to `true`, the list of fields to
1141
+ # include in the event payload. Separate fields with a comma. For example, to
1142
+ # include a Google Chat message's sender and create time, enter `message.sender,
1143
+ # message.createTime`. If omitted, the payload includes all fields for the
1144
+ # resource. If you specify a field that doesn't exist for the resource, the
1145
+ # system ignores the field.
1146
+ # Corresponds to the JSON property `fieldMask`
1147
+ # @return [String]
1148
+ attr_accessor :field_mask
1149
+
1150
+ # Optional. Whether the event payload includes data about the resource that
1151
+ # changed. For example, for an event where a Google Chat message was created,
1152
+ # whether the payload contains data about the [`Message`](https://developers.
1153
+ # google.com/chat/api/reference/rest/v1/spaces.messages) resource. If false, the
1154
+ # event payload only includes the name of the changed resource.
1155
+ # Corresponds to the JSON property `includeResource`
1156
+ # @return [Boolean]
1157
+ attr_accessor :include_resource
1158
+ alias_method :include_resource?, :include_resource
1159
+
1160
+ def initialize(**args)
1161
+ update!(**args)
1162
+ end
1163
+
1164
+ # Update properties of this object
1165
+ def update!(**args)
1166
+ @field_mask = args[:field_mask] if args.key?(:field_mask)
1167
+ @include_resource = args[:include_resource] if args.key?(:include_resource)
1168
+ end
1169
+ end
1170
+
1171
+ # Configuration for setting up push notifications for task updates.
1172
+ class PushNotificationConfig
1173
+ include Google::Apis::Core::Hashable
1174
+
1175
+ # Defines authentication details, used for push notifications.
1176
+ # Corresponds to the JSON property `authentication`
1177
+ # @return [Google::Apis::WorkspaceeventsV1::AuthenticationInfo]
1178
+ attr_accessor :authentication
1179
+
1180
+ # A unique identifier (e.g. UUID) for this push notification.
1181
+ # Corresponds to the JSON property `id`
1182
+ # @return [String]
1183
+ attr_accessor :id
1184
+
1185
+ # Token unique for this task/session
1186
+ # Corresponds to the JSON property `token`
1187
+ # @return [String]
1188
+ attr_accessor :token
1189
+
1190
+ # Url to send the notification too
1191
+ # Corresponds to the JSON property `url`
1192
+ # @return [String]
1193
+ attr_accessor :url
1194
+
1195
+ def initialize(**args)
1196
+ update!(**args)
1197
+ end
34
1198
 
35
- # List of subscriptions.
36
- # Corresponds to the JSON property `subscriptions`
37
- # @return [Array<Google::Apis::WorkspaceeventsV1::Subscription>]
38
- attr_accessor :subscriptions
1199
+ # Update properties of this object
1200
+ def update!(**args)
1201
+ @authentication = args[:authentication] if args.key?(:authentication)
1202
+ @id = args[:id] if args.key?(:id)
1203
+ @token = args[:token] if args.key?(:token)
1204
+ @url = args[:url] if args.key?(:url)
1205
+ end
1206
+ end
1207
+
1208
+ # The request message for SubscriptionsService.ReactivateSubscription.
1209
+ class ReactivateSubscriptionRequest
1210
+ include Google::Apis::Core::Hashable
39
1211
 
40
1212
  def initialize(**args)
41
1213
  update!(**args)
@@ -43,29 +1215,17 @@ module Google
43
1215
 
44
1216
  # Update properties of this object
45
1217
  def update!(**args)
46
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
47
- @subscriptions = args[:subscriptions] if args.key?(:subscriptions)
48
1218
  end
49
1219
  end
50
1220
 
51
- # The endpoint where the subscription delivers events.
52
- class NotificationEndpoint
1221
+ #
1222
+ class Security
53
1223
  include Google::Apis::Core::Hashable
54
1224
 
55
- # Immutable. The Pub/Sub topic that receives events for the subscription. Format:
56
- # `projects/`project`/topics/`topic`` You must create the topic in the same
57
- # Google Cloud project where you create this subscription. Note: The Google
58
- # Workspace Events API uses [ordering keys](https://cloud.google.com/pubsub/docs/
59
- # ordering) for the benefit of sequential events. If the Cloud Pub/Sub topic has
60
- # a [message storage policy](https://cloud.google.com/pubsub/docs/resource-
61
- # location-restriction#exceptions) configured to exclude the nearest Google
62
- # Cloud region, publishing events with ordering keys will fail. When the topic
63
- # receives events, the events are encoded as Pub/Sub messages. For details, see
64
- # the [Google Cloud Pub/Sub Protocol Binding for CloudEvents](https://github.com/
65
- # googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md).
66
- # Corresponds to the JSON property `pubsubTopic`
67
- # @return [String]
68
- attr_accessor :pubsub_topic
1225
+ #
1226
+ # Corresponds to the JSON property `schemes`
1227
+ # @return [Hash<String,Google::Apis::WorkspaceeventsV1::StringList>]
1228
+ attr_accessor :schemes
69
1229
 
70
1230
  def initialize(**args)
71
1231
  update!(**args)
@@ -73,57 +1233,38 @@ module Google
73
1233
 
74
1234
  # Update properties of this object
75
1235
  def update!(**args)
76
- @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic)
1236
+ @schemes = args[:schemes] if args.key?(:schemes)
77
1237
  end
78
1238
  end
79
1239
 
80
- # This resource represents a long-running operation that is the result of a
81
- # network API call.
82
- class Operation
1240
+ #
1241
+ class SecurityScheme
83
1242
  include Google::Apis::Core::Hashable
84
1243
 
85
- # If the value is `false`, it means the operation is still in progress. If `true`
86
- # , the operation is completed, and either `error` or `response` is available.
87
- # Corresponds to the JSON property `done`
88
- # @return [Boolean]
89
- attr_accessor :done
90
- alias_method :done?, :done
1244
+ #
1245
+ # Corresponds to the JSON property `apiKeySecurityScheme`
1246
+ # @return [Google::Apis::WorkspaceeventsV1::ApiKeySecurityScheme]
1247
+ attr_accessor :api_key_security_scheme
91
1248
 
92
- # The `Status` type defines a logical error model that is suitable for different
93
- # programming environments, including REST APIs and RPC APIs. It is used by [
94
- # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
95
- # data: error code, error message, and error details. You can find out more
96
- # about this error model and how to work with it in the [API Design Guide](https:
97
- # //cloud.google.com/apis/design/errors).
98
- # Corresponds to the JSON property `error`
99
- # @return [Google::Apis::WorkspaceeventsV1::Status]
100
- attr_accessor :error
1249
+ #
1250
+ # Corresponds to the JSON property `httpAuthSecurityScheme`
1251
+ # @return [Google::Apis::WorkspaceeventsV1::HttpAuthSecurityScheme]
1252
+ attr_accessor :http_auth_security_scheme
101
1253
 
102
- # Service-specific metadata associated with the operation. It typically contains
103
- # progress information and common metadata such as create time. Some services
104
- # might not provide such metadata. Any method that returns a long-running
105
- # operation should document the metadata type, if any.
106
- # Corresponds to the JSON property `metadata`
107
- # @return [Hash<String,Object>]
108
- attr_accessor :metadata
1254
+ #
1255
+ # Corresponds to the JSON property `mtlsSecurityScheme`
1256
+ # @return [Google::Apis::WorkspaceeventsV1::MutualTlsSecurityScheme]
1257
+ attr_accessor :mtls_security_scheme
109
1258
 
110
- # The server-assigned name, which is only unique within the same service that
111
- # originally returns it. If you use the default HTTP mapping, the `name` should
112
- # be a resource name ending with `operations/`unique_id``.
113
- # Corresponds to the JSON property `name`
114
- # @return [String]
115
- attr_accessor :name
1259
+ #
1260
+ # Corresponds to the JSON property `oauth2SecurityScheme`
1261
+ # @return [Google::Apis::WorkspaceeventsV1::OAuth2SecurityScheme]
1262
+ attr_accessor :oauth2_security_scheme
116
1263
 
117
- # The normal, successful response of the operation. If the original method
118
- # returns no data on success, such as `Delete`, the response is `google.protobuf.
119
- # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
120
- # response should be the resource. For other methods, the response should have
121
- # the type `XxxResponse`, where `Xxx` is the original method name. For example,
122
- # if the original method name is `TakeSnapshot()`, the inferred response type is
123
- # `TakeSnapshotResponse`.
124
- # Corresponds to the JSON property `response`
125
- # @return [Hash<String,Object>]
126
- attr_accessor :response
1264
+ #
1265
+ # Corresponds to the JSON property `openIdConnectSecurityScheme`
1266
+ # @return [Google::Apis::WorkspaceeventsV1::OpenIdConnectSecurityScheme]
1267
+ attr_accessor :open_id_connect_security_scheme
127
1268
 
128
1269
  def initialize(**args)
129
1270
  update!(**args)
@@ -131,38 +1272,41 @@ module Google
131
1272
 
132
1273
  # Update properties of this object
133
1274
  def update!(**args)
134
- @done = args[:done] if args.key?(:done)
135
- @error = args[:error] if args.key?(:error)
136
- @metadata = args[:metadata] if args.key?(:metadata)
137
- @name = args[:name] if args.key?(:name)
138
- @response = args[:response] if args.key?(:response)
1275
+ @api_key_security_scheme = args[:api_key_security_scheme] if args.key?(:api_key_security_scheme)
1276
+ @http_auth_security_scheme = args[:http_auth_security_scheme] if args.key?(:http_auth_security_scheme)
1277
+ @mtls_security_scheme = args[:mtls_security_scheme] if args.key?(:mtls_security_scheme)
1278
+ @oauth2_security_scheme = args[:oauth2_security_scheme] if args.key?(:oauth2_security_scheme)
1279
+ @open_id_connect_security_scheme = args[:open_id_connect_security_scheme] if args.key?(:open_id_connect_security_scheme)
139
1280
  end
140
1281
  end
141
1282
 
142
- # Options about what data to include in the event payload. Only supported for
143
- # Google Chat and Google Drive events.
144
- class PayloadOptions
1283
+ # Configuration of a send message request.
1284
+ class SendMessageConfiguration
145
1285
  include Google::Apis::Core::Hashable
146
1286
 
147
- # Optional. If `include_resource` is set to `true`, the list of fields to
148
- # include in the event payload. Separate fields with a comma. For example, to
149
- # include a Google Chat message's sender and create time, enter `message.sender,
150
- # message.createTime`. If omitted, the payload includes all fields for the
151
- # resource. If you specify a field that doesn't exist for the resource, the
152
- # system ignores the field.
153
- # Corresponds to the JSON property `fieldMask`
154
- # @return [String]
155
- attr_accessor :field_mask
1287
+ # The output modes that the agent is expected to respond with.
1288
+ # Corresponds to the JSON property `acceptedOutputModes`
1289
+ # @return [Array<String>]
1290
+ attr_accessor :accepted_output_modes
156
1291
 
157
- # Optional. Whether the event payload includes data about the resource that
158
- # changed. For example, for an event where a Google Chat message was created,
159
- # whether the payload contains data about the [`Message`](https://developers.
160
- # google.com/chat/api/reference/rest/v1/spaces.messages) resource. If false, the
161
- # event payload only includes the name of the changed resource.
162
- # Corresponds to the JSON property `includeResource`
1292
+ # If true, the message will be blocking until the task is completed. If false,
1293
+ # the message will be non-blocking and the task will be returned immediately. It
1294
+ # is the caller's responsibility to check for any task updates.
1295
+ # Corresponds to the JSON property `blocking`
163
1296
  # @return [Boolean]
164
- attr_accessor :include_resource
165
- alias_method :include_resource?, :include_resource
1297
+ attr_accessor :blocking
1298
+ alias_method :blocking?, :blocking
1299
+
1300
+ # The maximum number of messages to include in the history. if 0, the history
1301
+ # will be unlimited.
1302
+ # Corresponds to the JSON property `historyLength`
1303
+ # @return [Fixnum]
1304
+ attr_accessor :history_length
1305
+
1306
+ # Configuration for setting up push notifications for task updates.
1307
+ # Corresponds to the JSON property `pushNotification`
1308
+ # @return [Google::Apis::WorkspaceeventsV1::PushNotificationConfig]
1309
+ attr_accessor :push_notification
166
1310
 
167
1311
  def initialize(**args)
168
1312
  update!(**args)
@@ -170,21 +1314,46 @@ module Google
170
1314
 
171
1315
  # Update properties of this object
172
1316
  def update!(**args)
173
- @field_mask = args[:field_mask] if args.key?(:field_mask)
174
- @include_resource = args[:include_resource] if args.key?(:include_resource)
1317
+ @accepted_output_modes = args[:accepted_output_modes] if args.key?(:accepted_output_modes)
1318
+ @blocking = args[:blocking] if args.key?(:blocking)
1319
+ @history_length = args[:history_length] if args.key?(:history_length)
1320
+ @push_notification = args[:push_notification] if args.key?(:push_notification)
175
1321
  end
176
1322
  end
177
1323
 
178
- # The request message for SubscriptionsService.ReactivateSubscription.
179
- class ReactivateSubscriptionRequest
1324
+ # /////////// Request Messages ///////////
1325
+ class SendMessageRequest
180
1326
  include Google::Apis::Core::Hashable
181
1327
 
1328
+ # Configuration of a send message request.
1329
+ # Corresponds to the JSON property `configuration`
1330
+ # @return [Google::Apis::WorkspaceeventsV1::SendMessageConfiguration]
1331
+ attr_accessor :configuration
1332
+
1333
+ # Message is one unit of communication between client and server. It is
1334
+ # associated with a context and optionally a task. Since the server is
1335
+ # responsible for the context definition, it must always provide a context_id in
1336
+ # its messages. The client can optionally provide the context_id if it knows the
1337
+ # context to associate the message to. Similarly for task_id, except the server
1338
+ # decides if a task is created and whether to include the task_id.
1339
+ # Corresponds to the JSON property `message`
1340
+ # @return [Google::Apis::WorkspaceeventsV1::Message]
1341
+ attr_accessor :message
1342
+
1343
+ # Optional metadata for the request.
1344
+ # Corresponds to the JSON property `metadata`
1345
+ # @return [Hash<String,Object>]
1346
+ attr_accessor :metadata
1347
+
182
1348
  def initialize(**args)
183
1349
  update!(**args)
184
1350
  end
185
1351
 
186
1352
  # Update properties of this object
187
1353
  def update!(**args)
1354
+ @configuration = args[:configuration] if args.key?(:configuration)
1355
+ @message = args[:message] if args.key?(:message)
1356
+ @metadata = args[:metadata] if args.key?(:metadata)
188
1357
  end
189
1358
  end
190
1359
 
@@ -227,6 +1396,77 @@ module Google
227
1396
  end
228
1397
  end
229
1398
 
1399
+ # The stream response for a message. The stream should be one of the following
1400
+ # sequences: If the response is a message, the stream should contain one, and
1401
+ # only one, message and then close If the response is a task lifecycle, the
1402
+ # first response should be a Task object followed by zero or more
1403
+ # TaskStatusUpdateEvents and TaskArtifactUpdateEvents. The stream should
1404
+ # complete when the Task if in an interrupted or terminal state. A stream that
1405
+ # ends before these conditions are met are
1406
+ class StreamResponse
1407
+ include Google::Apis::Core::Hashable
1408
+
1409
+ # TaskArtifactUpdateEvent represents a task delta where an artifact has been
1410
+ # generated.
1411
+ # Corresponds to the JSON property `artifactUpdate`
1412
+ # @return [Google::Apis::WorkspaceeventsV1::TaskArtifactUpdateEvent]
1413
+ attr_accessor :artifact_update
1414
+
1415
+ # Message is one unit of communication between client and server. It is
1416
+ # associated with a context and optionally a task. Since the server is
1417
+ # responsible for the context definition, it must always provide a context_id in
1418
+ # its messages. The client can optionally provide the context_id if it knows the
1419
+ # context to associate the message to. Similarly for task_id, except the server
1420
+ # decides if a task is created and whether to include the task_id.
1421
+ # Corresponds to the JSON property `message`
1422
+ # @return [Google::Apis::WorkspaceeventsV1::Message]
1423
+ attr_accessor :message
1424
+
1425
+ # TaskStatusUpdateEvent is a delta even on a task indicating that a task has
1426
+ # changed.
1427
+ # Corresponds to the JSON property `statusUpdate`
1428
+ # @return [Google::Apis::WorkspaceeventsV1::TaskStatusUpdateEvent]
1429
+ attr_accessor :status_update
1430
+
1431
+ # Task is the core unit of action for A2A. It has a current status and when
1432
+ # results are created for the task they are stored in the artifact. If there are
1433
+ # multiple turns for a task, these are stored in history.
1434
+ # Corresponds to the JSON property `task`
1435
+ # @return [Google::Apis::WorkspaceeventsV1::Task]
1436
+ attr_accessor :task
1437
+
1438
+ def initialize(**args)
1439
+ update!(**args)
1440
+ end
1441
+
1442
+ # Update properties of this object
1443
+ def update!(**args)
1444
+ @artifact_update = args[:artifact_update] if args.key?(:artifact_update)
1445
+ @message = args[:message] if args.key?(:message)
1446
+ @status_update = args[:status_update] if args.key?(:status_update)
1447
+ @task = args[:task] if args.key?(:task)
1448
+ end
1449
+ end
1450
+
1451
+ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
1452
+ class StringList
1453
+ include Google::Apis::Core::Hashable
1454
+
1455
+ #
1456
+ # Corresponds to the JSON property `list`
1457
+ # @return [Array<String>]
1458
+ attr_accessor :list
1459
+
1460
+ def initialize(**args)
1461
+ update!(**args)
1462
+ end
1463
+
1464
+ # Update properties of this object
1465
+ def update!(**args)
1466
+ @list = args[:list] if args.key?(:list)
1467
+ end
1468
+ end
1469
+
230
1470
  # A subscription to receive events about a Google Workspace resource. To learn
231
1471
  # more about subscriptions, see the [Google Workspace Events API overview](https:
232
1472
  # //developers.google.com/workspace/events).
@@ -362,6 +1602,222 @@ module Google
362
1602
  @update_time = args[:update_time] if args.key?(:update_time)
363
1603
  end
364
1604
  end
1605
+
1606
+ # Task is the core unit of action for A2A. It has a current status and when
1607
+ # results are created for the task they are stored in the artifact. If there are
1608
+ # multiple turns for a task, these are stored in history.
1609
+ class Task
1610
+ include Google::Apis::Core::Hashable
1611
+
1612
+ # A set of output artifacts for a Task.
1613
+ # Corresponds to the JSON property `artifacts`
1614
+ # @return [Array<Google::Apis::WorkspaceeventsV1::Artifact>]
1615
+ attr_accessor :artifacts
1616
+
1617
+ # Unique identifier (e.g. UUID) for the contextual collection of interactions (
1618
+ # tasks and messages). Created by the A2A server.
1619
+ # Corresponds to the JSON property `contextId`
1620
+ # @return [String]
1621
+ attr_accessor :context_id
1622
+
1623
+ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions
1624
+ # from a task.
1625
+ # Corresponds to the JSON property `history`
1626
+ # @return [Array<Google::Apis::WorkspaceeventsV1::Message>]
1627
+ attr_accessor :history
1628
+
1629
+ # Unique identifier (e.g. UUID) for the task, generated by the server for a new
1630
+ # task.
1631
+ # Corresponds to the JSON property `id`
1632
+ # @return [String]
1633
+ attr_accessor :id
1634
+
1635
+ # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store
1636
+ # custom metadata about a task.
1637
+ # Corresponds to the JSON property `metadata`
1638
+ # @return [Hash<String,Object>]
1639
+ attr_accessor :metadata
1640
+
1641
+ # A container for the status of a task
1642
+ # Corresponds to the JSON property `status`
1643
+ # @return [Google::Apis::WorkspaceeventsV1::TaskStatus]
1644
+ attr_accessor :status
1645
+
1646
+ def initialize(**args)
1647
+ update!(**args)
1648
+ end
1649
+
1650
+ # Update properties of this object
1651
+ def update!(**args)
1652
+ @artifacts = args[:artifacts] if args.key?(:artifacts)
1653
+ @context_id = args[:context_id] if args.key?(:context_id)
1654
+ @history = args[:history] if args.key?(:history)
1655
+ @id = args[:id] if args.key?(:id)
1656
+ @metadata = args[:metadata] if args.key?(:metadata)
1657
+ @status = args[:status] if args.key?(:status)
1658
+ end
1659
+ end
1660
+
1661
+ # TaskArtifactUpdateEvent represents a task delta where an artifact has been
1662
+ # generated.
1663
+ class TaskArtifactUpdateEvent
1664
+ include Google::Apis::Core::Hashable
1665
+
1666
+ # Whether this should be appended to a prior one produced
1667
+ # Corresponds to the JSON property `append`
1668
+ # @return [Boolean]
1669
+ attr_accessor :append
1670
+ alias_method :append?, :append
1671
+
1672
+ # Artifacts are the container for task completed results. These are similar to
1673
+ # Messages but are intended to be the product of a task, as opposed to point-to-
1674
+ # point communication.
1675
+ # Corresponds to the JSON property `artifact`
1676
+ # @return [Google::Apis::WorkspaceeventsV1::Artifact]
1677
+ attr_accessor :artifact
1678
+
1679
+ # The id of the context that this task belongs too
1680
+ # Corresponds to the JSON property `contextId`
1681
+ # @return [String]
1682
+ attr_accessor :context_id
1683
+
1684
+ # Whether this represents the last part of an artifact
1685
+ # Corresponds to the JSON property `lastChunk`
1686
+ # @return [Boolean]
1687
+ attr_accessor :last_chunk
1688
+ alias_method :last_chunk?, :last_chunk
1689
+
1690
+ # Optional metadata associated with the artifact update.
1691
+ # Corresponds to the JSON property `metadata`
1692
+ # @return [Hash<String,Object>]
1693
+ attr_accessor :metadata
1694
+
1695
+ # The id of the task for this artifact
1696
+ # Corresponds to the JSON property `taskId`
1697
+ # @return [String]
1698
+ attr_accessor :task_id
1699
+
1700
+ def initialize(**args)
1701
+ update!(**args)
1702
+ end
1703
+
1704
+ # Update properties of this object
1705
+ def update!(**args)
1706
+ @append = args[:append] if args.key?(:append)
1707
+ @artifact = args[:artifact] if args.key?(:artifact)
1708
+ @context_id = args[:context_id] if args.key?(:context_id)
1709
+ @last_chunk = args[:last_chunk] if args.key?(:last_chunk)
1710
+ @metadata = args[:metadata] if args.key?(:metadata)
1711
+ @task_id = args[:task_id] if args.key?(:task_id)
1712
+ end
1713
+ end
1714
+
1715
+ #
1716
+ class TaskPushNotificationConfig
1717
+ include Google::Apis::Core::Hashable
1718
+
1719
+ # The resource name of the config. Format: tasks/`task_id`/
1720
+ # pushNotificationConfigs/`config_id`
1721
+ # Corresponds to the JSON property `name`
1722
+ # @return [String]
1723
+ attr_accessor :name
1724
+
1725
+ # Configuration for setting up push notifications for task updates.
1726
+ # Corresponds to the JSON property `pushNotificationConfig`
1727
+ # @return [Google::Apis::WorkspaceeventsV1::PushNotificationConfig]
1728
+ attr_accessor :push_notification_config
1729
+
1730
+ def initialize(**args)
1731
+ update!(**args)
1732
+ end
1733
+
1734
+ # Update properties of this object
1735
+ def update!(**args)
1736
+ @name = args[:name] if args.key?(:name)
1737
+ @push_notification_config = args[:push_notification_config] if args.key?(:push_notification_config)
1738
+ end
1739
+ end
1740
+
1741
+ # A container for the status of a task
1742
+ class TaskStatus
1743
+ include Google::Apis::Core::Hashable
1744
+
1745
+ # Message is one unit of communication between client and server. It is
1746
+ # associated with a context and optionally a task. Since the server is
1747
+ # responsible for the context definition, it must always provide a context_id in
1748
+ # its messages. The client can optionally provide the context_id if it knows the
1749
+ # context to associate the message to. Similarly for task_id, except the server
1750
+ # decides if a task is created and whether to include the task_id.
1751
+ # Corresponds to the JSON property `message`
1752
+ # @return [Google::Apis::WorkspaceeventsV1::Message]
1753
+ attr_accessor :message
1754
+
1755
+ # The current state of this task
1756
+ # Corresponds to the JSON property `state`
1757
+ # @return [String]
1758
+ attr_accessor :state
1759
+
1760
+ # Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z"
1761
+ # Corresponds to the JSON property `timestamp`
1762
+ # @return [String]
1763
+ attr_accessor :timestamp
1764
+
1765
+ def initialize(**args)
1766
+ update!(**args)
1767
+ end
1768
+
1769
+ # Update properties of this object
1770
+ def update!(**args)
1771
+ @message = args[:message] if args.key?(:message)
1772
+ @state = args[:state] if args.key?(:state)
1773
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
1774
+ end
1775
+ end
1776
+
1777
+ # TaskStatusUpdateEvent is a delta even on a task indicating that a task has
1778
+ # changed.
1779
+ class TaskStatusUpdateEvent
1780
+ include Google::Apis::Core::Hashable
1781
+
1782
+ # The id of the context that the task belongs to
1783
+ # Corresponds to the JSON property `contextId`
1784
+ # @return [String]
1785
+ attr_accessor :context_id
1786
+
1787
+ # Whether this is the last status update expected for this task.
1788
+ # Corresponds to the JSON property `final`
1789
+ # @return [Boolean]
1790
+ attr_accessor :final
1791
+ alias_method :final?, :final
1792
+
1793
+ # Optional metadata to associate with the task update.
1794
+ # Corresponds to the JSON property `metadata`
1795
+ # @return [Hash<String,Object>]
1796
+ attr_accessor :metadata
1797
+
1798
+ # A container for the status of a task
1799
+ # Corresponds to the JSON property `status`
1800
+ # @return [Google::Apis::WorkspaceeventsV1::TaskStatus]
1801
+ attr_accessor :status
1802
+
1803
+ # The id of the task that is changed
1804
+ # Corresponds to the JSON property `taskId`
1805
+ # @return [String]
1806
+ attr_accessor :task_id
1807
+
1808
+ def initialize(**args)
1809
+ update!(**args)
1810
+ end
1811
+
1812
+ # Update properties of this object
1813
+ def update!(**args)
1814
+ @context_id = args[:context_id] if args.key?(:context_id)
1815
+ @final = args[:final] if args.key?(:final)
1816
+ @metadata = args[:metadata] if args.key?(:metadata)
1817
+ @status = args[:status] if args.key?(:status)
1818
+ @task_id = args[:task_id] if args.key?(:task_id)
1819
+ end
1820
+ end
365
1821
  end
366
1822
  end
367
1823
  end