diff --git a/AppsMeet/.OwlBot.yaml b/AppsMeet/.OwlBot.yaml
new file mode 100644
index 000000000000..54e9c81e5035
--- /dev/null
+++ b/AppsMeet/.OwlBot.yaml
@@ -0,0 +1,4 @@
+deep-copy-regex:
+ - source: /google/apps/meet/(v2beta)/.*-php/(.*)
+ dest: /owl-bot-staging/AppsMeet/$1/$2
+api-name: AppsMeet
diff --git a/AppsMeet/.gitattributes b/AppsMeet/.gitattributes
new file mode 100644
index 000000000000..8119e7fcc1b2
--- /dev/null
+++ b/AppsMeet/.gitattributes
@@ -0,0 +1,8 @@
+/*.xml.dist export-ignore
+/.OwlBot.yaml export-ignore
+/.github export-ignore
+/.repo-metadata.json export-ignore
+/owlbot.py export-ignore
+/src/**/gapic_metadata.json export-ignore
+/samples export-ignore
+/tests export-ignore
diff --git a/AppsMeet/.github/pull_request_template.md b/AppsMeet/.github/pull_request_template.md
new file mode 100644
index 000000000000..08f3dbaf5538
--- /dev/null
+++ b/AppsMeet/.github/pull_request_template.md
@@ -0,0 +1,24 @@
+**PLEASE READ THIS ENTIRE MESSAGE**
+
+Hello, and thank you for your contribution! Please note that this repository is
+a read-only split of `googleapis/google-cloud-php`. As such, we are
+unable to accept pull requests to this repository.
+
+We welcome your pull request and would be happy to consider it for inclusion in
+our library if you follow these steps:
+
+* Clone the parent client library repository:
+
+```sh
+$ git clone git@github.com:googleapis/google-cloud-php.git
+```
+
+* Move your changes into the correct location in that library. Library code
+belongs in `AppsMeet/src`, and tests in `AppsMeet/tests`.
+
+* Push the changes in a new branch to a fork, and open a new pull request
+[here](https://github.com/googleapis/google-cloud-php).
+
+Thanks again, and we look forward to seeing your proposed change!
+
+The Google Cloud PHP team
diff --git a/AppsMeet/.repo-metadata.json b/AppsMeet/.repo-metadata.json
new file mode 100644
index 000000000000..0666ab0d28e5
--- /dev/null
+++ b/AppsMeet/.repo-metadata.json
@@ -0,0 +1,8 @@
+{
+ "language": "php",
+ "distribution_name": "google/apps-meet",
+ "release_level": "preview",
+ "client_documentation": "https://cloud.google.com/php/docs/reference/apps-meet/latest",
+ "library_type": "GAPIC_AUTO",
+ "api_shortname": "meet"
+}
diff --git a/AppsMeet/CONTRIBUTING.md b/AppsMeet/CONTRIBUTING.md
new file mode 100644
index 000000000000..76ea811cacdb
--- /dev/null
+++ b/AppsMeet/CONTRIBUTING.md
@@ -0,0 +1,10 @@
+# How to Contribute
+
+We'd love to accept your patches and contributions to this project. We accept
+and review pull requests against the main
+[Google Cloud PHP](https://github.com/googleapis/google-cloud-php)
+repository, which contains all of our client libraries. You will also need to
+sign a Contributor License Agreement. For more details about how to contribute,
+see the
+[CONTRIBUTING.md](https://github.com/googleapis/google-cloud-php/blob/main/CONTRIBUTING.md)
+file in the main Google Cloud PHP repository.
diff --git a/AppsMeet/LICENSE b/AppsMeet/LICENSE
new file mode 100644
index 000000000000..8f71f43fee3f
--- /dev/null
+++ b/AppsMeet/LICENSE
@@ -0,0 +1,202 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
diff --git a/AppsMeet/README.md b/AppsMeet/README.md
new file mode 100644
index 000000000000..bd80c0d0a28a
--- /dev/null
+++ b/AppsMeet/README.md
@@ -0,0 +1,45 @@
+# Google Apps Meet for PHP
+
+> Idiomatic PHP client for [Google Apps Meet](https://developers.google.com/meet/api/guides/overview).
+
+[![Latest Stable Version](https://poser.pugx.org/google/apps-meet/v/stable)](https://packagist.org/packages/google/apps-meet) [![Packagist](https://img.shields.io/packagist/dm/google/apps-meet.svg)](https://packagist.org/packages/google/apps-meet)
+
+* [API documentation](https://cloud.google.com/php/docs/reference/apps-meet/latest)
+
+**NOTE:** This repository is part of [Google Cloud PHP](https://github.com/googleapis/google-cloud-php). Any
+support requests, bug reports, or development contributions should be directed to
+that project.
+
+### Installation
+
+To begin, install the preferred dependency manager for PHP, [Composer](https://getcomposer.org/).
+
+Now, install this component:
+
+```sh
+$ composer require google/apps-meet
+```
+
+> Browse the complete list of [Google Cloud APIs](https://cloud.google.com/php/docs/reference)
+> for PHP
+
+This component supports both REST over HTTP/1.1 and gRPC. In order to take advantage of the benefits
+offered by gRPC (such as streaming methods) please see our
+[gRPC installation guide](https://cloud.google.com/php/grpc).
+
+### Authentication
+
+Please see our [Authentication guide](https://github.com/googleapis/google-cloud-php/blob/main/AUTHENTICATION.md) for more information
+on authenticating your client. Once authenticated, you'll be ready to start making requests.
+
+### Sample
+
+See the [samples directory](https://github.com/googleapis/php-apps-meet/tree/main/samples) for a canonical list of samples.
+
+### Version
+
+This component is considered alpha. As such, it is still a work-in-progress and is more likely to get backwards-incompatible updates.
+
+### Next Steps
+
+1. Understand the [official documentation](https://developers.google.com/meet/api/guides/overview).
diff --git a/AppsMeet/VERSION b/AppsMeet/VERSION
new file mode 100644
index 000000000000..77d6f4ca2371
--- /dev/null
+++ b/AppsMeet/VERSION
@@ -0,0 +1 @@
+0.0.0
diff --git a/AppsMeet/composer.json b/AppsMeet/composer.json
new file mode 100644
index 000000000000..5f31e1d46725
--- /dev/null
+++ b/AppsMeet/composer.json
@@ -0,0 +1,30 @@
+{
+ "name": "google/apps-meet",
+ "description": "Google Apps Meet Client for PHP",
+ "license": "Apache-2.0",
+ "minimum-stability": "stable",
+ "autoload": {
+ "psr-4": {
+ "Google\\Apps\\Meet\\": "src",
+ "GPBMetadata\\Google\\Apps\\Meet\\": "metadata"
+ }
+ },
+ "extra": {
+ "component": {
+ "id": "apps-meet",
+ "path": "AppsMeet",
+ "target": "googleapis/php-apps-meet"
+ }
+ },
+ "require": {
+ "php": ">=7.4",
+ "google/gax": "^1.25.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
+ },
+ "suggest": {
+ "ext-grpc": "Enables use of gRPC, a universal high-performance RPC framework created by Google.",
+ "ext-protobuf": "Provides a significant increase in throughput over the pure PHP protobuf implementation. See https://cloud.google.com/php/grpc for installation instructions."
+ }
+}
diff --git a/AppsMeet/metadata/V2Beta/Resource.php b/AppsMeet/metadata/V2Beta/Resource.php
new file mode 100644
index 000000000000..ba7692b2461d
Binary files /dev/null and b/AppsMeet/metadata/V2Beta/Resource.php differ
diff --git a/AppsMeet/metadata/V2Beta/Service.php b/AppsMeet/metadata/V2Beta/Service.php
new file mode 100644
index 000000000000..16d364f908ee
--- /dev/null
+++ b/AppsMeet/metadata/V2Beta/Service.php
@@ -0,0 +1,134 @@
+internalAddGeneratedFile(
+ '
+þ,
+%google/apps/meet/v2beta/service.protogoogle.apps.meet.v2betagoogle/api/client.protogoogle/api/field_behavior.protogoogle/api/resource.proto&google/apps/meet/v2beta/resource.protogoogle/protobuf/empty.proto google/protobuf/field_mask.proto"C
+CreateSpaceRequest-
+space (2.google.apps.meet.v2beta.Space"B
+GetSpaceRequest/
+name ( B!àAúA
+meet.googleapis.com/Space"~
+UpdateSpaceRequest2
+space (2.google.apps.meet.v2beta.SpaceBàA4
+update_mask (2.google.protobuf.FieldMaskBàA"M
+EndActiveConferenceRequest/
+name ( B!àAúA
+meet.googleapis.com/Space"X
+GetConferenceRecordRequest:
+name ( B,àAúA&
+$meet.googleapis.com/ConferenceRecord"d
+ListConferenceRecordsRequest
+ page_size (BàA
+
+page_token ( BàA
+filter ( BàA"
+ListConferenceRecordsResponseE
+conference_records (2).google.apps.meet.v2beta.ConferenceRecord
+next_page_token ( "N
+GetParticipantRequest5
+name ( B\'àAúA!
+meet.googleapis.com/Participant"Ž
+ListParticipantsRequest7
+parent ( B\'àAúA!meet.googleapis.com/Participant
+ page_size (
+
+page_token (
+filter ( BàA"ƒ
+ListParticipantsResponse:
+participants (2$.google.apps.meet.v2beta.Participant
+next_page_token (
+
+total_size ("\\
+GetParticipantSessionRequest<
+name ( B.àAúA(
+&meet.googleapis.com/ParticipantSession"¦
+ListParticipantSessionsRequest>
+parent ( B.àAúA(&meet.googleapis.com/ParticipantSession
+ page_size (BàA
+
+page_token ( BàA
+filter ( BàA"…
+ListParticipantSessionsResponseI
+participant_sessions (2+.google.apps.meet.v2beta.ParticipantSession
+next_page_token ( "J
+GetRecordingRequest3
+name ( B%àAúA
+meet.googleapis.com/Recording"u
+ListRecordingsRequest5
+parent ( B%àAúAmeet.googleapis.com/Recording
+ page_size (
+
+page_token ( "i
+ListRecordingsResponse6
+
+recordings (2".google.apps.meet.v2beta.Recording
+next_page_token ( "L
+GetTranscriptRequest4
+name ( B&àAúA
+meet.googleapis.com/Transcript"w
+ListTranscriptsRequest6
+parent ( B&àAúA meet.googleapis.com/Transcript
+ page_size (
+
+page_token ( "l
+ListTranscriptsResponse8
+transcripts (2#.google.apps.meet.v2beta.Transcript
+next_page_token ( "V
+GetTranscriptEntryRequest9
+name ( B+àAúA%
+#meet.googleapis.com/TranscriptEntry"‚
+ListTranscriptEntriesRequest;
+parent ( B+àAúA%#meet.googleapis.com/TranscriptEntry
+ page_size (
+
+page_token ( "~
+ListTranscriptEntriesResponseD
+transcript_entries (2(.google.apps.meet.v2beta.TranscriptEntry
+next_page_token ( 2ì
+
SpacesService
+CreateSpace+.google.apps.meet.v2beta.CreateSpaceRequest.google.apps.meet.v2beta.Space"%‚Óä“"/v2beta/spaces:spaceÚAspace|
+GetSpace(.google.apps.meet.v2beta.GetSpaceRequest.google.apps.meet.v2beta.Space"&‚Óä“/v2beta/{name=spaces/*}ÚAnameœ
+UpdateSpace+.google.apps.meet.v2beta.UpdateSpaceRequest.google.apps.meet.v2beta.Space"@‚Óä“&2/v2beta/{space.name=spaces/*}:spaceÚAspace,update_mask¡
+EndActiveConference3.google.apps.meet.v2beta.EndActiveConferenceRequest.google.protobuf.Empty"=‚Óä“0"+/v2beta/{name=spaces/*}:endActiveConference:*ÚAnameÊAmeet.googleapis.com2
+ConferenceRecordsService¨
+GetConferenceRecord3.google.apps.meet.v2beta.GetConferenceRecordRequest).google.apps.meet.v2beta.ConferenceRecord"1‚Óä“$"/v2beta/{name=conferenceRecords/*}ÚAname©
+ListConferenceRecords5.google.apps.meet.v2beta.ListConferenceRecordsRequest6.google.apps.meet.v2beta.ListConferenceRecordsResponse"!‚Óä“/v2beta/conferenceRecords¨
+GetParticipant..google.apps.meet.v2beta.GetParticipantRequest$.google.apps.meet.v2beta.Participant"@‚Óä“31/v2beta/{name=conferenceRecords/*/participants/*}ÚAname»
+ListParticipants0.google.apps.meet.v2beta.ListParticipantsRequest1.google.apps.meet.v2beta.ListParticipantsResponse"B‚Óä“31/v2beta/{parent=conferenceRecords/*}/participantsÚAparentÓ
+GetParticipantSession5.google.apps.meet.v2beta.GetParticipantSessionRequest+.google.apps.meet.v2beta.ParticipantSession"V‚Óä“IG/v2beta/{name=conferenceRecords/*/participants/*/participantSessions/*}ÚAnameæ
+ListParticipantSessions7.google.apps.meet.v2beta.ListParticipantSessionsRequest8.google.apps.meet.v2beta.ListParticipantSessionsResponse"X‚Óä“IG/v2beta/{parent=conferenceRecords/*/participants/*}/participantSessionsÚAparent
+GetRecording,.google.apps.meet.v2beta.GetRecordingRequest".google.apps.meet.v2beta.Recording">‚Óä“1//v2beta/{name=conferenceRecords/*/recordings/*}ÚAname³
+ListRecordings..google.apps.meet.v2beta.ListRecordingsRequest/.google.apps.meet.v2beta.ListRecordingsResponse"@‚Óä“1//v2beta/{parent=conferenceRecords/*}/recordingsÚAparent¤
+
GetTranscript-.google.apps.meet.v2beta.GetTranscriptRequest#.google.apps.meet.v2beta.Transcript"?‚Óä“20/v2beta/{name=conferenceRecords/*/transcripts/*}ÚAname·
+ListTranscripts/.google.apps.meet.v2beta.ListTranscriptsRequest0.google.apps.meet.v2beta.ListTranscriptsResponse"A‚Óä“20/v2beta/{parent=conferenceRecords/*}/transcriptsÚAparent½
+GetTranscriptEntry2.google.apps.meet.v2beta.GetTranscriptEntryRequest(.google.apps.meet.v2beta.TranscriptEntry"I‚Óä“<:/v2beta/{name=conferenceRecords/*/transcripts/*/entries/*}ÚAnameÓ
+ListTranscriptEntries5.google.apps.meet.v2beta.ListTranscriptEntriesRequest6.google.apps.meet.v2beta.ListTranscriptEntriesResponse"K‚Óä“<:/v2beta/{parent=conferenceRecords/*/transcripts/*}/entriesÚAparentÊAmeet.googleapis.comBµ
+com.google.apps.meet.v2betaBServiceProtoPZ5cloud.google.com/go/apps/meet/apiv2beta/meetpb;meetpbªGoogle.Apps.Meet.V2BetaÊGoogle\\Apps\\Meet\\V2betaêGoogle::Apps::Meet::V2betabproto3'
+ , true);
+
+ static::$is_initialized = true;
+ }
+}
+
diff --git a/AppsMeet/owlbot.py b/AppsMeet/owlbot.py
new file mode 100644
index 000000000000..5fbb514087a6
--- /dev/null
+++ b/AppsMeet/owlbot.py
@@ -0,0 +1,62 @@
+# Copyright 2023 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""This script is used to synthesize generated parts of this library."""
+
+import logging
+from pathlib import Path
+import subprocess
+
+import synthtool as s
+from synthtool.languages import php
+from synthtool import _tracked_paths
+
+logging.basicConfig(level=logging.DEBUG)
+
+src = Path(f"../{php.STAGING_DIR}/AppsMeet").resolve()
+dest = Path().resolve()
+
+# Added so that we can pass copy_excludes in the owlbot_main() call
+_tracked_paths.add(src)
+
+php.owlbot_main(
+ src=src,
+ dest=dest,
+ copy_excludes=[
+ src / "**/[A-Z]*_*.php",
+ ]
+)
+
+# remove class_alias code
+s.replace(
+ "src/V*/**/*.php",
+ r"^// Adding a class alias for backwards compatibility with the previous class name.$"
+ + "\n"
+ + r"^class_alias\(.*\);$"
+ + "\n",
+ '')
+
+# format generated clients
+subprocess.run([
+ 'npm',
+ 'exec',
+ '--yes',
+ '--package=@prettier/plugin-php@^0.16',
+ '--',
+ 'prettier',
+ '**/Client/*',
+ '--write',
+ '--parser=php',
+ '--single-quote',
+ '--print-width=120'])
diff --git a/AppsMeet/phpunit.xml.dist b/AppsMeet/phpunit.xml.dist
new file mode 100644
index 000000000000..62f1db8effe8
--- /dev/null
+++ b/AppsMeet/phpunit.xml.dist
@@ -0,0 +1,16 @@
+
+
+
+
+ src
+
+
+ src/V[!a-zA-Z]*
+
+
+
+
+ tests/Unit
+
+
+
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_conference_record.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_conference_record.php
new file mode 100644
index 000000000000..415fbc503b1f
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_conference_record.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var ConferenceRecord $response */
+ $response = $conferenceRecordsServiceClient->getConferenceRecord($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = ConferenceRecordsServiceClient::conferenceRecordName('[CONFERENCE_RECORD]');
+
+ get_conference_record_sample($formattedName);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_GetConferenceRecord_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_participant.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_participant.php
new file mode 100644
index 000000000000..eebaf2486dc3
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_participant.php
@@ -0,0 +1,75 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Participant $response */
+ $response = $conferenceRecordsServiceClient->getParticipant($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = ConferenceRecordsServiceClient::participantName(
+ '[CONFERENCE_RECORD]',
+ '[PARTICIPANT]'
+ );
+
+ get_participant_sample($formattedName);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_GetParticipant_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_participant_session.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_participant_session.php
new file mode 100644
index 000000000000..c30d84630ddd
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_participant_session.php
@@ -0,0 +1,76 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var ParticipantSession $response */
+ $response = $conferenceRecordsServiceClient->getParticipantSession($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = ConferenceRecordsServiceClient::participantSessionName(
+ '[CONFERENCE_RECORD]',
+ '[PARTICIPANT]',
+ '[PARTICIPANT_SESSION]'
+ );
+
+ get_participant_session_sample($formattedName);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_GetParticipantSession_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_recording.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_recording.php
new file mode 100644
index 000000000000..13f2e3217151
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_recording.php
@@ -0,0 +1,75 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Recording $response */
+ $response = $conferenceRecordsServiceClient->getRecording($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = ConferenceRecordsServiceClient::recordingName(
+ '[CONFERENCE_RECORD]',
+ '[RECORDING]'
+ );
+
+ get_recording_sample($formattedName);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_GetRecording_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_transcript.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_transcript.php
new file mode 100644
index 000000000000..d7d0d9c5403d
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_transcript.php
@@ -0,0 +1,75 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Transcript $response */
+ $response = $conferenceRecordsServiceClient->getTranscript($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = ConferenceRecordsServiceClient::transcriptName(
+ '[CONFERENCE_RECORD]',
+ '[TRANSCRIPT]'
+ );
+
+ get_transcript_sample($formattedName);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_GetTranscript_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_transcript_entry.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_transcript_entry.php
new file mode 100644
index 000000000000..a8b0af57d201
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/get_transcript_entry.php
@@ -0,0 +1,80 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var TranscriptEntry $response */
+ $response = $conferenceRecordsServiceClient->getTranscriptEntry($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = ConferenceRecordsServiceClient::transcriptEntryName(
+ '[CONFERENCE_RECORD]',
+ '[TRANSCRIPT]',
+ '[ENTRY]'
+ );
+
+ get_transcript_entry_sample($formattedName);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_GetTranscriptEntry_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_conference_records.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_conference_records.php
new file mode 100644
index 000000000000..89ad2e67cfa0
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_conference_records.php
@@ -0,0 +1,63 @@
+listConferenceRecords($request);
+
+ /** @var ConferenceRecord $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_ListConferenceRecords_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_participant_sessions.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_participant_sessions.php
new file mode 100644
index 000000000000..e910331e542d
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_participant_sessions.php
@@ -0,0 +1,85 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $conferenceRecordsServiceClient->listParticipantSessions($request);
+
+ /** @var ParticipantSession $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = ConferenceRecordsServiceClient::participantName(
+ '[CONFERENCE_RECORD]',
+ '[PARTICIPANT]'
+ );
+
+ list_participant_sessions_sample($formattedParent);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_ListParticipantSessions_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_participants.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_participants.php
new file mode 100644
index 000000000000..fd9e943960d2
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_participants.php
@@ -0,0 +1,81 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $conferenceRecordsServiceClient->listParticipants($request);
+
+ /** @var Participant $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = ConferenceRecordsServiceClient::conferenceRecordName('[CONFERENCE_RECORD]');
+
+ list_participants_sample($formattedParent);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_ListParticipants_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_recordings.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_recordings.php
new file mode 100644
index 000000000000..97eadd049655
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_recordings.php
@@ -0,0 +1,77 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $conferenceRecordsServiceClient->listRecordings($request);
+
+ /** @var Recording $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = ConferenceRecordsServiceClient::conferenceRecordName('[CONFERENCE_RECORD]');
+
+ list_recordings_sample($formattedParent);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_ListRecordings_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_transcript_entries.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_transcript_entries.php
new file mode 100644
index 000000000000..32dc848b4515
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_transcript_entries.php
@@ -0,0 +1,86 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $conferenceRecordsServiceClient->listTranscriptEntries($request);
+
+ /** @var TranscriptEntry $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = ConferenceRecordsServiceClient::transcriptName(
+ '[CONFERENCE_RECORD]',
+ '[TRANSCRIPT]'
+ );
+
+ list_transcript_entries_sample($formattedParent);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_ListTranscriptEntries_sync]
diff --git a/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_transcripts.php b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_transcripts.php
new file mode 100644
index 000000000000..ff6bce2638f9
--- /dev/null
+++ b/AppsMeet/samples/V2beta/ConferenceRecordsServiceClient/list_transcripts.php
@@ -0,0 +1,77 @@
+setParent($formattedParent);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var PagedListResponse $response */
+ $response = $conferenceRecordsServiceClient->listTranscripts($request);
+
+ /** @var Transcript $element */
+ foreach ($response as $element) {
+ printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
+ }
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedParent = ConferenceRecordsServiceClient::conferenceRecordName('[CONFERENCE_RECORD]');
+
+ list_transcripts_sample($formattedParent);
+}
+// [END meet_v2beta_generated_ConferenceRecordsService_ListTranscripts_sync]
diff --git a/AppsMeet/samples/V2beta/SpacesServiceClient/create_space.php b/AppsMeet/samples/V2beta/SpacesServiceClient/create_space.php
new file mode 100644
index 000000000000..8e1e05e945ed
--- /dev/null
+++ b/AppsMeet/samples/V2beta/SpacesServiceClient/create_space.php
@@ -0,0 +1,58 @@
+createSpace($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END meet_v2beta_generated_SpacesService_CreateSpace_sync]
diff --git a/AppsMeet/samples/V2beta/SpacesServiceClient/end_active_conference.php b/AppsMeet/samples/V2beta/SpacesServiceClient/end_active_conference.php
new file mode 100644
index 000000000000..6fba472e43c6
--- /dev/null
+++ b/AppsMeet/samples/V2beta/SpacesServiceClient/end_active_conference.php
@@ -0,0 +1,70 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ $spacesServiceClient->endActiveConference($request);
+ printf('Call completed successfully.' . PHP_EOL);
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = SpacesServiceClient::spaceName('[SPACE]');
+
+ end_active_conference_sample($formattedName);
+}
+// [END meet_v2beta_generated_SpacesService_EndActiveConference_sync]
diff --git a/AppsMeet/samples/V2beta/SpacesServiceClient/get_space.php b/AppsMeet/samples/V2beta/SpacesServiceClient/get_space.php
new file mode 100644
index 000000000000..2791d51a4adc
--- /dev/null
+++ b/AppsMeet/samples/V2beta/SpacesServiceClient/get_space.php
@@ -0,0 +1,72 @@
+setName($formattedName);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Space $response */
+ $response = $spacesServiceClient->getSpace($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+
+/**
+ * Helper to execute the sample.
+ *
+ * This sample has been automatically generated and should be regarded as a code
+ * template only. It will require modifications to work:
+ * - It may require correct/in-range values for request initialization.
+ * - It may require specifying regional endpoints when creating the service client,
+ * please see the apiEndpoint client configuration option for more details.
+ */
+function callSample(): void
+{
+ $formattedName = SpacesServiceClient::spaceName('[SPACE]');
+
+ get_space_sample($formattedName);
+}
+// [END meet_v2beta_generated_SpacesService_GetSpace_sync]
diff --git a/AppsMeet/samples/V2beta/SpacesServiceClient/update_space.php b/AppsMeet/samples/V2beta/SpacesServiceClient/update_space.php
new file mode 100644
index 000000000000..905e374ec466
--- /dev/null
+++ b/AppsMeet/samples/V2beta/SpacesServiceClient/update_space.php
@@ -0,0 +1,60 @@
+setSpace($space);
+
+ // Call the API and handle any network failures.
+ try {
+ /** @var Space $response */
+ $response = $spacesServiceClient->updateSpace($request);
+ printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
+ } catch (ApiException $ex) {
+ printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
+ }
+}
+// [END meet_v2beta_generated_SpacesService_UpdateSpace_sync]
diff --git a/AppsMeet/src/V2beta/ActiveConference.php b/AppsMeet/src/V2beta/ActiveConference.php
new file mode 100644
index 000000000000..fed80f8c29e4
--- /dev/null
+++ b/AppsMeet/src/V2beta/ActiveConference.php
@@ -0,0 +1,75 @@
+google.apps.meet.v2beta.ActiveConference
+ */
+class ActiveConference extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. Reference to 'ConferenceRecord' resource.
+ * Format: `conferenceRecords/{conference_record}` where `{conference_record}`
+ * is a unique id for each instance of a call within a space.
+ *
+ * Generated from protobuf field string conference_record = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {
+ */
+ protected $conference_record = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $conference_record
+ * Output only. Reference to 'ConferenceRecord' resource.
+ * Format: `conferenceRecords/{conference_record}` where `{conference_record}`
+ * is a unique id for each instance of a call within a space.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Output only. Reference to 'ConferenceRecord' resource.
+ * Format: `conferenceRecords/{conference_record}` where `{conference_record}`
+ * is a unique id for each instance of a call within a space.
+ *
+ * Generated from protobuf field string conference_record = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getConferenceRecord()
+ {
+ return $this->conference_record;
+ }
+
+ /**
+ * Output only. Reference to 'ConferenceRecord' resource.
+ * Format: `conferenceRecords/{conference_record}` where `{conference_record}`
+ * is a unique id for each instance of a call within a space.
+ *
+ * Generated from protobuf field string conference_record = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setConferenceRecord($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->conference_record = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/AnonymousUser.php b/AppsMeet/src/V2beta/AnonymousUser.php
new file mode 100644
index 000000000000..dd7d65405b24
--- /dev/null
+++ b/AppsMeet/src/V2beta/AnonymousUser.php
@@ -0,0 +1,67 @@
+google.apps.meet.v2beta.AnonymousUser
+ */
+class AnonymousUser extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. User provided name when they join a conference anonymously.
+ *
+ * Generated from protobuf field string display_name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $display_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $display_name
+ * Output only. User provided name when they join a conference anonymously.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Output only. User provided name when they join a conference anonymously.
+ *
+ * Generated from protobuf field string display_name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getDisplayName()
+ {
+ return $this->display_name;
+ }
+
+ /**
+ * Output only. User provided name when they join a conference anonymously.
+ *
+ * Generated from protobuf field string display_name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setDisplayName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->display_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/Client/ConferenceRecordsServiceClient.php b/AppsMeet/src/V2beta/Client/ConferenceRecordsServiceClient.php
new file mode 100644
index 000000000000..997a90c71065
--- /dev/null
+++ b/AppsMeet/src/V2beta/Client/ConferenceRecordsServiceClient.php
@@ -0,0 +1,738 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/conference_records_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/conference_records_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/conference_records_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' =>
+ __DIR__ . '/../resources/conference_records_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * conference_record resource.
+ *
+ * @param string $conferenceRecord
+ *
+ * @return string The formatted conference_record resource.
+ *
+ * @experimental
+ */
+ public static function conferenceRecordName(string $conferenceRecord): string
+ {
+ return self::getPathTemplate('conferenceRecord')->render([
+ 'conference_record' => $conferenceRecord,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a participant
+ * resource.
+ *
+ * @param string $conferenceRecord
+ * @param string $participant
+ *
+ * @return string The formatted participant resource.
+ *
+ * @experimental
+ */
+ public static function participantName(string $conferenceRecord, string $participant): string
+ {
+ return self::getPathTemplate('participant')->render([
+ 'conference_record' => $conferenceRecord,
+ 'participant' => $participant,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * participant_session resource.
+ *
+ * @param string $conferenceRecord
+ * @param string $participant
+ * @param string $participantSession
+ *
+ * @return string The formatted participant_session resource.
+ *
+ * @experimental
+ */
+ public static function participantSessionName(
+ string $conferenceRecord,
+ string $participant,
+ string $participantSession
+ ): string {
+ return self::getPathTemplate('participantSession')->render([
+ 'conference_record' => $conferenceRecord,
+ 'participant' => $participant,
+ 'participant_session' => $participantSession,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a recording
+ * resource.
+ *
+ * @param string $conferenceRecord
+ * @param string $recording
+ *
+ * @return string The formatted recording resource.
+ *
+ * @experimental
+ */
+ public static function recordingName(string $conferenceRecord, string $recording): string
+ {
+ return self::getPathTemplate('recording')->render([
+ 'conference_record' => $conferenceRecord,
+ 'recording' => $recording,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a transcript
+ * resource.
+ *
+ * @param string $conferenceRecord
+ * @param string $transcript
+ *
+ * @return string The formatted transcript resource.
+ *
+ * @experimental
+ */
+ public static function transcriptName(string $conferenceRecord, string $transcript): string
+ {
+ return self::getPathTemplate('transcript')->render([
+ 'conference_record' => $conferenceRecord,
+ 'transcript' => $transcript,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * transcript_entry resource.
+ *
+ * @param string $conferenceRecord
+ * @param string $transcript
+ * @param string $entry
+ *
+ * @return string The formatted transcript_entry resource.
+ *
+ * @experimental
+ */
+ public static function transcriptEntryName(string $conferenceRecord, string $transcript, string $entry): string
+ {
+ return self::getPathTemplate('transcriptEntry')->render([
+ 'conference_record' => $conferenceRecord,
+ 'transcript' => $transcript,
+ 'entry' => $entry,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - conferenceRecord: conferenceRecords/{conference_record}
+ * - participant: conferenceRecords/{conference_record}/participants/{participant}
+ * - participantSession: conferenceRecords/{conference_record}/participants/{participant}/participantSessions/{participant_session}
+ * - recording: conferenceRecords/{conference_record}/recordings/{recording}
+ * - transcript: conferenceRecords/{conference_record}/transcripts/{transcript}
+ * - transcriptEntry: conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'meet.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Gets a conference record by conference ID.
+ *
+ * The async variant is
+ * {@see ConferenceRecordsServiceClient::getConferenceRecordAsync()} .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/get_conference_record.php
+ *
+ * @param GetConferenceRecordRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return ConferenceRecord
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getConferenceRecord(GetConferenceRecordRequest $request, array $callOptions = []): ConferenceRecord
+ {
+ return $this->startApiCall('GetConferenceRecord', $request, $callOptions)->wait();
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Gets a participant by participant ID.
+ *
+ * The async variant is
+ * {@see ConferenceRecordsServiceClient::getParticipantAsync()} .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/get_participant.php
+ *
+ * @param GetParticipantRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Participant
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getParticipant(GetParticipantRequest $request, array $callOptions = []): Participant
+ {
+ return $this->startApiCall('GetParticipant', $request, $callOptions)->wait();
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Gets a participant session by participant session ID.
+ *
+ * The async variant is
+ * {@see ConferenceRecordsServiceClient::getParticipantSessionAsync()} .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/get_participant_session.php
+ *
+ * @param GetParticipantSessionRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return ParticipantSession
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getParticipantSession(
+ GetParticipantSessionRequest $request,
+ array $callOptions = []
+ ): ParticipantSession {
+ return $this->startApiCall('GetParticipantSession', $request, $callOptions)->wait();
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Gets a recording by recording ID.
+ *
+ * The async variant is {@see ConferenceRecordsServiceClient::getRecordingAsync()}
+ * .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/get_recording.php
+ *
+ * @param GetRecordingRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Recording
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getRecording(GetRecordingRequest $request, array $callOptions = []): Recording
+ {
+ return $this->startApiCall('GetRecording', $request, $callOptions)->wait();
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Gets a transcript by transcript ID.
+ *
+ * The async variant is {@see ConferenceRecordsServiceClient::getTranscriptAsync()}
+ * .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/get_transcript.php
+ *
+ * @param GetTranscriptRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Transcript
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getTranscript(GetTranscriptRequest $request, array $callOptions = []): Transcript
+ {
+ return $this->startApiCall('GetTranscript', $request, $callOptions)->wait();
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Gets a `TranscriptEntry` resource by entry ID.
+ *
+ * Note: The transcript entries returned by the Google Meet API might not
+ * match the transcription found in the Google Docs transcript file. This can
+ * occur when the Google Docs transcript file is modified after generation.
+ *
+ * The async variant is
+ * {@see ConferenceRecordsServiceClient::getTranscriptEntryAsync()} .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/get_transcript_entry.php
+ *
+ * @param GetTranscriptEntryRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return TranscriptEntry
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getTranscriptEntry(GetTranscriptEntryRequest $request, array $callOptions = []): TranscriptEntry
+ {
+ return $this->startApiCall('GetTranscriptEntry', $request, $callOptions)->wait();
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Lists the conference records by start time and in descending order.
+ *
+ * The async variant is
+ * {@see ConferenceRecordsServiceClient::listConferenceRecordsAsync()} .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/list_conference_records.php
+ *
+ * @param ListConferenceRecordsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listConferenceRecords(
+ ListConferenceRecordsRequest $request,
+ array $callOptions = []
+ ): PagedListResponse {
+ return $this->startApiCall('ListConferenceRecords', $request, $callOptions);
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Lists the participant sessions of a participant in a conference record, by
+ * default ordered by join time and in descending order. This API supports
+ * `fields` as standard parameters like every other API. However, when the
+ * `fields` request parameter is omitted this API defaults to
+ * `'participantsessions/*, next_page_token'`.
+ *
+ * The async variant is
+ * {@see ConferenceRecordsServiceClient::listParticipantSessionsAsync()} .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/list_participant_sessions.php
+ *
+ * @param ListParticipantSessionsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listParticipantSessions(
+ ListParticipantSessionsRequest $request,
+ array $callOptions = []
+ ): PagedListResponse {
+ return $this->startApiCall('ListParticipantSessions', $request, $callOptions);
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Lists the participants in a conference record, by default ordered by join
+ * time and in descending order. This API supports `fields` as standard
+ * parameters like every other API. However, when the `fields` request
+ * parameter is omitted, this API defaults to `'participants/*,
+ * next_page_token'`.
+ *
+ * The async variant is
+ * {@see ConferenceRecordsServiceClient::listParticipantsAsync()} .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/list_participants.php
+ *
+ * @param ListParticipantsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listParticipants(ListParticipantsRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListParticipants', $request, $callOptions);
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Lists the recording resources from the conference record.
+ *
+ * The async variant is
+ * {@see ConferenceRecordsServiceClient::listRecordingsAsync()} .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/list_recordings.php
+ *
+ * @param ListRecordingsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listRecordings(ListRecordingsRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListRecordings', $request, $callOptions);
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Lists the structured transcript entries per transcript. By default, ordered
+ * by start time and in ascending order.
+ *
+ * Note: The transcript entries returned by the Google Meet API might not
+ * match the transcription found in the Google Docs transcript file. This can
+ * occur when the Google Docs transcript file is modified after generation.
+ *
+ * The async variant is
+ * {@see ConferenceRecordsServiceClient::listTranscriptEntriesAsync()} .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/list_transcript_entries.php
+ *
+ * @param ListTranscriptEntriesRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listTranscriptEntries(
+ ListTranscriptEntriesRequest $request,
+ array $callOptions = []
+ ): PagedListResponse {
+ return $this->startApiCall('ListTranscriptEntries', $request, $callOptions);
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Lists the set of transcripts from the conference record.
+ *
+ * The async variant is
+ * {@see ConferenceRecordsServiceClient::listTranscriptsAsync()} .
+ *
+ * @example samples/V2beta/ConferenceRecordsServiceClient/list_transcripts.php
+ *
+ * @param ListTranscriptsRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return PagedListResponse
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function listTranscripts(ListTranscriptsRequest $request, array $callOptions = []): PagedListResponse
+ {
+ return $this->startApiCall('ListTranscripts', $request, $callOptions);
+ }
+}
diff --git a/AppsMeet/src/V2beta/Client/SpacesServiceClient.php b/AppsMeet/src/V2beta/Client/SpacesServiceClient.php
new file mode 100644
index 000000000000..0d295f4d491c
--- /dev/null
+++ b/AppsMeet/src/V2beta/Client/SpacesServiceClient.php
@@ -0,0 +1,355 @@
+ self::SERVICE_NAME,
+ 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT,
+ 'clientConfig' => __DIR__ . '/../resources/spaces_service_client_config.json',
+ 'descriptorsConfigPath' => __DIR__ . '/../resources/spaces_service_descriptor_config.php',
+ 'gcpApiConfigPath' => __DIR__ . '/../resources/spaces_service_grpc_config.json',
+ 'credentialsConfig' => [
+ 'defaultScopes' => self::$serviceScopes,
+ ],
+ 'transportConfig' => [
+ 'rest' => [
+ 'restClientConfigPath' => __DIR__ . '/../resources/spaces_service_rest_client_config.php',
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a
+ * conference_record resource.
+ *
+ * @param string $conferenceRecord
+ *
+ * @return string The formatted conference_record resource.
+ *
+ * @experimental
+ */
+ public static function conferenceRecordName(string $conferenceRecord): string
+ {
+ return self::getPathTemplate('conferenceRecord')->render([
+ 'conference_record' => $conferenceRecord,
+ ]);
+ }
+
+ /**
+ * Formats a string containing the fully-qualified path to represent a space
+ * resource.
+ *
+ * @param string $space
+ *
+ * @return string The formatted space resource.
+ *
+ * @experimental
+ */
+ public static function spaceName(string $space): string
+ {
+ return self::getPathTemplate('space')->render([
+ 'space' => $space,
+ ]);
+ }
+
+ /**
+ * Parses a formatted name string and returns an associative array of the components in the name.
+ * The following name formats are supported:
+ * Template: Pattern
+ * - conferenceRecord: conferenceRecords/{conference_record}
+ * - space: spaces/{space}
+ *
+ * The optional $template argument can be supplied to specify a particular pattern,
+ * and must match one of the templates listed above. If no $template argument is
+ * provided, or if the $template argument does not match one of the templates
+ * listed, then parseName will check each of the supported templates, and return
+ * the first match.
+ *
+ * @param string $formattedName The formatted name string
+ * @param string $template Optional name of template to match
+ *
+ * @return array An associative array from name component IDs to component values.
+ *
+ * @throws ValidationException If $formattedName could not be matched.
+ *
+ * @experimental
+ */
+ public static function parseName(string $formattedName, string $template = null): array
+ {
+ return self::parseFormattedName($formattedName, $template);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $options {
+ * Optional. Options for configuring the service API wrapper.
+ *
+ * @type string $apiEndpoint
+ * The address of the API remote host. May optionally include the port, formatted
+ * as ":". Default 'meet.googleapis.com:443'.
+ * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials
+ * The credentials to be used by the client to authorize API calls. This option
+ * accepts either a path to a credentials file, or a decoded credentials file as a
+ * PHP array.
+ * *Advanced usage*: In addition, this option can also accept a pre-constructed
+ * {@see \Google\Auth\FetchAuthTokenInterface} object or
+ * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these
+ * objects are provided, any settings in $credentialsConfig will be ignored.
+ * @type array $credentialsConfig
+ * Options used to configure credentials, including auth token caching, for the
+ * client. For a full list of supporting configuration options, see
+ * {@see \Google\ApiCore\CredentialsWrapper::build()} .
+ * @type bool $disableRetries
+ * Determines whether or not retries defined by the client configuration should be
+ * disabled. Defaults to `false`.
+ * @type string|array $clientConfig
+ * Client method configuration, including retry settings. This option can be either
+ * a path to a JSON file, or a PHP array containing the decoded JSON data. By
+ * default this settings points to the default client config file, which is
+ * provided in the resources folder.
+ * @type string|TransportInterface $transport
+ * The transport used for executing network requests. May be either the string
+ * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system.
+ * *Advanced usage*: Additionally, it is possible to pass in an already
+ * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note
+ * that when this object is provided, any settings in $transportConfig, and any
+ * $apiEndpoint setting, will be ignored.
+ * @type array $transportConfig
+ * Configuration options that will be used to construct the transport. Options for
+ * each supported transport type should be passed in a key for that transport. For
+ * example:
+ * $transportConfig = [
+ * 'grpc' => [...],
+ * 'rest' => [...],
+ * ];
+ * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and
+ * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the
+ * supported options.
+ * @type callable $clientCertSource
+ * A callable which returns the client cert as a string. This can be used to
+ * provide a certificate and private key to the transport layer for mTLS.
+ * }
+ *
+ * @throws ValidationException
+ *
+ * @experimental
+ */
+ public function __construct(array $options = [])
+ {
+ $clientOptions = $this->buildClientOptions($options);
+ $this->setClientOptions($clientOptions);
+ }
+
+ /** Handles execution of the async variants for each documented method. */
+ public function __call($method, $args)
+ {
+ if (substr($method, -5) !== 'Async') {
+ trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR);
+ }
+
+ array_unshift($args, substr($method, 0, -5));
+ return call_user_func_array([$this, 'startAsyncCall'], $args);
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Creates a space.
+ *
+ * The async variant is {@see SpacesServiceClient::createSpaceAsync()} .
+ *
+ * @example samples/V2beta/SpacesServiceClient/create_space.php
+ *
+ * @param CreateSpaceRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Space
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function createSpace(CreateSpaceRequest $request, array $callOptions = []): Space
+ {
+ return $this->startApiCall('CreateSpace', $request, $callOptions)->wait();
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Ends an active conference (if there is one).
+ *
+ * The async variant is {@see SpacesServiceClient::endActiveConferenceAsync()} .
+ *
+ * @example samples/V2beta/SpacesServiceClient/end_active_conference.php
+ *
+ * @param EndActiveConferenceRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function endActiveConference(EndActiveConferenceRequest $request, array $callOptions = []): void
+ {
+ $this->startApiCall('EndActiveConference', $request, $callOptions)->wait();
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Gets a space by `space_id` or `meeting_code`.
+ *
+ * The async variant is {@see SpacesServiceClient::getSpaceAsync()} .
+ *
+ * @example samples/V2beta/SpacesServiceClient/get_space.php
+ *
+ * @param GetSpaceRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Space
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function getSpace(GetSpaceRequest $request, array $callOptions = []): Space
+ {
+ return $this->startApiCall('GetSpace', $request, $callOptions)->wait();
+ }
+
+ /**
+ * [Developer Preview](https://developers.google.com/workspace/preview).
+ * Updates a space.
+ *
+ * The async variant is {@see SpacesServiceClient::updateSpaceAsync()} .
+ *
+ * @example samples/V2beta/SpacesServiceClient/update_space.php
+ *
+ * @param UpdateSpaceRequest $request A request to house fields associated with the call.
+ * @param array $callOptions {
+ * Optional.
+ *
+ * @type RetrySettings|array $retrySettings
+ * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
+ * associative array of retry settings parameters. See the documentation on
+ * {@see RetrySettings} for example usage.
+ * }
+ *
+ * @return Space
+ *
+ * @throws ApiException Thrown if the API call fails.
+ *
+ * @experimental
+ */
+ public function updateSpace(UpdateSpaceRequest $request, array $callOptions = []): Space
+ {
+ return $this->startApiCall('UpdateSpace', $request, $callOptions)->wait();
+ }
+}
diff --git a/AppsMeet/src/V2beta/ConferenceRecord.php b/AppsMeet/src/V2beta/ConferenceRecord.php
new file mode 100644
index 000000000000..95c6047f6a20
--- /dev/null
+++ b/AppsMeet/src/V2beta/ConferenceRecord.php
@@ -0,0 +1,254 @@
+google.apps.meet.v2beta.ConferenceRecord
+ */
+class ConferenceRecord extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. Resource name of the conference record.
+ * Format: `conferenceRecords/{conference_record}` where `{conference_record}`
+ * is a unique id for each instance of a call within a space.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Output only. Timestamp when the conference started, always set.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $start_time = null;
+ /**
+ * Output only. Timestamp when the conference ended.
+ * Set for past conferences. Unset if the conference is ongoing.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $end_time = null;
+ /**
+ * Output only. Server enforced expire time for when this conference record
+ * resource is deleted. The resource is deleted 30 days after the conference
+ * ends.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp expire_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $expire_time = null;
+ /**
+ * Output only. The space where the conference was held.
+ *
+ * Generated from protobuf field string space = 5 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {
+ */
+ protected $space = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. Resource name of the conference record.
+ * Format: `conferenceRecords/{conference_record}` where `{conference_record}`
+ * is a unique id for each instance of a call within a space.
+ * @type \Google\Protobuf\Timestamp $start_time
+ * Output only. Timestamp when the conference started, always set.
+ * @type \Google\Protobuf\Timestamp $end_time
+ * Output only. Timestamp when the conference ended.
+ * Set for past conferences. Unset if the conference is ongoing.
+ * @type \Google\Protobuf\Timestamp $expire_time
+ * Output only. Server enforced expire time for when this conference record
+ * resource is deleted. The resource is deleted 30 days after the conference
+ * ends.
+ * @type string $space
+ * Output only. The space where the conference was held.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. Resource name of the conference record.
+ * Format: `conferenceRecords/{conference_record}` where `{conference_record}`
+ * is a unique id for each instance of a call within a space.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. Resource name of the conference record.
+ * Format: `conferenceRecords/{conference_record}` where `{conference_record}`
+ * is a unique id for each instance of a call within a space.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Timestamp when the conference started, always set.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getStartTime()
+ {
+ return $this->start_time;
+ }
+
+ public function hasStartTime()
+ {
+ return isset($this->start_time);
+ }
+
+ public function clearStartTime()
+ {
+ unset($this->start_time);
+ }
+
+ /**
+ * Output only. Timestamp when the conference started, always set.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setStartTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->start_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Timestamp when the conference ended.
+ * Set for past conferences. Unset if the conference is ongoing.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getEndTime()
+ {
+ return $this->end_time;
+ }
+
+ public function hasEndTime()
+ {
+ return isset($this->end_time);
+ }
+
+ public function clearEndTime()
+ {
+ unset($this->end_time);
+ }
+
+ /**
+ * Output only. Timestamp when the conference ended.
+ * Set for past conferences. Unset if the conference is ongoing.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setEndTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->end_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Server enforced expire time for when this conference record
+ * resource is deleted. The resource is deleted 30 days after the conference
+ * ends.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp expire_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getExpireTime()
+ {
+ return $this->expire_time;
+ }
+
+ public function hasExpireTime()
+ {
+ return isset($this->expire_time);
+ }
+
+ public function clearExpireTime()
+ {
+ unset($this->expire_time);
+ }
+
+ /**
+ * Output only. Server enforced expire time for when this conference record
+ * resource is deleted. The resource is deleted 30 days after the conference
+ * ends.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp expire_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setExpireTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->expire_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The space where the conference was held.
+ *
+ * Generated from protobuf field string space = 5 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getSpace()
+ {
+ return $this->space;
+ }
+
+ /**
+ * Output only. The space where the conference was held.
+ *
+ * Generated from protobuf field string space = 5 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setSpace($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->space = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/CreateSpaceRequest.php b/AppsMeet/src/V2beta/CreateSpaceRequest.php
new file mode 100644
index 000000000000..b534aee3cd47
--- /dev/null
+++ b/AppsMeet/src/V2beta/CreateSpaceRequest.php
@@ -0,0 +1,95 @@
+google.apps.meet.v2beta.CreateSpaceRequest
+ */
+class CreateSpaceRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Space to be created. As of May 2023, the input space can be empty. Later on
+ * the input space can be non-empty when space configuration is introduced.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Space space = 1;
+ */
+ protected $space = null;
+
+ /**
+ * @param \Google\Apps\Meet\V2beta\Space $space Space to be created. As of May 2023, the input space can be empty. Later on
+ * the input space can be non-empty when space configuration is introduced.
+ *
+ * @return \Google\Apps\Meet\V2beta\CreateSpaceRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Apps\Meet\V2beta\Space $space): self
+ {
+ return (new self())
+ ->setSpace($space);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Apps\Meet\V2beta\Space $space
+ * Space to be created. As of May 2023, the input space can be empty. Later on
+ * the input space can be non-empty when space configuration is introduced.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Space to be created. As of May 2023, the input space can be empty. Later on
+ * the input space can be non-empty when space configuration is introduced.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Space space = 1;
+ * @return \Google\Apps\Meet\V2beta\Space|null
+ */
+ public function getSpace()
+ {
+ return $this->space;
+ }
+
+ public function hasSpace()
+ {
+ return isset($this->space);
+ }
+
+ public function clearSpace()
+ {
+ unset($this->space);
+ }
+
+ /**
+ * Space to be created. As of May 2023, the input space can be empty. Later on
+ * the input space can be non-empty when space configuration is introduced.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Space space = 1;
+ * @param \Google\Apps\Meet\V2beta\Space $var
+ * @return $this
+ */
+ public function setSpace($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Apps\Meet\V2beta\Space::class);
+ $this->space = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/DocsDestination.php b/AppsMeet/src/V2beta/DocsDestination.php
new file mode 100644
index 000000000000..5a82669b8a07
--- /dev/null
+++ b/AppsMeet/src/V2beta/DocsDestination.php
@@ -0,0 +1,125 @@
+google.apps.meet.v2beta.DocsDestination
+ */
+class DocsDestination extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. The document ID for the underlying Google Docs transcript
+ * file. For example, "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use the
+ * `documents.get` method of the Google Docs API
+ * (https://developers.google.com/docs/api/reference/rest/v1/documents/get) to
+ * fetch the content.
+ *
+ * Generated from protobuf field string document = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $document = '';
+ /**
+ * Output only. URI for the Google Docs transcript file. Use
+ * `https://docs.google.com/document/d/{$DocumentId}/view` to browse the
+ * transcript in the browser.
+ *
+ * Generated from protobuf field string export_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $export_uri = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $document
+ * Output only. The document ID for the underlying Google Docs transcript
+ * file. For example, "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use the
+ * `documents.get` method of the Google Docs API
+ * (https://developers.google.com/docs/api/reference/rest/v1/documents/get) to
+ * fetch the content.
+ * @type string $export_uri
+ * Output only. URI for the Google Docs transcript file. Use
+ * `https://docs.google.com/document/d/{$DocumentId}/view` to browse the
+ * transcript in the browser.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Output only. The document ID for the underlying Google Docs transcript
+ * file. For example, "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use the
+ * `documents.get` method of the Google Docs API
+ * (https://developers.google.com/docs/api/reference/rest/v1/documents/get) to
+ * fetch the content.
+ *
+ * Generated from protobuf field string document = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getDocument()
+ {
+ return $this->document;
+ }
+
+ /**
+ * Output only. The document ID for the underlying Google Docs transcript
+ * file. For example, "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use the
+ * `documents.get` method of the Google Docs API
+ * (https://developers.google.com/docs/api/reference/rest/v1/documents/get) to
+ * fetch the content.
+ *
+ * Generated from protobuf field string document = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setDocument($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->document = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. URI for the Google Docs transcript file. Use
+ * `https://docs.google.com/document/d/{$DocumentId}/view` to browse the
+ * transcript in the browser.
+ *
+ * Generated from protobuf field string export_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getExportUri()
+ {
+ return $this->export_uri;
+ }
+
+ /**
+ * Output only. URI for the Google Docs transcript file. Use
+ * `https://docs.google.com/document/d/{$DocumentId}/view` to browse the
+ * transcript in the browser.
+ *
+ * Generated from protobuf field string export_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setExportUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->export_uri = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/DriveDestination.php b/AppsMeet/src/V2beta/DriveDestination.php
new file mode 100644
index 000000000000..48721ac2c81d
--- /dev/null
+++ b/AppsMeet/src/V2beta/DriveDestination.php
@@ -0,0 +1,121 @@
+google.apps.meet.v2beta.DriveDestination
+ */
+class DriveDestination extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. The `fileId` for the underlying MP4 file. For example,
+ * "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use `$ GET
+ * https://www.googleapis.com/drive/v3/files/{$fileId}?alt=media` to download
+ * the blob. For more information, see
+ * https://developers.google.com/drive/api/v3/reference/files/get.
+ *
+ * Generated from protobuf field string file = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $file = '';
+ /**
+ * Output only. Link used to play back the recording file in the browser. For
+ * example, `https://drive.google.com/file/d/{$fileId}/view`.
+ *
+ * Generated from protobuf field string export_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $export_uri = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $file
+ * Output only. The `fileId` for the underlying MP4 file. For example,
+ * "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use `$ GET
+ * https://www.googleapis.com/drive/v3/files/{$fileId}?alt=media` to download
+ * the blob. For more information, see
+ * https://developers.google.com/drive/api/v3/reference/files/get.
+ * @type string $export_uri
+ * Output only. Link used to play back the recording file in the browser. For
+ * example, `https://drive.google.com/file/d/{$fileId}/view`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Output only. The `fileId` for the underlying MP4 file. For example,
+ * "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use `$ GET
+ * https://www.googleapis.com/drive/v3/files/{$fileId}?alt=media` to download
+ * the blob. For more information, see
+ * https://developers.google.com/drive/api/v3/reference/files/get.
+ *
+ * Generated from protobuf field string file = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getFile()
+ {
+ return $this->file;
+ }
+
+ /**
+ * Output only. The `fileId` for the underlying MP4 file. For example,
+ * "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use `$ GET
+ * https://www.googleapis.com/drive/v3/files/{$fileId}?alt=media` to download
+ * the blob. For more information, see
+ * https://developers.google.com/drive/api/v3/reference/files/get.
+ *
+ * Generated from protobuf field string file = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setFile($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->file = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Link used to play back the recording file in the browser. For
+ * example, `https://drive.google.com/file/d/{$fileId}/view`.
+ *
+ * Generated from protobuf field string export_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getExportUri()
+ {
+ return $this->export_uri;
+ }
+
+ /**
+ * Output only. Link used to play back the recording file in the browser. For
+ * example, `https://drive.google.com/file/d/{$fileId}/view`.
+ *
+ * Generated from protobuf field string export_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setExportUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->export_uri = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/EndActiveConferenceRequest.php b/AppsMeet/src/V2beta/EndActiveConferenceRequest.php
new file mode 100644
index 000000000000..3732194b7cac
--- /dev/null
+++ b/AppsMeet/src/V2beta/EndActiveConferenceRequest.php
@@ -0,0 +1,81 @@
+google.apps.meet.v2beta.EndActiveConferenceRequest
+ */
+class EndActiveConferenceRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Resource name of the space.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. Resource name of the space. Please see
+ * {@see SpacesServiceClient::spaceName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\EndActiveConferenceRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. Resource name of the space.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Resource name of the space.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. Resource name of the space.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/GetConferenceRecordRequest.php b/AppsMeet/src/V2beta/GetConferenceRecordRequest.php
new file mode 100644
index 000000000000..0a9c0d2b2d4e
--- /dev/null
+++ b/AppsMeet/src/V2beta/GetConferenceRecordRequest.php
@@ -0,0 +1,81 @@
+google.apps.meet.v2beta.GetConferenceRecordRequest
+ */
+class GetConferenceRecordRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Resource name of the conference.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. Resource name of the conference. Please see
+ * {@see ConferenceRecordsServiceClient::conferenceRecordName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\GetConferenceRecordRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. Resource name of the conference.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Resource name of the conference.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. Resource name of the conference.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/GetParticipantRequest.php b/AppsMeet/src/V2beta/GetParticipantRequest.php
new file mode 100644
index 000000000000..2ba9e1655e7e
--- /dev/null
+++ b/AppsMeet/src/V2beta/GetParticipantRequest.php
@@ -0,0 +1,81 @@
+google.apps.meet.v2beta.GetParticipantRequest
+ */
+class GetParticipantRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Resource name of the participant.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. Resource name of the participant. Please see
+ * {@see ConferenceRecordsServiceClient::participantName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\GetParticipantRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. Resource name of the participant.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Resource name of the participant.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. Resource name of the participant.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/GetParticipantSessionRequest.php b/AppsMeet/src/V2beta/GetParticipantSessionRequest.php
new file mode 100644
index 000000000000..4f232e98dda3
--- /dev/null
+++ b/AppsMeet/src/V2beta/GetParticipantSessionRequest.php
@@ -0,0 +1,81 @@
+google.apps.meet.v2beta.GetParticipantSessionRequest
+ */
+class GetParticipantSessionRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Resource name of the participant.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. Resource name of the participant. Please see
+ * {@see ConferenceRecordsServiceClient::participantSessionName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\GetParticipantSessionRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. Resource name of the participant.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Resource name of the participant.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. Resource name of the participant.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/GetRecordingRequest.php b/AppsMeet/src/V2beta/GetRecordingRequest.php
new file mode 100644
index 000000000000..2b0ad3f7bd6e
--- /dev/null
+++ b/AppsMeet/src/V2beta/GetRecordingRequest.php
@@ -0,0 +1,81 @@
+google.apps.meet.v2beta.GetRecordingRequest
+ */
+class GetRecordingRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Resource name of the recording.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. Resource name of the recording. Please see
+ * {@see ConferenceRecordsServiceClient::recordingName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\GetRecordingRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. Resource name of the recording.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Resource name of the recording.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. Resource name of the recording.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/GetSpaceRequest.php b/AppsMeet/src/V2beta/GetSpaceRequest.php
new file mode 100644
index 000000000000..67cd082076bb
--- /dev/null
+++ b/AppsMeet/src/V2beta/GetSpaceRequest.php
@@ -0,0 +1,81 @@
+google.apps.meet.v2beta.GetSpaceRequest
+ */
+class GetSpaceRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Resource name of the space.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. Resource name of the space. Please see
+ * {@see SpacesServiceClient::spaceName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\GetSpaceRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. Resource name of the space.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Resource name of the space.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. Resource name of the space.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/GetTranscriptEntryRequest.php b/AppsMeet/src/V2beta/GetTranscriptEntryRequest.php
new file mode 100644
index 000000000000..d70dd0b5c6e1
--- /dev/null
+++ b/AppsMeet/src/V2beta/GetTranscriptEntryRequest.php
@@ -0,0 +1,81 @@
+google.apps.meet.v2beta.GetTranscriptEntryRequest
+ */
+class GetTranscriptEntryRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Resource name of the `TranscriptEntry`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. Resource name of the `TranscriptEntry`. Please see
+ * {@see ConferenceRecordsServiceClient::transcriptEntryName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\GetTranscriptEntryRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. Resource name of the `TranscriptEntry`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Resource name of the `TranscriptEntry`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. Resource name of the `TranscriptEntry`.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/GetTranscriptRequest.php b/AppsMeet/src/V2beta/GetTranscriptRequest.php
new file mode 100644
index 000000000000..a0c0dc1e189f
--- /dev/null
+++ b/AppsMeet/src/V2beta/GetTranscriptRequest.php
@@ -0,0 +1,81 @@
+google.apps.meet.v2beta.GetTranscriptRequest
+ */
+class GetTranscriptRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Resource name of the transcript.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $name = '';
+
+ /**
+ * @param string $name Required. Resource name of the transcript. Please see
+ * {@see ConferenceRecordsServiceClient::transcriptName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\GetTranscriptRequest
+ *
+ * @experimental
+ */
+ public static function build(string $name): self
+ {
+ return (new self())
+ ->setName($name);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Required. Resource name of the transcript.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Resource name of the transcript.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Required. Resource name of the transcript.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListConferenceRecordsRequest.php b/AppsMeet/src/V2beta/ListConferenceRecordsRequest.php
new file mode 100644
index 000000000000..6c4975f5705a
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListConferenceRecordsRequest.php
@@ -0,0 +1,171 @@
+google.apps.meet.v2beta.ListConferenceRecordsRequest
+ */
+class ListConferenceRecordsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Optional. Maximum number of conference records to return. The service might
+ * return fewer than this value. If unspecified, at most 25 conference records
+ * are returned. The maximum value is 100; values above 100 are coerced to
+ * 100. Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_size = 0;
+ /**
+ * Optional. Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_token = '';
+ /**
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `space.meeting_code`
+ * * `space.name`
+ * * `start_time`
+ * * `end_time`
+ * For example, `space.meeting_code = "abc-mnop-xyz"`.
+ *
+ * Generated from protobuf field string filter = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $filter = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $page_size
+ * Optional. Maximum number of conference records to return. The service might
+ * return fewer than this value. If unspecified, at most 25 conference records
+ * are returned. The maximum value is 100; values above 100 are coerced to
+ * 100. Maximum might change in the future.
+ * @type string $page_token
+ * Optional. Page token returned from previous List Call.
+ * @type string $filter
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `space.meeting_code`
+ * * `space.name`
+ * * `start_time`
+ * * `end_time`
+ * For example, `space.meeting_code = "abc-mnop-xyz"`.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Optional. Maximum number of conference records to return. The service might
+ * return fewer than this value. If unspecified, at most 25 conference records
+ * are returned. The maximum value is 100; values above 100 are coerced to
+ * 100. Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Optional. Maximum number of conference records to return. The service might
+ * return fewer than this value. If unspecified, at most 25 conference records
+ * are returned. The maximum value is 100; values above 100 are coerced to
+ * 100. Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Optional. Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `space.meeting_code`
+ * * `space.name`
+ * * `start_time`
+ * * `end_time`
+ * For example, `space.meeting_code = "abc-mnop-xyz"`.
+ *
+ * Generated from protobuf field string filter = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getFilter()
+ {
+ return $this->filter;
+ }
+
+ /**
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `space.meeting_code`
+ * * `space.name`
+ * * `start_time`
+ * * `end_time`
+ * For example, `space.meeting_code = "abc-mnop-xyz"`.
+ *
+ * Generated from protobuf field string filter = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setFilter($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->filter = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListConferenceRecordsResponse.php b/AppsMeet/src/V2beta/ListConferenceRecordsResponse.php
new file mode 100644
index 000000000000..0b41e7ee29d6
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListConferenceRecordsResponse.php
@@ -0,0 +1,105 @@
+google.apps.meet.v2beta.ListConferenceRecordsResponse
+ */
+class ListConferenceRecordsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of conferences in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.ConferenceRecord conference_records = 1;
+ */
+ private $conference_records;
+ /**
+ * Token to be circulated back for further List call if current List does NOT
+ * include all the Conferences. Unset if all conferences have been returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Apps\Meet\V2beta\ConferenceRecord>|\Google\Protobuf\Internal\RepeatedField $conference_records
+ * List of conferences in one page.
+ * @type string $next_page_token
+ * Token to be circulated back for further List call if current List does NOT
+ * include all the Conferences. Unset if all conferences have been returned.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of conferences in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.ConferenceRecord conference_records = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getConferenceRecords()
+ {
+ return $this->conference_records;
+ }
+
+ /**
+ * List of conferences in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.ConferenceRecord conference_records = 1;
+ * @param array<\Google\Apps\Meet\V2beta\ConferenceRecord>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setConferenceRecords($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Apps\Meet\V2beta\ConferenceRecord::class);
+ $this->conference_records = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List does NOT
+ * include all the Conferences. Unset if all conferences have been returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List does NOT
+ * include all the Conferences. Unset if all conferences have been returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListParticipantSessionsRequest.php b/AppsMeet/src/V2beta/ListParticipantSessionsRequest.php
new file mode 100644
index 000000000000..2bb9c239e363
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListParticipantSessionsRequest.php
@@ -0,0 +1,221 @@
+google.apps.meet.v2beta.ListParticipantSessionsRequest
+ */
+class ListParticipantSessionsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Format:
+ * `conferenceRecords/{conference_record}/participants/{participant}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Optional. Maximum number of participant sessions to return. The service
+ * might return fewer than this value. If unspecified, at most 100
+ * participants are returned. The maximum value is 250; values above 250 are
+ * coerced to 250. Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_size = 0;
+ /**
+ * Optional. Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $page_token = '';
+ /**
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `start_time`
+ * * `end_time`
+ * For example, `end_time IS NULL` returns active participant sessions in
+ * the conference record.
+ *
+ * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $filter = '';
+
+ /**
+ * @param string $parent Required. Format:
+ * `conferenceRecords/{conference_record}/participants/{participant}`
+ * Please see {@see ConferenceRecordsServiceClient::participantName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\ListParticipantSessionsRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. Format:
+ * `conferenceRecords/{conference_record}/participants/{participant}`
+ * @type int $page_size
+ * Optional. Maximum number of participant sessions to return. The service
+ * might return fewer than this value. If unspecified, at most 100
+ * participants are returned. The maximum value is 250; values above 250 are
+ * coerced to 250. Maximum might change in the future.
+ * @type string $page_token
+ * Optional. Page token returned from previous List Call.
+ * @type string $filter
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `start_time`
+ * * `end_time`
+ * For example, `end_time IS NULL` returns active participant sessions in
+ * the conference record.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Format:
+ * `conferenceRecords/{conference_record}/participants/{participant}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. Format:
+ * `conferenceRecords/{conference_record}/participants/{participant}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Maximum number of participant sessions to return. The service
+ * might return fewer than this value. If unspecified, at most 100
+ * participants are returned. The maximum value is 250; values above 250 are
+ * coerced to 250. Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Optional. Maximum number of participant sessions to return. The service
+ * might return fewer than this value. If unspecified, at most 100
+ * participants are returned. The maximum value is 250; values above 250 are
+ * coerced to 250. Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Optional. Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `start_time`
+ * * `end_time`
+ * For example, `end_time IS NULL` returns active participant sessions in
+ * the conference record.
+ *
+ * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getFilter()
+ {
+ return $this->filter;
+ }
+
+ /**
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `start_time`
+ * * `end_time`
+ * For example, `end_time IS NULL` returns active participant sessions in
+ * the conference record.
+ *
+ * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setFilter($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->filter = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListParticipantSessionsResponse.php b/AppsMeet/src/V2beta/ListParticipantSessionsResponse.php
new file mode 100644
index 000000000000..4561df2354c2
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListParticipantSessionsResponse.php
@@ -0,0 +1,105 @@
+google.apps.meet.v2beta.ListParticipantSessionsResponse
+ */
+class ListParticipantSessionsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of participants in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.ParticipantSession participant_sessions = 1;
+ */
+ private $participant_sessions;
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the participants. Unset if all participants are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Apps\Meet\V2beta\ParticipantSession>|\Google\Protobuf\Internal\RepeatedField $participant_sessions
+ * List of participants in one page.
+ * @type string $next_page_token
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the participants. Unset if all participants are returned.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of participants in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.ParticipantSession participant_sessions = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getParticipantSessions()
+ {
+ return $this->participant_sessions;
+ }
+
+ /**
+ * List of participants in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.ParticipantSession participant_sessions = 1;
+ * @param array<\Google\Apps\Meet\V2beta\ParticipantSession>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setParticipantSessions($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Apps\Meet\V2beta\ParticipantSession::class);
+ $this->participant_sessions = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the participants. Unset if all participants are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the participants. Unset if all participants are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListParticipantsRequest.php b/AppsMeet/src/V2beta/ListParticipantsRequest.php
new file mode 100644
index 000000000000..61eebc810885
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListParticipantsRequest.php
@@ -0,0 +1,219 @@
+google.apps.meet.v2beta.ListParticipantsRequest
+ */
+class ListParticipantsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Format: `conferenceRecords/{conference_record}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Maximum number of participants to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 100 participants are returned.
+ * The maximum value is 250; values above 250 are coerced to 250.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ */
+ protected $page_size = 0;
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ */
+ protected $page_token = '';
+ /**
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `earliest_start_time`
+ * * `latest_end_time`
+ * For example, `latest_end_time IS NULL` returns active participants in
+ * the conference.
+ *
+ * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $filter = '';
+
+ /**
+ * @param string $parent Required. Format: `conferenceRecords/{conference_record}`
+ * Please see {@see ConferenceRecordsServiceClient::conferenceRecordName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\ListParticipantsRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. Format: `conferenceRecords/{conference_record}`
+ * @type int $page_size
+ * Maximum number of participants to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 100 participants are returned.
+ * The maximum value is 250; values above 250 are coerced to 250.
+ * Maximum might change in the future.
+ * @type string $page_token
+ * Page token returned from previous List Call.
+ * @type string $filter
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `earliest_start_time`
+ * * `latest_end_time`
+ * For example, `latest_end_time IS NULL` returns active participants in
+ * the conference.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Format: `conferenceRecords/{conference_record}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. Format: `conferenceRecords/{conference_record}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Maximum number of participants to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 100 participants are returned.
+ * The maximum value is 250; values above 250 are coerced to 250.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Maximum number of participants to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 100 participants are returned.
+ * The maximum value is 250; values above 250 are coerced to 250.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `earliest_start_time`
+ * * `latest_end_time`
+ * For example, `latest_end_time IS NULL` returns active participants in
+ * the conference.
+ *
+ * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @return string
+ */
+ public function getFilter()
+ {
+ return $this->filter;
+ }
+
+ /**
+ * Optional. User specified filtering condition in EBNF format. The following
+ * are the filterable fields:
+ * * `earliest_start_time`
+ * * `latest_end_time`
+ * For example, `latest_end_time IS NULL` returns active participants in
+ * the conference.
+ *
+ * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL];
+ * @param string $var
+ * @return $this
+ */
+ public function setFilter($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->filter = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListParticipantsResponse.php b/AppsMeet/src/V2beta/ListParticipantsResponse.php
new file mode 100644
index 000000000000..cfab92f942b2
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListParticipantsResponse.php
@@ -0,0 +1,151 @@
+google.apps.meet.v2beta.ListParticipantsResponse
+ */
+class ListParticipantsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of participants in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.Participant participants = 1;
+ */
+ private $participants;
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the participants. Unset if all participants are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+ /**
+ * Total, exact number of `participants`. By default, this field isn't
+ * included in the response. Set the field mask in
+ * [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters)
+ * to receive this field in the response.
+ *
+ * Generated from protobuf field int32 total_size = 3;
+ */
+ protected $total_size = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Apps\Meet\V2beta\Participant>|\Google\Protobuf\Internal\RepeatedField $participants
+ * List of participants in one page.
+ * @type string $next_page_token
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the participants. Unset if all participants are returned.
+ * @type int $total_size
+ * Total, exact number of `participants`. By default, this field isn't
+ * included in the response. Set the field mask in
+ * [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters)
+ * to receive this field in the response.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of participants in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.Participant participants = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getParticipants()
+ {
+ return $this->participants;
+ }
+
+ /**
+ * List of participants in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.Participant participants = 1;
+ * @param array<\Google\Apps\Meet\V2beta\Participant>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setParticipants($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Apps\Meet\V2beta\Participant::class);
+ $this->participants = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the participants. Unset if all participants are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the participants. Unset if all participants are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+ /**
+ * Total, exact number of `participants`. By default, this field isn't
+ * included in the response. Set the field mask in
+ * [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters)
+ * to receive this field in the response.
+ *
+ * Generated from protobuf field int32 total_size = 3;
+ * @return int
+ */
+ public function getTotalSize()
+ {
+ return $this->total_size;
+ }
+
+ /**
+ * Total, exact number of `participants`. By default, this field isn't
+ * included in the response. Set the field mask in
+ * [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters)
+ * to receive this field in the response.
+ *
+ * Generated from protobuf field int32 total_size = 3;
+ * @param int $var
+ * @return $this
+ */
+ public function setTotalSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->total_size = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListRecordingsRequest.php b/AppsMeet/src/V2beta/ListRecordingsRequest.php
new file mode 100644
index 000000000000..a25d3eed20bf
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListRecordingsRequest.php
@@ -0,0 +1,165 @@
+google.apps.meet.v2beta.ListRecordingsRequest
+ */
+class ListRecordingsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Format: `conferenceRecords/{conference_record}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Maximum number of recordings to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 10 recordings are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ */
+ protected $page_size = 0;
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ */
+ protected $page_token = '';
+
+ /**
+ * @param string $parent Required. Format: `conferenceRecords/{conference_record}`
+ * Please see {@see ConferenceRecordsServiceClient::conferenceRecordName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\ListRecordingsRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. Format: `conferenceRecords/{conference_record}`
+ * @type int $page_size
+ * Maximum number of recordings to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 10 recordings are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ * @type string $page_token
+ * Page token returned from previous List Call.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Format: `conferenceRecords/{conference_record}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. Format: `conferenceRecords/{conference_record}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Maximum number of recordings to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 10 recordings are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Maximum number of recordings to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 10 recordings are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListRecordingsResponse.php b/AppsMeet/src/V2beta/ListRecordingsResponse.php
new file mode 100644
index 000000000000..689d9b8ed60e
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListRecordingsResponse.php
@@ -0,0 +1,105 @@
+google.apps.meet.v2beta.ListRecordingsResponse
+ */
+class ListRecordingsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of recordings in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.Recording recordings = 1;
+ */
+ private $recordings;
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the recordings. Unset if all recordings are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Apps\Meet\V2beta\Recording>|\Google\Protobuf\Internal\RepeatedField $recordings
+ * List of recordings in one page.
+ * @type string $next_page_token
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the recordings. Unset if all recordings are returned.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of recordings in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.Recording recordings = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getRecordings()
+ {
+ return $this->recordings;
+ }
+
+ /**
+ * List of recordings in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.Recording recordings = 1;
+ * @param array<\Google\Apps\Meet\V2beta\Recording>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setRecordings($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Apps\Meet\V2beta\Recording::class);
+ $this->recordings = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the recordings. Unset if all recordings are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the recordings. Unset if all recordings are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListTranscriptEntriesRequest.php b/AppsMeet/src/V2beta/ListTranscriptEntriesRequest.php
new file mode 100644
index 000000000000..57f75c51e097
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListTranscriptEntriesRequest.php
@@ -0,0 +1,170 @@
+google.apps.meet.v2beta.ListTranscriptEntriesRequest
+ */
+class ListTranscriptEntriesRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Format:
+ * `conferenceRecords/{conference_record}/transcripts/{transcript}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Maximum number of entries to return. The service might return fewer than
+ * this value.
+ * If unspecified, at most 10 entries are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ */
+ protected $page_size = 0;
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ */
+ protected $page_token = '';
+
+ /**
+ * @param string $parent Required. Format:
+ * `conferenceRecords/{conference_record}/transcripts/{transcript}`
+ * Please see {@see ConferenceRecordsServiceClient::transcriptName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\ListTranscriptEntriesRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. Format:
+ * `conferenceRecords/{conference_record}/transcripts/{transcript}`
+ * @type int $page_size
+ * Maximum number of entries to return. The service might return fewer than
+ * this value.
+ * If unspecified, at most 10 entries are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ * @type string $page_token
+ * Page token returned from previous List Call.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Format:
+ * `conferenceRecords/{conference_record}/transcripts/{transcript}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. Format:
+ * `conferenceRecords/{conference_record}/transcripts/{transcript}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Maximum number of entries to return. The service might return fewer than
+ * this value.
+ * If unspecified, at most 10 entries are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Maximum number of entries to return. The service might return fewer than
+ * this value.
+ * If unspecified, at most 10 entries are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListTranscriptEntriesResponse.php b/AppsMeet/src/V2beta/ListTranscriptEntriesResponse.php
new file mode 100644
index 000000000000..531c014e9cbb
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListTranscriptEntriesResponse.php
@@ -0,0 +1,105 @@
+google.apps.meet.v2beta.ListTranscriptEntriesResponse
+ */
+class ListTranscriptEntriesResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of TranscriptEntries in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.TranscriptEntry transcript_entries = 1;
+ */
+ private $transcript_entries;
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the transcript entries. Unset if all entries are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Apps\Meet\V2beta\TranscriptEntry>|\Google\Protobuf\Internal\RepeatedField $transcript_entries
+ * List of TranscriptEntries in one page.
+ * @type string $next_page_token
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the transcript entries. Unset if all entries are returned.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of TranscriptEntries in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.TranscriptEntry transcript_entries = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getTranscriptEntries()
+ {
+ return $this->transcript_entries;
+ }
+
+ /**
+ * List of TranscriptEntries in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.TranscriptEntry transcript_entries = 1;
+ * @param array<\Google\Apps\Meet\V2beta\TranscriptEntry>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setTranscriptEntries($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Apps\Meet\V2beta\TranscriptEntry::class);
+ $this->transcript_entries = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the transcript entries. Unset if all entries are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the transcript entries. Unset if all entries are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListTranscriptsRequest.php b/AppsMeet/src/V2beta/ListTranscriptsRequest.php
new file mode 100644
index 000000000000..a327506e4e2d
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListTranscriptsRequest.php
@@ -0,0 +1,165 @@
+google.apps.meet.v2beta.ListTranscriptsRequest
+ */
+class ListTranscriptsRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Format: `conferenceRecords/{conference_record}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ */
+ protected $parent = '';
+ /**
+ * Maximum number of transcripts to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 10 transcripts are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ */
+ protected $page_size = 0;
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ */
+ protected $page_token = '';
+
+ /**
+ * @param string $parent Required. Format: `conferenceRecords/{conference_record}`
+ * Please see {@see ConferenceRecordsServiceClient::conferenceRecordName()} for help formatting this field.
+ *
+ * @return \Google\Apps\Meet\V2beta\ListTranscriptsRequest
+ *
+ * @experimental
+ */
+ public static function build(string $parent): self
+ {
+ return (new self())
+ ->setParent($parent);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $parent
+ * Required. Format: `conferenceRecords/{conference_record}`
+ * @type int $page_size
+ * Maximum number of transcripts to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 10 transcripts are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ * @type string $page_token
+ * Page token returned from previous List Call.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Format: `conferenceRecords/{conference_record}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParent()
+ {
+ return $this->parent;
+ }
+
+ /**
+ * Required. Format: `conferenceRecords/{conference_record}`
+ *
+ * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParent($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->parent = $var;
+
+ return $this;
+ }
+
+ /**
+ * Maximum number of transcripts to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 10 transcripts are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @return int
+ */
+ public function getPageSize()
+ {
+ return $this->page_size;
+ }
+
+ /**
+ * Maximum number of transcripts to return. The service might return fewer
+ * than this value.
+ * If unspecified, at most 10 transcripts are returned.
+ * The maximum value is 100; values above 100 are coerced to 100.
+ * Maximum might change in the future.
+ *
+ * Generated from protobuf field int32 page_size = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setPageSize($var)
+ {
+ GPBUtil::checkInt32($var);
+ $this->page_size = $var;
+
+ return $this;
+ }
+
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @return string
+ */
+ public function getPageToken()
+ {
+ return $this->page_token;
+ }
+
+ /**
+ * Page token returned from previous List Call.
+ *
+ * Generated from protobuf field string page_token = 3;
+ * @param string $var
+ * @return $this
+ */
+ public function setPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ListTranscriptsResponse.php b/AppsMeet/src/V2beta/ListTranscriptsResponse.php
new file mode 100644
index 000000000000..11207b008ab7
--- /dev/null
+++ b/AppsMeet/src/V2beta/ListTranscriptsResponse.php
@@ -0,0 +1,105 @@
+google.apps.meet.v2beta.ListTranscriptsResponse
+ */
+class ListTranscriptsResponse extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * List of transcripts in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.Transcript transcripts = 1;
+ */
+ private $transcripts;
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the transcripts. Unset if all transcripts are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ */
+ protected $next_page_token = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type array<\Google\Apps\Meet\V2beta\Transcript>|\Google\Protobuf\Internal\RepeatedField $transcripts
+ * List of transcripts in one page.
+ * @type string $next_page_token
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the transcripts. Unset if all transcripts are returned.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * List of transcripts in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.Transcript transcripts = 1;
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getTranscripts()
+ {
+ return $this->transcripts;
+ }
+
+ /**
+ * List of transcripts in one page.
+ *
+ * Generated from protobuf field repeated .google.apps.meet.v2beta.Transcript transcripts = 1;
+ * @param array<\Google\Apps\Meet\V2beta\Transcript>|\Google\Protobuf\Internal\RepeatedField $var
+ * @return $this
+ */
+ public function setTranscripts($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Apps\Meet\V2beta\Transcript::class);
+ $this->transcripts = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the transcripts. Unset if all transcripts are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @return string
+ */
+ public function getNextPageToken()
+ {
+ return $this->next_page_token;
+ }
+
+ /**
+ * Token to be circulated back for further List call if current List doesn't
+ * include all the transcripts. Unset if all transcripts are returned.
+ *
+ * Generated from protobuf field string next_page_token = 2;
+ * @param string $var
+ * @return $this
+ */
+ public function setNextPageToken($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->next_page_token = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/Participant.php b/AppsMeet/src/V2beta/Participant.php
new file mode 100644
index 000000000000..589a275ab2d8
--- /dev/null
+++ b/AppsMeet/src/V2beta/Participant.php
@@ -0,0 +1,276 @@
+google.apps.meet.v2beta.Participant
+ */
+class Participant extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. Resource name of the participant.
+ * Format: `conferenceRecords/{conference_record}/participants/{participant}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $name = '';
+ /**
+ * Output only. Time when the participant joined the meeting for the first
+ * time.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp earliest_start_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $earliest_start_time = null;
+ /**
+ * Output only. Time when the participant left the meeting for the last time.
+ * This can be null if it is an active meeting.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp latest_end_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $latest_end_time = null;
+ protected $user;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Apps\Meet\V2beta\SignedinUser $signedin_user
+ * Signed-in user.
+ * @type \Google\Apps\Meet\V2beta\AnonymousUser $anonymous_user
+ * Anonymous user.
+ * @type \Google\Apps\Meet\V2beta\PhoneUser $phone_user
+ * User who calls in from their phone.
+ * @type string $name
+ * Output only. Resource name of the participant.
+ * Format: `conferenceRecords/{conference_record}/participants/{participant}`
+ * @type \Google\Protobuf\Timestamp $earliest_start_time
+ * Output only. Time when the participant joined the meeting for the first
+ * time.
+ * @type \Google\Protobuf\Timestamp $latest_end_time
+ * Output only. Time when the participant left the meeting for the last time.
+ * This can be null if it is an active meeting.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Signed-in user.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SignedinUser signedin_user = 4;
+ * @return \Google\Apps\Meet\V2beta\SignedinUser|null
+ */
+ public function getSignedinUser()
+ {
+ return $this->readOneof(4);
+ }
+
+ public function hasSignedinUser()
+ {
+ return $this->hasOneof(4);
+ }
+
+ /**
+ * Signed-in user.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SignedinUser signedin_user = 4;
+ * @param \Google\Apps\Meet\V2beta\SignedinUser $var
+ * @return $this
+ */
+ public function setSignedinUser($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Apps\Meet\V2beta\SignedinUser::class);
+ $this->writeOneof(4, $var);
+
+ return $this;
+ }
+
+ /**
+ * Anonymous user.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.AnonymousUser anonymous_user = 5;
+ * @return \Google\Apps\Meet\V2beta\AnonymousUser|null
+ */
+ public function getAnonymousUser()
+ {
+ return $this->readOneof(5);
+ }
+
+ public function hasAnonymousUser()
+ {
+ return $this->hasOneof(5);
+ }
+
+ /**
+ * Anonymous user.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.AnonymousUser anonymous_user = 5;
+ * @param \Google\Apps\Meet\V2beta\AnonymousUser $var
+ * @return $this
+ */
+ public function setAnonymousUser($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Apps\Meet\V2beta\AnonymousUser::class);
+ $this->writeOneof(5, $var);
+
+ return $this;
+ }
+
+ /**
+ * User who calls in from their phone.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.PhoneUser phone_user = 6;
+ * @return \Google\Apps\Meet\V2beta\PhoneUser|null
+ */
+ public function getPhoneUser()
+ {
+ return $this->readOneof(6);
+ }
+
+ public function hasPhoneUser()
+ {
+ return $this->hasOneof(6);
+ }
+
+ /**
+ * User who calls in from their phone.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.PhoneUser phone_user = 6;
+ * @param \Google\Apps\Meet\V2beta\PhoneUser $var
+ * @return $this
+ */
+ public function setPhoneUser($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Apps\Meet\V2beta\PhoneUser::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Output only. Resource name of the participant.
+ * Format: `conferenceRecords/{conference_record}/participants/{participant}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Output only. Resource name of the participant.
+ * Format: `conferenceRecords/{conference_record}/participants/{participant}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Time when the participant joined the meeting for the first
+ * time.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp earliest_start_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getEarliestStartTime()
+ {
+ return $this->earliest_start_time;
+ }
+
+ public function hasEarliestStartTime()
+ {
+ return isset($this->earliest_start_time);
+ }
+
+ public function clearEarliestStartTime()
+ {
+ unset($this->earliest_start_time);
+ }
+
+ /**
+ * Output only. Time when the participant joined the meeting for the first
+ * time.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp earliest_start_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setEarliestStartTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->earliest_start_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Time when the participant left the meeting for the last time.
+ * This can be null if it is an active meeting.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp latest_end_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getLatestEndTime()
+ {
+ return $this->latest_end_time;
+ }
+
+ public function hasLatestEndTime()
+ {
+ return isset($this->latest_end_time);
+ }
+
+ public function clearLatestEndTime()
+ {
+ unset($this->latest_end_time);
+ }
+
+ /**
+ * Output only. Time when the participant left the meeting for the last time.
+ * This can be null if it is an active meeting.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp latest_end_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setLatestEndTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->latest_end_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getUser()
+ {
+ return $this->whichOneof("user");
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/ParticipantSession.php b/AppsMeet/src/V2beta/ParticipantSession.php
new file mode 100644
index 000000000000..9ae94bc46d97
--- /dev/null
+++ b/AppsMeet/src/V2beta/ParticipantSession.php
@@ -0,0 +1,164 @@
+google.apps.meet.v2beta.ParticipantSession
+ */
+class ParticipantSession extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Identifier. Session id.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ */
+ protected $name = '';
+ /**
+ * Output only. Timestamp when the user session started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $start_time = null;
+ /**
+ * Output only. Timestamp when the user session ended. Unset if the user
+ * session hasn’t ended.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $end_time = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Identifier. Session id.
+ * @type \Google\Protobuf\Timestamp $start_time
+ * Output only. Timestamp when the user session started.
+ * @type \Google\Protobuf\Timestamp $end_time
+ * Output only. Timestamp when the user session ended. Unset if the user
+ * session hasn’t ended.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Identifier. Session id.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Identifier. Session id.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Timestamp when the user session started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getStartTime()
+ {
+ return $this->start_time;
+ }
+
+ public function hasStartTime()
+ {
+ return isset($this->start_time);
+ }
+
+ public function clearStartTime()
+ {
+ unset($this->start_time);
+ }
+
+ /**
+ * Output only. Timestamp when the user session started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setStartTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->start_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Timestamp when the user session ended. Unset if the user
+ * session hasn’t ended.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getEndTime()
+ {
+ return $this->end_time;
+ }
+
+ public function hasEndTime()
+ {
+ return isset($this->end_time);
+ }
+
+ public function clearEndTime()
+ {
+ unset($this->end_time);
+ }
+
+ /**
+ * Output only. Timestamp when the user session ended. Unset if the user
+ * session hasn’t ended.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setEndTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->end_time = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/PhoneUser.php b/AppsMeet/src/V2beta/PhoneUser.php
new file mode 100644
index 000000000000..554406b285f5
--- /dev/null
+++ b/AppsMeet/src/V2beta/PhoneUser.php
@@ -0,0 +1,68 @@
+google.apps.meet.v2beta.PhoneUser
+ */
+class PhoneUser extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. Partially redacted user's phone number when they call in.
+ *
+ * Generated from protobuf field string display_name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $display_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $display_name
+ * Output only. Partially redacted user's phone number when they call in.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Output only. Partially redacted user's phone number when they call in.
+ *
+ * Generated from protobuf field string display_name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getDisplayName()
+ {
+ return $this->display_name;
+ }
+
+ /**
+ * Output only. Partially redacted user's phone number when they call in.
+ *
+ * Generated from protobuf field string display_name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setDisplayName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->display_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/Recording.php b/AppsMeet/src/V2beta/Recording.php
new file mode 100644
index 000000000000..d9d32f300c8b
--- /dev/null
+++ b/AppsMeet/src/V2beta/Recording.php
@@ -0,0 +1,250 @@
+google.apps.meet.v2beta.Recording
+ */
+class Recording extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. Resource name of the recording.
+ * Format: `conferenceRecords/{conference_record}/recordings/{recording}`
+ * where `{recording}` is a 1:1 mapping to each unique recording session
+ * during the conference.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $name = '';
+ /**
+ * Output only. Current state.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Recording.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $state = 0;
+ /**
+ * Output only. Timestamp when the recording started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $start_time = null;
+ /**
+ * Output only. Timestamp when the recording ended.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $end_time = null;
+ protected $destination;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Apps\Meet\V2beta\DriveDestination $drive_destination
+ * Output only. Recording is saved to Google Drive as an mp4 file. The
+ * `drive_destination` includes the Drive `fileId` that can be used to
+ * download the file using the `files.get` method of the Drive API.
+ * @type string $name
+ * Output only. Resource name of the recording.
+ * Format: `conferenceRecords/{conference_record}/recordings/{recording}`
+ * where `{recording}` is a 1:1 mapping to each unique recording session
+ * during the conference.
+ * @type int $state
+ * Output only. Current state.
+ * @type \Google\Protobuf\Timestamp $start_time
+ * Output only. Timestamp when the recording started.
+ * @type \Google\Protobuf\Timestamp $end_time
+ * Output only. Timestamp when the recording ended.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Output only. Recording is saved to Google Drive as an mp4 file. The
+ * `drive_destination` includes the Drive `fileId` that can be used to
+ * download the file using the `files.get` method of the Drive API.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.DriveDestination drive_destination = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Apps\Meet\V2beta\DriveDestination|null
+ */
+ public function getDriveDestination()
+ {
+ return $this->readOneof(6);
+ }
+
+ public function hasDriveDestination()
+ {
+ return $this->hasOneof(6);
+ }
+
+ /**
+ * Output only. Recording is saved to Google Drive as an mp4 file. The
+ * `drive_destination` includes the Drive `fileId` that can be used to
+ * download the file using the `files.get` method of the Drive API.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.DriveDestination drive_destination = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Apps\Meet\V2beta\DriveDestination $var
+ * @return $this
+ */
+ public function setDriveDestination($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Apps\Meet\V2beta\DriveDestination::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Output only. Resource name of the recording.
+ * Format: `conferenceRecords/{conference_record}/recordings/{recording}`
+ * where `{recording}` is a 1:1 mapping to each unique recording session
+ * during the conference.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Output only. Resource name of the recording.
+ * Format: `conferenceRecords/{conference_record}/recordings/{recording}`
+ * where `{recording}` is a 1:1 mapping to each unique recording session
+ * during the conference.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Current state.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Recording.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return int
+ */
+ public function getState()
+ {
+ return $this->state;
+ }
+
+ /**
+ * Output only. Current state.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Recording.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param int $var
+ * @return $this
+ */
+ public function setState($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Apps\Meet\V2beta\Recording\State::class);
+ $this->state = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Timestamp when the recording started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getStartTime()
+ {
+ return $this->start_time;
+ }
+
+ public function hasStartTime()
+ {
+ return isset($this->start_time);
+ }
+
+ public function clearStartTime()
+ {
+ unset($this->start_time);
+ }
+
+ /**
+ * Output only. Timestamp when the recording started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setStartTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->start_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Timestamp when the recording ended.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getEndTime()
+ {
+ return $this->end_time;
+ }
+
+ public function hasEndTime()
+ {
+ return isset($this->end_time);
+ }
+
+ public function clearEndTime()
+ {
+ unset($this->end_time);
+ }
+
+ /**
+ * Output only. Timestamp when the recording ended.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setEndTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->end_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getDestination()
+ {
+ return $this->whichOneof("destination");
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/Recording/State.php b/AppsMeet/src/V2beta/Recording/State.php
new file mode 100644
index 000000000000..f3ce197ee6c7
--- /dev/null
+++ b/AppsMeet/src/V2beta/Recording/State.php
@@ -0,0 +1,70 @@
+google.apps.meet.v2beta.Recording.State
+ */
+class State
+{
+ /**
+ * Default, never used.
+ *
+ * Generated from protobuf enum STATE_UNSPECIFIED = 0;
+ */
+ const STATE_UNSPECIFIED = 0;
+ /**
+ * An active recording session has started.
+ *
+ * Generated from protobuf enum STARTED = 1;
+ */
+ const STARTED = 1;
+ /**
+ * This recording session has ended, but the recording file hasn't been
+ * generated yet.
+ *
+ * Generated from protobuf enum ENDED = 2;
+ */
+ const ENDED = 2;
+ /**
+ * Recording file is generated and ready to download.
+ *
+ * Generated from protobuf enum FILE_GENERATED = 3;
+ */
+ const FILE_GENERATED = 3;
+
+ private static $valueToName = [
+ self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED',
+ self::STARTED => 'STARTED',
+ self::ENDED => 'ENDED',
+ self::FILE_GENERATED => 'FILE_GENERATED',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+
diff --git a/AppsMeet/src/V2beta/SignedinUser.php b/AppsMeet/src/V2beta/SignedinUser.php
new file mode 100644
index 000000000000..ab1ecb01bcd8
--- /dev/null
+++ b/AppsMeet/src/V2beta/SignedinUser.php
@@ -0,0 +1,116 @@
+google.apps.meet.v2beta.SignedinUser
+ */
+class SignedinUser extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. Unique ID for the user. Interoperable with Admin SDK API and
+ * People API. Format: `users/{user}`
+ *
+ * Generated from protobuf field string user = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $user = '';
+ /**
+ * Output only. For a personal device, it's the user's first and last name.
+ * For a robot account, it's the admin specified device name. For example,
+ * "Altostrat Room".
+ *
+ * Generated from protobuf field string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $display_name = '';
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $user
+ * Output only. Unique ID for the user. Interoperable with Admin SDK API and
+ * People API. Format: `users/{user}`
+ * @type string $display_name
+ * Output only. For a personal device, it's the user's first and last name.
+ * For a robot account, it's the admin specified device name. For example,
+ * "Altostrat Room".
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Output only. Unique ID for the user. Interoperable with Admin SDK API and
+ * People API. Format: `users/{user}`
+ *
+ * Generated from protobuf field string user = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getUser()
+ {
+ return $this->user;
+ }
+
+ /**
+ * Output only. Unique ID for the user. Interoperable with Admin SDK API and
+ * People API. Format: `users/{user}`
+ *
+ * Generated from protobuf field string user = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setUser($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->user = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. For a personal device, it's the user's first and last name.
+ * For a robot account, it's the admin specified device name. For example,
+ * "Altostrat Room".
+ *
+ * Generated from protobuf field string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getDisplayName()
+ {
+ return $this->display_name;
+ }
+
+ /**
+ * Output only. For a personal device, it's the user's first and last name.
+ * For a robot account, it's the admin specified device name. For example,
+ * "Altostrat Room".
+ *
+ * Generated from protobuf field string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setDisplayName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->display_name = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/Space.php b/AppsMeet/src/V2beta/Space.php
new file mode 100644
index 000000000000..f5a2f58100ad
--- /dev/null
+++ b/AppsMeet/src/V2beta/Space.php
@@ -0,0 +1,241 @@
+google.apps.meet.v2beta.Space
+ */
+class Space extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Immutable. Resource name of the space.
+ * Format: `spaces/{space}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
+ */
+ protected $name = '';
+ /**
+ * Output only. URI used to join meeting, such as
+ * `https://meet.google.com/abc-mnop-xyz`.
+ *
+ * Generated from protobuf field string meeting_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $meeting_uri = '';
+ /**
+ * Output only. Type friendly code to join the meeting. Format:
+ * `[a-z]+-[a-z]+-[a-z]+` such as `abc-mnop-xyz`. The maximum length is 128
+ * characters. Can ONLY be used as alias of the space ID to get the space.
+ *
+ * Generated from protobuf field string meeting_code = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $meeting_code = '';
+ /**
+ * Configuration pertaining to the meeting space.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SpaceConfig config = 5;
+ */
+ protected $config = null;
+ /**
+ * Active conference if it exists.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.ActiveConference active_conference = 6;
+ */
+ protected $active_conference = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Immutable. Resource name of the space.
+ * Format: `spaces/{space}`
+ * @type string $meeting_uri
+ * Output only. URI used to join meeting, such as
+ * `https://meet.google.com/abc-mnop-xyz`.
+ * @type string $meeting_code
+ * Output only. Type friendly code to join the meeting. Format:
+ * `[a-z]+-[a-z]+-[a-z]+` such as `abc-mnop-xyz`. The maximum length is 128
+ * characters. Can ONLY be used as alias of the space ID to get the space.
+ * @type \Google\Apps\Meet\V2beta\SpaceConfig $config
+ * Configuration pertaining to the meeting space.
+ * @type \Google\Apps\Meet\V2beta\ActiveConference $active_conference
+ * Active conference if it exists.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Immutable. Resource name of the space.
+ * Format: `spaces/{space}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Immutable. Resource name of the space.
+ * Format: `spaces/{space}`
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IMMUTABLE];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. URI used to join meeting, such as
+ * `https://meet.google.com/abc-mnop-xyz`.
+ *
+ * Generated from protobuf field string meeting_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getMeetingUri()
+ {
+ return $this->meeting_uri;
+ }
+
+ /**
+ * Output only. URI used to join meeting, such as
+ * `https://meet.google.com/abc-mnop-xyz`.
+ *
+ * Generated from protobuf field string meeting_uri = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setMeetingUri($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->meeting_uri = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Type friendly code to join the meeting. Format:
+ * `[a-z]+-[a-z]+-[a-z]+` such as `abc-mnop-xyz`. The maximum length is 128
+ * characters. Can ONLY be used as alias of the space ID to get the space.
+ *
+ * Generated from protobuf field string meeting_code = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getMeetingCode()
+ {
+ return $this->meeting_code;
+ }
+
+ /**
+ * Output only. Type friendly code to join the meeting. Format:
+ * `[a-z]+-[a-z]+-[a-z]+` such as `abc-mnop-xyz`. The maximum length is 128
+ * characters. Can ONLY be used as alias of the space ID to get the space.
+ *
+ * Generated from protobuf field string meeting_code = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setMeetingCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->meeting_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Configuration pertaining to the meeting space.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SpaceConfig config = 5;
+ * @return \Google\Apps\Meet\V2beta\SpaceConfig|null
+ */
+ public function getConfig()
+ {
+ return $this->config;
+ }
+
+ public function hasConfig()
+ {
+ return isset($this->config);
+ }
+
+ public function clearConfig()
+ {
+ unset($this->config);
+ }
+
+ /**
+ * Configuration pertaining to the meeting space.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SpaceConfig config = 5;
+ * @param \Google\Apps\Meet\V2beta\SpaceConfig $var
+ * @return $this
+ */
+ public function setConfig($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Apps\Meet\V2beta\SpaceConfig::class);
+ $this->config = $var;
+
+ return $this;
+ }
+
+ /**
+ * Active conference if it exists.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.ActiveConference active_conference = 6;
+ * @return \Google\Apps\Meet\V2beta\ActiveConference|null
+ */
+ public function getActiveConference()
+ {
+ return $this->active_conference;
+ }
+
+ public function hasActiveConference()
+ {
+ return isset($this->active_conference);
+ }
+
+ public function clearActiveConference()
+ {
+ unset($this->active_conference);
+ }
+
+ /**
+ * Active conference if it exists.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.ActiveConference active_conference = 6;
+ * @param \Google\Apps\Meet\V2beta\ActiveConference $var
+ * @return $this
+ */
+ public function setActiveConference($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Apps\Meet\V2beta\ActiveConference::class);
+ $this->active_conference = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/SpaceConfig.php b/AppsMeet/src/V2beta/SpaceConfig.php
new file mode 100644
index 000000000000..df3802d536c7
--- /dev/null
+++ b/AppsMeet/src/V2beta/SpaceConfig.php
@@ -0,0 +1,117 @@
+google.apps.meet.v2beta.SpaceConfig
+ */
+class SpaceConfig extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Access type of the meeting space that determines who can join without
+ * knocking. Default: The user's default access settings. Controlled by the
+ * user's admin for enterprise users or RESTRICTED.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SpaceConfig.AccessType access_type = 1;
+ */
+ protected $access_type = 0;
+ /**
+ * Defines the entry points that can be used to join meetings hosted in this
+ * meeting space.
+ * Default: EntryPointAccess.ALL
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SpaceConfig.EntryPointAccess entry_point_access = 2;
+ */
+ protected $entry_point_access = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type int $access_type
+ * Access type of the meeting space that determines who can join without
+ * knocking. Default: The user's default access settings. Controlled by the
+ * user's admin for enterprise users or RESTRICTED.
+ * @type int $entry_point_access
+ * Defines the entry points that can be used to join meetings hosted in this
+ * meeting space.
+ * Default: EntryPointAccess.ALL
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Access type of the meeting space that determines who can join without
+ * knocking. Default: The user's default access settings. Controlled by the
+ * user's admin for enterprise users or RESTRICTED.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SpaceConfig.AccessType access_type = 1;
+ * @return int
+ */
+ public function getAccessType()
+ {
+ return $this->access_type;
+ }
+
+ /**
+ * Access type of the meeting space that determines who can join without
+ * knocking. Default: The user's default access settings. Controlled by the
+ * user's admin for enterprise users or RESTRICTED.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SpaceConfig.AccessType access_type = 1;
+ * @param int $var
+ * @return $this
+ */
+ public function setAccessType($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Apps\Meet\V2beta\SpaceConfig\AccessType::class);
+ $this->access_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Defines the entry points that can be used to join meetings hosted in this
+ * meeting space.
+ * Default: EntryPointAccess.ALL
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SpaceConfig.EntryPointAccess entry_point_access = 2;
+ * @return int
+ */
+ public function getEntryPointAccess()
+ {
+ return $this->entry_point_access;
+ }
+
+ /**
+ * Defines the entry points that can be used to join meetings hosted in this
+ * meeting space.
+ * Default: EntryPointAccess.ALL
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.SpaceConfig.EntryPointAccess entry_point_access = 2;
+ * @param int $var
+ * @return $this
+ */
+ public function setEntryPointAccess($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Apps\Meet\V2beta\SpaceConfig\EntryPointAccess::class);
+ $this->entry_point_access = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/SpaceConfig/AccessType.php b/AppsMeet/src/V2beta/SpaceConfig/AccessType.php
new file mode 100644
index 000000000000..fbcde8a4ac86
--- /dev/null
+++ b/AppsMeet/src/V2beta/SpaceConfig/AccessType.php
@@ -0,0 +1,73 @@
+google.apps.meet.v2beta.SpaceConfig.AccessType
+ */
+class AccessType
+{
+ /**
+ * Default value specified by the user's organization.
+ * Note: This is never returned, as the configured access type is
+ * returned instead.
+ *
+ * Generated from protobuf enum ACCESS_TYPE_UNSPECIFIED = 0;
+ */
+ const ACCESS_TYPE_UNSPECIFIED = 0;
+ /**
+ * Anyone with the join information (for example, the URL or phone access
+ * information) can join without knocking.
+ *
+ * Generated from protobuf enum OPEN = 1;
+ */
+ const OPEN = 1;
+ /**
+ * Members of the host's organization, invited external users, and dial-in
+ * users can join without knocking. Everyone else must knock.
+ *
+ * Generated from protobuf enum TRUSTED = 2;
+ */
+ const TRUSTED = 2;
+ /**
+ * Only invitees can join without knocking. Everyone else must knock.
+ *
+ * Generated from protobuf enum RESTRICTED = 3;
+ */
+ const RESTRICTED = 3;
+
+ private static $valueToName = [
+ self::ACCESS_TYPE_UNSPECIFIED => 'ACCESS_TYPE_UNSPECIFIED',
+ self::OPEN => 'OPEN',
+ self::TRUSTED => 'TRUSTED',
+ self::RESTRICTED => 'RESTRICTED',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+
diff --git a/AppsMeet/src/V2beta/SpaceConfig/EntryPointAccess.php b/AppsMeet/src/V2beta/SpaceConfig/EntryPointAccess.php
new file mode 100644
index 000000000000..82c5ec7599d7
--- /dev/null
+++ b/AppsMeet/src/V2beta/SpaceConfig/EntryPointAccess.php
@@ -0,0 +1,65 @@
+google.apps.meet.v2beta.SpaceConfig.EntryPointAccess
+ */
+class EntryPointAccess
+{
+ /**
+ * Unused.
+ *
+ * Generated from protobuf enum ENTRY_POINT_ACCESS_UNSPECIFIED = 0;
+ */
+ const ENTRY_POINT_ACCESS_UNSPECIFIED = 0;
+ /**
+ * All entry points are allowed.
+ *
+ * Generated from protobuf enum ALL = 1;
+ */
+ const ALL = 1;
+ /**
+ * Only entry points owned by the Google Cloud project that created the
+ * space can be used to join meetings in this space. Apps can use the Embed
+ * SDK Web or mobile Meet SDKs to create owned entry points.
+ *
+ * Generated from protobuf enum CREATOR_APP_ONLY = 2;
+ */
+ const CREATOR_APP_ONLY = 2;
+
+ private static $valueToName = [
+ self::ENTRY_POINT_ACCESS_UNSPECIFIED => 'ENTRY_POINT_ACCESS_UNSPECIFIED',
+ self::ALL => 'ALL',
+ self::CREATOR_APP_ONLY => 'CREATOR_APP_ONLY',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+
diff --git a/AppsMeet/src/V2beta/Transcript.php b/AppsMeet/src/V2beta/Transcript.php
new file mode 100644
index 000000000000..341decf21fc5
--- /dev/null
+++ b/AppsMeet/src/V2beta/Transcript.php
@@ -0,0 +1,245 @@
+google.apps.meet.v2beta.Transcript
+ */
+class Transcript extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. Resource name of the transcript.
+ * Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`,
+ * where `{transcript}` is a 1:1 mapping to each unique transcription session
+ * of the conference.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $name = '';
+ /**
+ * Output only. Current state.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Transcript.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $state = 0;
+ /**
+ * Output only. Timestamp when the transcript started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $start_time = null;
+ /**
+ * Output only. Timestamp when the transcript stopped.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $end_time = null;
+ protected $destination;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Apps\Meet\V2beta\DocsDestination $docs_destination
+ * Output only. Where the Google Docs transcript is saved.
+ * @type string $name
+ * Output only. Resource name of the transcript.
+ * Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`,
+ * where `{transcript}` is a 1:1 mapping to each unique transcription session
+ * of the conference.
+ * @type int $state
+ * Output only. Current state.
+ * @type \Google\Protobuf\Timestamp $start_time
+ * Output only. Timestamp when the transcript started.
+ * @type \Google\Protobuf\Timestamp $end_time
+ * Output only. Timestamp when the transcript stopped.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Output only. Where the Google Docs transcript is saved.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.DocsDestination docs_destination = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Apps\Meet\V2beta\DocsDestination|null
+ */
+ public function getDocsDestination()
+ {
+ return $this->readOneof(6);
+ }
+
+ public function hasDocsDestination()
+ {
+ return $this->hasOneof(6);
+ }
+
+ /**
+ * Output only. Where the Google Docs transcript is saved.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.DocsDestination docs_destination = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Apps\Meet\V2beta\DocsDestination $var
+ * @return $this
+ */
+ public function setDocsDestination($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Apps\Meet\V2beta\DocsDestination::class);
+ $this->writeOneof(6, $var);
+
+ return $this;
+ }
+
+ /**
+ * Output only. Resource name of the transcript.
+ * Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`,
+ * where `{transcript}` is a 1:1 mapping to each unique transcription session
+ * of the conference.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Output only. Resource name of the transcript.
+ * Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`,
+ * where `{transcript}` is a 1:1 mapping to each unique transcription session
+ * of the conference.
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Current state.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Transcript.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return int
+ */
+ public function getState()
+ {
+ return $this->state;
+ }
+
+ /**
+ * Output only. Current state.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Transcript.State state = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param int $var
+ * @return $this
+ */
+ public function setState($var)
+ {
+ GPBUtil::checkEnum($var, \Google\Apps\Meet\V2beta\Transcript\State::class);
+ $this->state = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Timestamp when the transcript started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getStartTime()
+ {
+ return $this->start_time;
+ }
+
+ public function hasStartTime()
+ {
+ return isset($this->start_time);
+ }
+
+ public function clearStartTime()
+ {
+ unset($this->start_time);
+ }
+
+ /**
+ * Output only. Timestamp when the transcript started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setStartTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->start_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Timestamp when the transcript stopped.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getEndTime()
+ {
+ return $this->end_time;
+ }
+
+ public function hasEndTime()
+ {
+ return isset($this->end_time);
+ }
+
+ public function clearEndTime()
+ {
+ unset($this->end_time);
+ }
+
+ /**
+ * Output only. Timestamp when the transcript stopped.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setEndTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->end_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getDestination()
+ {
+ return $this->whichOneof("destination");
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/Transcript/State.php b/AppsMeet/src/V2beta/Transcript/State.php
new file mode 100644
index 000000000000..621442a2a499
--- /dev/null
+++ b/AppsMeet/src/V2beta/Transcript/State.php
@@ -0,0 +1,70 @@
+google.apps.meet.v2beta.Transcript.State
+ */
+class State
+{
+ /**
+ * Default, never used.
+ *
+ * Generated from protobuf enum STATE_UNSPECIFIED = 0;
+ */
+ const STATE_UNSPECIFIED = 0;
+ /**
+ * An active transcript session has started.
+ *
+ * Generated from protobuf enum STARTED = 1;
+ */
+ const STARTED = 1;
+ /**
+ * This transcript session has ended, but the transcript file hasn't been
+ * generated yet.
+ *
+ * Generated from protobuf enum ENDED = 2;
+ */
+ const ENDED = 2;
+ /**
+ * Transcript file is generated and ready to download.
+ *
+ * Generated from protobuf enum FILE_GENERATED = 3;
+ */
+ const FILE_GENERATED = 3;
+
+ private static $valueToName = [
+ self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED',
+ self::STARTED => 'STARTED',
+ self::ENDED => 'ENDED',
+ self::FILE_GENERATED => 'FILE_GENERATED',
+ ];
+
+ public static function name($value)
+ {
+ if (!isset(self::$valueToName[$value])) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no name defined for value %s', __CLASS__, $value));
+ }
+ return self::$valueToName[$value];
+ }
+
+
+ public static function value($name)
+ {
+ $const = __CLASS__ . '::' . strtoupper($name);
+ if (!defined($const)) {
+ throw new UnexpectedValueException(sprintf(
+ 'Enum %s has no value defined for name %s', __CLASS__, $name));
+ }
+ return constant($const);
+ }
+}
+
+
diff --git a/AppsMeet/src/V2beta/TranscriptEntry.php b/AppsMeet/src/V2beta/TranscriptEntry.php
new file mode 100644
index 000000000000..9e12ec9d348b
--- /dev/null
+++ b/AppsMeet/src/V2beta/TranscriptEntry.php
@@ -0,0 +1,270 @@
+google.apps.meet.v2beta.TranscriptEntry
+ */
+class TranscriptEntry extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Output only. Resource name of the entry. Format:
+ * "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}"
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $name = '';
+ /**
+ * Output only. Refer to the participant who speaks.
+ *
+ * Generated from protobuf field string participant = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {
+ */
+ protected $participant = '';
+ /**
+ * Output only. The transcribed text of the participant's voice, at maximum
+ * 10K words. Note that the limit is subject to change.
+ *
+ * Generated from protobuf field string text = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $text = '';
+ /**
+ * Output only. Language of spoken text, such as "en-US".
+ * IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47)
+ *
+ * Generated from protobuf field string language_code = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $language_code = '';
+ /**
+ * Output only. Timestamp when the transcript entry started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $start_time = null;
+ /**
+ * Output only. Timestamp when the transcript entry ended.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ */
+ protected $end_time = null;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type string $name
+ * Output only. Resource name of the entry. Format:
+ * "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}"
+ * @type string $participant
+ * Output only. Refer to the participant who speaks.
+ * @type string $text
+ * Output only. The transcribed text of the participant's voice, at maximum
+ * 10K words. Note that the limit is subject to change.
+ * @type string $language_code
+ * Output only. Language of spoken text, such as "en-US".
+ * IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47)
+ * @type \Google\Protobuf\Timestamp $start_time
+ * Output only. Timestamp when the transcript entry started.
+ * @type \Google\Protobuf\Timestamp $end_time
+ * Output only. Timestamp when the transcript entry ended.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Resource::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Output only. Resource name of the entry. Format:
+ * "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}"
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Output only. Resource name of the entry. Format:
+ * "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}"
+ *
+ * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setName($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->name = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Refer to the participant who speaks.
+ *
+ * Generated from protobuf field string participant = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {
+ * @return string
+ */
+ public function getParticipant()
+ {
+ return $this->participant;
+ }
+
+ /**
+ * Output only. Refer to the participant who speaks.
+ *
+ * Generated from protobuf field string participant = 2 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = {
+ * @param string $var
+ * @return $this
+ */
+ public function setParticipant($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->participant = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. The transcribed text of the participant's voice, at maximum
+ * 10K words. Note that the limit is subject to change.
+ *
+ * Generated from protobuf field string text = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getText()
+ {
+ return $this->text;
+ }
+
+ /**
+ * Output only. The transcribed text of the participant's voice, at maximum
+ * 10K words. Note that the limit is subject to change.
+ *
+ * Generated from protobuf field string text = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setText($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->text = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Language of spoken text, such as "en-US".
+ * IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47)
+ *
+ * Generated from protobuf field string language_code = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return string
+ */
+ public function getLanguageCode()
+ {
+ return $this->language_code;
+ }
+
+ /**
+ * Output only. Language of spoken text, such as "en-US".
+ * IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47)
+ *
+ * Generated from protobuf field string language_code = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param string $var
+ * @return $this
+ */
+ public function setLanguageCode($var)
+ {
+ GPBUtil::checkString($var, True);
+ $this->language_code = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Timestamp when the transcript entry started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getStartTime()
+ {
+ return $this->start_time;
+ }
+
+ public function hasStartTime()
+ {
+ return isset($this->start_time);
+ }
+
+ public function clearStartTime()
+ {
+ unset($this->start_time);
+ }
+
+ /**
+ * Output only. Timestamp when the transcript entry started.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp start_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setStartTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->start_time = $var;
+
+ return $this;
+ }
+
+ /**
+ * Output only. Timestamp when the transcript entry ended.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @return \Google\Protobuf\Timestamp|null
+ */
+ public function getEndTime()
+ {
+ return $this->end_time;
+ }
+
+ public function hasEndTime()
+ {
+ return isset($this->end_time);
+ }
+
+ public function clearEndTime()
+ {
+ unset($this->end_time);
+ }
+
+ /**
+ * Output only. Timestamp when the transcript entry ended.
+ *
+ * Generated from protobuf field .google.protobuf.Timestamp end_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ * @param \Google\Protobuf\Timestamp $var
+ * @return $this
+ */
+ public function setEndTime($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
+ $this->end_time = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/UpdateSpaceRequest.php b/AppsMeet/src/V2beta/UpdateSpaceRequest.php
new file mode 100644
index 000000000000..c476b7de71a0
--- /dev/null
+++ b/AppsMeet/src/V2beta/UpdateSpaceRequest.php
@@ -0,0 +1,151 @@
+google.apps.meet.v2beta.UpdateSpaceRequest
+ */
+class UpdateSpaceRequest extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Required. Space to be updated.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Space space = 1 [(.google.api.field_behavior) = REQUIRED];
+ */
+ protected $space = null;
+ /**
+ * Optional. Field mask used to specify the fields to be updated in the space.
+ * If update_mask isn't provided, it defaults to '*' and updates all
+ * fields provided in the request, including deleting fields not set in the
+ * request.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ */
+ protected $update_mask = null;
+
+ /**
+ * @param \Google\Apps\Meet\V2beta\Space $space Required. Space to be updated.
+ * @param \Google\Protobuf\FieldMask $updateMask Optional. Field mask used to specify the fields to be updated in the space.
+ * If update_mask isn't provided, it defaults to '*' and updates all
+ * fields provided in the request, including deleting fields not set in the
+ * request.
+ *
+ * @return \Google\Apps\Meet\V2beta\UpdateSpaceRequest
+ *
+ * @experimental
+ */
+ public static function build(\Google\Apps\Meet\V2beta\Space $space, \Google\Protobuf\FieldMask $updateMask): self
+ {
+ return (new self())
+ ->setSpace($space)
+ ->setUpdateMask($updateMask);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @type \Google\Apps\Meet\V2beta\Space $space
+ * Required. Space to be updated.
+ * @type \Google\Protobuf\FieldMask $update_mask
+ * Optional. Field mask used to specify the fields to be updated in the space.
+ * If update_mask isn't provided, it defaults to '*' and updates all
+ * fields provided in the request, including deleting fields not set in the
+ * request.
+ * }
+ */
+ public function __construct($data = NULL) {
+ \GPBMetadata\Google\Apps\Meet\V2Beta\Service::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Required. Space to be updated.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Space space = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @return \Google\Apps\Meet\V2beta\Space|null
+ */
+ public function getSpace()
+ {
+ return $this->space;
+ }
+
+ public function hasSpace()
+ {
+ return isset($this->space);
+ }
+
+ public function clearSpace()
+ {
+ unset($this->space);
+ }
+
+ /**
+ * Required. Space to be updated.
+ *
+ * Generated from protobuf field .google.apps.meet.v2beta.Space space = 1 [(.google.api.field_behavior) = REQUIRED];
+ * @param \Google\Apps\Meet\V2beta\Space $var
+ * @return $this
+ */
+ public function setSpace($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Apps\Meet\V2beta\Space::class);
+ $this->space = $var;
+
+ return $this;
+ }
+
+ /**
+ * Optional. Field mask used to specify the fields to be updated in the space.
+ * If update_mask isn't provided, it defaults to '*' and updates all
+ * fields provided in the request, including deleting fields not set in the
+ * request.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @return \Google\Protobuf\FieldMask|null
+ */
+ public function getUpdateMask()
+ {
+ return $this->update_mask;
+ }
+
+ public function hasUpdateMask()
+ {
+ return isset($this->update_mask);
+ }
+
+ public function clearUpdateMask()
+ {
+ unset($this->update_mask);
+ }
+
+ /**
+ * Optional. Field mask used to specify the fields to be updated in the space.
+ * If update_mask isn't provided, it defaults to '*' and updates all
+ * fields provided in the request, including deleting fields not set in the
+ * request.
+ *
+ * Generated from protobuf field .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ * @param \Google\Protobuf\FieldMask $var
+ * @return $this
+ */
+ public function setUpdateMask($var)
+ {
+ GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class);
+ $this->update_mask = $var;
+
+ return $this;
+ }
+
+}
+
diff --git a/AppsMeet/src/V2beta/gapic_metadata.json b/AppsMeet/src/V2beta/gapic_metadata.json
new file mode 100644
index 000000000000..1639811d817f
--- /dev/null
+++ b/AppsMeet/src/V2beta/gapic_metadata.json
@@ -0,0 +1,107 @@
+{
+ "schema": "1.0",
+ "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods",
+ "language": "php",
+ "protoPackage": "google.apps.meet.v2beta",
+ "libraryPackage": "Google\\Apps\\Meet\\V2beta",
+ "services": {
+ "SpacesService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "SpacesServiceGapicClient",
+ "rpcs": {
+ "CreateSpace": {
+ "methods": [
+ "createSpace"
+ ]
+ },
+ "EndActiveConference": {
+ "methods": [
+ "endActiveConference"
+ ]
+ },
+ "GetSpace": {
+ "methods": [
+ "getSpace"
+ ]
+ },
+ "UpdateSpace": {
+ "methods": [
+ "updateSpace"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "ConferenceRecordsService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "ConferenceRecordsServiceGapicClient",
+ "rpcs": {
+ "GetConferenceRecord": {
+ "methods": [
+ "getConferenceRecord"
+ ]
+ },
+ "GetParticipant": {
+ "methods": [
+ "getParticipant"
+ ]
+ },
+ "GetParticipantSession": {
+ "methods": [
+ "getParticipantSession"
+ ]
+ },
+ "GetRecording": {
+ "methods": [
+ "getRecording"
+ ]
+ },
+ "GetTranscript": {
+ "methods": [
+ "getTranscript"
+ ]
+ },
+ "GetTranscriptEntry": {
+ "methods": [
+ "getTranscriptEntry"
+ ]
+ },
+ "ListConferenceRecords": {
+ "methods": [
+ "listConferenceRecords"
+ ]
+ },
+ "ListParticipantSessions": {
+ "methods": [
+ "listParticipantSessions"
+ ]
+ },
+ "ListParticipants": {
+ "methods": [
+ "listParticipants"
+ ]
+ },
+ "ListRecordings": {
+ "methods": [
+ "listRecordings"
+ ]
+ },
+ "ListTranscriptEntries": {
+ "methods": [
+ "listTranscriptEntries"
+ ]
+ },
+ "ListTranscripts": {
+ "methods": [
+ "listTranscripts"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/AppsMeet/src/V2beta/resources/conference_records_service_client_config.json b/AppsMeet/src/V2beta/resources/conference_records_service_client_config.json
new file mode 100644
index 000000000000..110fa3f68293
--- /dev/null
+++ b/AppsMeet/src/V2beta/resources/conference_records_service_client_config.json
@@ -0,0 +1,94 @@
+{
+ "interfaces": {
+ "google.apps.meet.v2beta.ConferenceRecordsService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "GetConferenceRecord": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetParticipant": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetParticipantSession": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetRecording": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetTranscript": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "GetTranscriptEntry": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListConferenceRecords": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListParticipantSessions": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListParticipants": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListRecordings": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListTranscriptEntries": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "ListTranscripts": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/AppsMeet/src/V2beta/resources/conference_records_service_descriptor_config.php b/AppsMeet/src/V2beta/resources/conference_records_service_descriptor_config.php
new file mode 100644
index 000000000000..2ebd332b7f53
--- /dev/null
+++ b/AppsMeet/src/V2beta/resources/conference_records_service_descriptor_config.php
@@ -0,0 +1,200 @@
+ [
+ 'google.apps.meet.v2beta.ConferenceRecordsService' => [
+ 'GetConferenceRecord' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\ConferenceRecord',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetParticipant' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\Participant',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetParticipantSession' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\ParticipantSession',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetRecording' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\Recording',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetTranscript' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\Transcript',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetTranscriptEntry' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\TranscriptEntry',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListConferenceRecords' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getConferenceRecords',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\ListConferenceRecordsResponse',
+ ],
+ 'ListParticipantSessions' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getParticipantSessions',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\ListParticipantSessionsResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'ListParticipants' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getParticipants',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\ListParticipantsResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'ListRecordings' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getRecordings',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\ListRecordingsResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'ListTranscriptEntries' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getTranscriptEntries',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\ListTranscriptEntriesResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'ListTranscripts' => [
+ 'pageStreaming' => [
+ 'requestPageTokenGetMethod' => 'getPageToken',
+ 'requestPageTokenSetMethod' => 'setPageToken',
+ 'requestPageSizeGetMethod' => 'getPageSize',
+ 'requestPageSizeSetMethod' => 'setPageSize',
+ 'responsePageTokenGetMethod' => 'getNextPageToken',
+ 'resourcesGetMethod' => 'getTranscripts',
+ ],
+ 'callType' => \Google\ApiCore\Call::PAGINATED_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\ListTranscriptsResponse',
+ 'headerParams' => [
+ [
+ 'keyName' => 'parent',
+ 'fieldAccessors' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'conferenceRecord' => 'conferenceRecords/{conference_record}',
+ 'participant' => 'conferenceRecords/{conference_record}/participants/{participant}',
+ 'participantSession' => 'conferenceRecords/{conference_record}/participants/{participant}/participantSessions/{participant_session}',
+ 'recording' => 'conferenceRecords/{conference_record}/recordings/{recording}',
+ 'transcript' => 'conferenceRecords/{conference_record}/transcripts/{transcript}',
+ 'transcriptEntry' => 'conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}',
+ ],
+ ],
+ ],
+];
diff --git a/AppsMeet/src/V2beta/resources/conference_records_service_rest_client_config.php b/AppsMeet/src/V2beta/resources/conference_records_service_rest_client_config.php
new file mode 100644
index 000000000000..a7718d5925a1
--- /dev/null
+++ b/AppsMeet/src/V2beta/resources/conference_records_service_rest_client_config.php
@@ -0,0 +1,134 @@
+ [
+ 'google.apps.meet.v2beta.ConferenceRecordsService' => [
+ 'GetConferenceRecord' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{name=conferenceRecords/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetParticipant' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{name=conferenceRecords/*/participants/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetParticipantSession' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{name=conferenceRecords/*/participants/*/participantSessions/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetRecording' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{name=conferenceRecords/*/recordings/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetTranscript' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{name=conferenceRecords/*/transcripts/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetTranscriptEntry' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{name=conferenceRecords/*/transcripts/*/entries/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'ListConferenceRecords' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/conferenceRecords',
+ ],
+ 'ListParticipantSessions' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{parent=conferenceRecords/*/participants/*}/participantSessions',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'ListParticipants' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{parent=conferenceRecords/*}/participants',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'ListRecordings' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{parent=conferenceRecords/*}/recordings',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'ListTranscriptEntries' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{parent=conferenceRecords/*/transcripts/*}/entries',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ 'ListTranscripts' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{parent=conferenceRecords/*}/transcripts',
+ 'placeholders' => [
+ 'parent' => [
+ 'getters' => [
+ 'getParent',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/AppsMeet/src/V2beta/resources/spaces_service_client_config.json b/AppsMeet/src/V2beta/resources/spaces_service_client_config.json
new file mode 100644
index 000000000000..ef584711f228
--- /dev/null
+++ b/AppsMeet/src/V2beta/resources/spaces_service_client_config.json
@@ -0,0 +1,64 @@
+{
+ "interfaces": {
+ "google.apps.meet.v2beta.SpacesService": {
+ "retry_codes": {
+ "no_retry_codes": [],
+ "retry_policy_1_codes": [
+ "UNAVAILABLE"
+ ],
+ "no_retry_1_codes": []
+ },
+ "retry_params": {
+ "no_retry_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 0,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 0,
+ "total_timeout_millis": 0
+ },
+ "retry_policy_1_params": {
+ "initial_retry_delay_millis": 1000,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 10000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ },
+ "no_retry_1_params": {
+ "initial_retry_delay_millis": 0,
+ "retry_delay_multiplier": 0.0,
+ "max_retry_delay_millis": 0,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1.0,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 60000
+ }
+ },
+ "methods": {
+ "CreateSpace": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "no_retry_1_codes",
+ "retry_params_name": "no_retry_1_params"
+ },
+ "EndActiveConference": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "no_retry_1_codes",
+ "retry_params_name": "no_retry_1_params"
+ },
+ "GetSpace": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "retry_policy_1_codes",
+ "retry_params_name": "retry_policy_1_params"
+ },
+ "UpdateSpace": {
+ "timeout_millis": 60000,
+ "retry_codes_name": "no_retry_1_codes",
+ "retry_params_name": "no_retry_1_params"
+ }
+ }
+ }
+ }
+}
diff --git a/AppsMeet/src/V2beta/resources/spaces_service_descriptor_config.php b/AppsMeet/src/V2beta/resources/spaces_service_descriptor_config.php
new file mode 100644
index 000000000000..270e892fe547
--- /dev/null
+++ b/AppsMeet/src/V2beta/resources/spaces_service_descriptor_config.php
@@ -0,0 +1,53 @@
+ [
+ 'google.apps.meet.v2beta.SpacesService' => [
+ 'CreateSpace' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\Space',
+ ],
+ 'EndActiveConference' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Protobuf\GPBEmpty',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetSpace' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\Space',
+ 'headerParams' => [
+ [
+ 'keyName' => 'name',
+ 'fieldAccessors' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateSpace' => [
+ 'callType' => \Google\ApiCore\Call::UNARY_CALL,
+ 'responseType' => 'Google\Apps\Meet\V2beta\Space',
+ 'headerParams' => [
+ [
+ 'keyName' => 'space.name',
+ 'fieldAccessors' => [
+ 'getSpace',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'templateMap' => [
+ 'conferenceRecord' => 'conferenceRecords/{conference_record}',
+ 'space' => 'spaces/{space}',
+ ],
+ ],
+ ],
+];
diff --git a/AppsMeet/src/V2beta/resources/spaces_service_rest_client_config.php b/AppsMeet/src/V2beta/resources/spaces_service_rest_client_config.php
new file mode 100644
index 000000000000..2c5f23224fb3
--- /dev/null
+++ b/AppsMeet/src/V2beta/resources/spaces_service_rest_client_config.php
@@ -0,0 +1,50 @@
+ [
+ 'google.apps.meet.v2beta.SpacesService' => [
+ 'CreateSpace' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2beta/spaces',
+ 'body' => 'space',
+ ],
+ 'EndActiveConference' => [
+ 'method' => 'post',
+ 'uriTemplate' => '/v2beta/{name=spaces/*}:endActiveConference',
+ 'body' => '*',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'GetSpace' => [
+ 'method' => 'get',
+ 'uriTemplate' => '/v2beta/{name=spaces/*}',
+ 'placeholders' => [
+ 'name' => [
+ 'getters' => [
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ 'UpdateSpace' => [
+ 'method' => 'patch',
+ 'uriTemplate' => '/v2beta/{space.name=spaces/*}',
+ 'body' => 'space',
+ 'placeholders' => [
+ 'space.name' => [
+ 'getters' => [
+ 'getSpace',
+ 'getName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'numericEnums' => true,
+];
diff --git a/AppsMeet/tests/Unit/V2beta/Client/ConferenceRecordsServiceClientTest.php b/AppsMeet/tests/Unit/V2beta/Client/ConferenceRecordsServiceClientTest.php
new file mode 100644
index 000000000000..758b9461b5c1
--- /dev/null
+++ b/AppsMeet/tests/Unit/V2beta/Client/ConferenceRecordsServiceClientTest.php
@@ -0,0 +1,944 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /** @return ConferenceRecordsServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new ConferenceRecordsServiceClient($options);
+ }
+
+ /** @test */
+ public function getConferenceRecordTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $space = 'space109637894';
+ $expectedResponse = new ConferenceRecord();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setSpace($space);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->conferenceRecordName('[CONFERENCE_RECORD]');
+ $request = (new GetConferenceRecordRequest())->setName($formattedName);
+ $response = $gapicClient->getConferenceRecord($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/GetConferenceRecord', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getConferenceRecordExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->conferenceRecordName('[CONFERENCE_RECORD]');
+ $request = (new GetConferenceRecordRequest())->setName($formattedName);
+ try {
+ $gapicClient->getConferenceRecord($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getParticipantTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $expectedResponse = new Participant();
+ $expectedResponse->setName($name2);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->participantName('[CONFERENCE_RECORD]', '[PARTICIPANT]');
+ $request = (new GetParticipantRequest())->setName($formattedName);
+ $response = $gapicClient->getParticipant($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/GetParticipant', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getParticipantExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->participantName('[CONFERENCE_RECORD]', '[PARTICIPANT]');
+ $request = (new GetParticipantRequest())->setName($formattedName);
+ try {
+ $gapicClient->getParticipant($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getParticipantSessionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $expectedResponse = new ParticipantSession();
+ $expectedResponse->setName($name2);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->participantSessionName(
+ '[CONFERENCE_RECORD]',
+ '[PARTICIPANT]',
+ '[PARTICIPANT_SESSION]'
+ );
+ $request = (new GetParticipantSessionRequest())->setName($formattedName);
+ $response = $gapicClient->getParticipantSession($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/GetParticipantSession', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getParticipantSessionExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->participantSessionName(
+ '[CONFERENCE_RECORD]',
+ '[PARTICIPANT]',
+ '[PARTICIPANT_SESSION]'
+ );
+ $request = (new GetParticipantSessionRequest())->setName($formattedName);
+ try {
+ $gapicClient->getParticipantSession($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getRecordingTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $expectedResponse = new Recording();
+ $expectedResponse->setName($name2);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->recordingName('[CONFERENCE_RECORD]', '[RECORDING]');
+ $request = (new GetRecordingRequest())->setName($formattedName);
+ $response = $gapicClient->getRecording($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/GetRecording', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getRecordingExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->recordingName('[CONFERENCE_RECORD]', '[RECORDING]');
+ $request = (new GetRecordingRequest())->setName($formattedName);
+ try {
+ $gapicClient->getRecording($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getTranscriptTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $expectedResponse = new Transcript();
+ $expectedResponse->setName($name2);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->transcriptName('[CONFERENCE_RECORD]', '[TRANSCRIPT]');
+ $request = (new GetTranscriptRequest())->setName($formattedName);
+ $response = $gapicClient->getTranscript($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/GetTranscript', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getTranscriptExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->transcriptName('[CONFERENCE_RECORD]', '[TRANSCRIPT]');
+ $request = (new GetTranscriptRequest())->setName($formattedName);
+ try {
+ $gapicClient->getTranscript($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getTranscriptEntryTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $participant = 'participant767422259';
+ $text = 'text3556653';
+ $languageCode = 'languageCode-412800396';
+ $expectedResponse = new TranscriptEntry();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setParticipant($participant);
+ $expectedResponse->setText($text);
+ $expectedResponse->setLanguageCode($languageCode);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->transcriptEntryName('[CONFERENCE_RECORD]', '[TRANSCRIPT]', '[ENTRY]');
+ $request = (new GetTranscriptEntryRequest())->setName($formattedName);
+ $response = $gapicClient->getTranscriptEntry($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/GetTranscriptEntry', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getTranscriptEntryExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->transcriptEntryName('[CONFERENCE_RECORD]', '[TRANSCRIPT]', '[ENTRY]');
+ $request = (new GetTranscriptEntryRequest())->setName($formattedName);
+ try {
+ $gapicClient->getTranscriptEntry($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listConferenceRecordsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $conferenceRecordsElement = new ConferenceRecord();
+ $conferenceRecords = [$conferenceRecordsElement];
+ $expectedResponse = new ListConferenceRecordsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setConferenceRecords($conferenceRecords);
+ $transport->addResponse($expectedResponse);
+ $request = new ListConferenceRecordsRequest();
+ $response = $gapicClient->listConferenceRecords($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getConferenceRecords()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/ListConferenceRecords', $actualFuncCall);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listConferenceRecordsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ $request = new ListConferenceRecordsRequest();
+ try {
+ $gapicClient->listConferenceRecords($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listParticipantSessionsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $participantSessionsElement = new ParticipantSession();
+ $participantSessions = [$participantSessionsElement];
+ $expectedResponse = new ListParticipantSessionsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setParticipantSessions($participantSessions);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->participantName('[CONFERENCE_RECORD]', '[PARTICIPANT]');
+ $request = (new ListParticipantSessionsRequest())->setParent($formattedParent);
+ $response = $gapicClient->listParticipantSessions($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getParticipantSessions()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/ListParticipantSessions', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listParticipantSessionsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->participantName('[CONFERENCE_RECORD]', '[PARTICIPANT]');
+ $request = (new ListParticipantSessionsRequest())->setParent($formattedParent);
+ try {
+ $gapicClient->listParticipantSessions($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listParticipantsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $totalSize = 705419236;
+ $participantsElement = new Participant();
+ $participants = [$participantsElement];
+ $expectedResponse = new ListParticipantsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setTotalSize($totalSize);
+ $expectedResponse->setParticipants($participants);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->conferenceRecordName('[CONFERENCE_RECORD]');
+ $request = (new ListParticipantsRequest())->setParent($formattedParent);
+ $response = $gapicClient->listParticipants($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getParticipants()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/ListParticipants', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listParticipantsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->conferenceRecordName('[CONFERENCE_RECORD]');
+ $request = (new ListParticipantsRequest())->setParent($formattedParent);
+ try {
+ $gapicClient->listParticipants($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listRecordingsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $recordingsElement = new Recording();
+ $recordings = [$recordingsElement];
+ $expectedResponse = new ListRecordingsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setRecordings($recordings);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->conferenceRecordName('[CONFERENCE_RECORD]');
+ $request = (new ListRecordingsRequest())->setParent($formattedParent);
+ $response = $gapicClient->listRecordings($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getRecordings()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/ListRecordings', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listRecordingsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->conferenceRecordName('[CONFERENCE_RECORD]');
+ $request = (new ListRecordingsRequest())->setParent($formattedParent);
+ try {
+ $gapicClient->listRecordings($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listTranscriptEntriesTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $transcriptEntriesElement = new TranscriptEntry();
+ $transcriptEntries = [$transcriptEntriesElement];
+ $expectedResponse = new ListTranscriptEntriesResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setTranscriptEntries($transcriptEntries);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->transcriptName('[CONFERENCE_RECORD]', '[TRANSCRIPT]');
+ $request = (new ListTranscriptEntriesRequest())->setParent($formattedParent);
+ $response = $gapicClient->listTranscriptEntries($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getTranscriptEntries()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/ListTranscriptEntries', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listTranscriptEntriesExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->transcriptName('[CONFERENCE_RECORD]', '[TRANSCRIPT]');
+ $request = (new ListTranscriptEntriesRequest())->setParent($formattedParent);
+ try {
+ $gapicClient->listTranscriptEntries($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listTranscriptsTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $nextPageToken = '';
+ $transcriptsElement = new Transcript();
+ $transcripts = [$transcriptsElement];
+ $expectedResponse = new ListTranscriptsResponse();
+ $expectedResponse->setNextPageToken($nextPageToken);
+ $expectedResponse->setTranscripts($transcripts);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedParent = $gapicClient->conferenceRecordName('[CONFERENCE_RECORD]');
+ $request = (new ListTranscriptsRequest())->setParent($formattedParent);
+ $response = $gapicClient->listTranscripts($request);
+ $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject());
+ $resources = iterator_to_array($response->iterateAllElements());
+ $this->assertSame(1, count($resources));
+ $this->assertEquals($expectedResponse->getTranscripts()[0], $resources[0]);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/ListTranscripts', $actualFuncCall);
+ $actualValue = $actualRequestObject->getParent();
+ $this->assertProtobufEquals($formattedParent, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function listTranscriptsExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedParent = $gapicClient->conferenceRecordName('[CONFERENCE_RECORD]');
+ $request = (new ListTranscriptsRequest())->setParent($formattedParent);
+ try {
+ $gapicClient->listTranscripts($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getConferenceRecordAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $space = 'space109637894';
+ $expectedResponse = new ConferenceRecord();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setSpace($space);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->conferenceRecordName('[CONFERENCE_RECORD]');
+ $request = (new GetConferenceRecordRequest())->setName($formattedName);
+ $response = $gapicClient->getConferenceRecordAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.ConferenceRecordsService/GetConferenceRecord', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/AppsMeet/tests/Unit/V2beta/Client/SpacesServiceClientTest.php b/AppsMeet/tests/Unit/V2beta/Client/SpacesServiceClientTest.php
new file mode 100644
index 000000000000..f5737be2690d
--- /dev/null
+++ b/AppsMeet/tests/Unit/V2beta/Client/SpacesServiceClientTest.php
@@ -0,0 +1,359 @@
+getMockBuilder(CredentialsWrapper::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ }
+
+ /** @return SpacesServiceClient */
+ private function createClient(array $options = [])
+ {
+ $options += [
+ 'credentials' => $this->createCredentials(),
+ ];
+ return new SpacesServiceClient($options);
+ }
+
+ /** @test */
+ public function createSpaceTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $meetingUri = 'meetingUri-883054232';
+ $meetingCode = 'meetingCode-1605416591';
+ $expectedResponse = new Space();
+ $expectedResponse->setName($name);
+ $expectedResponse->setMeetingUri($meetingUri);
+ $expectedResponse->setMeetingCode($meetingCode);
+ $transport->addResponse($expectedResponse);
+ $request = new CreateSpaceRequest();
+ $response = $gapicClient->createSpace($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.SpacesService/CreateSpace', $actualFuncCall);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function createSpaceExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ $request = new CreateSpaceRequest();
+ try {
+ $gapicClient->createSpace($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function endActiveConferenceTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $expectedResponse = new GPBEmpty();
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->spaceName('[SPACE]');
+ $request = (new EndActiveConferenceRequest())->setName($formattedName);
+ $gapicClient->endActiveConference($request);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.SpacesService/EndActiveConference', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function endActiveConferenceExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->spaceName('[SPACE]');
+ $request = (new EndActiveConferenceRequest())->setName($formattedName);
+ try {
+ $gapicClient->endActiveConference($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getSpaceTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name2 = 'name2-1052831874';
+ $meetingUri = 'meetingUri-883054232';
+ $meetingCode = 'meetingCode-1605416591';
+ $expectedResponse = new Space();
+ $expectedResponse->setName($name2);
+ $expectedResponse->setMeetingUri($meetingUri);
+ $expectedResponse->setMeetingCode($meetingCode);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $formattedName = $gapicClient->spaceName('[SPACE]');
+ $request = (new GetSpaceRequest())->setName($formattedName);
+ $response = $gapicClient->getSpace($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.SpacesService/GetSpace', $actualFuncCall);
+ $actualValue = $actualRequestObject->getName();
+ $this->assertProtobufEquals($formattedName, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function getSpaceExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $formattedName = $gapicClient->spaceName('[SPACE]');
+ $request = (new GetSpaceRequest())->setName($formattedName);
+ try {
+ $gapicClient->getSpace($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateSpaceTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $meetingUri = 'meetingUri-883054232';
+ $meetingCode = 'meetingCode-1605416591';
+ $expectedResponse = new Space();
+ $expectedResponse->setName($name);
+ $expectedResponse->setMeetingUri($meetingUri);
+ $expectedResponse->setMeetingCode($meetingCode);
+ $transport->addResponse($expectedResponse);
+ // Mock request
+ $space = new Space();
+ $request = (new UpdateSpaceRequest())->setSpace($space);
+ $response = $gapicClient->updateSpace($request);
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.SpacesService/UpdateSpace', $actualFuncCall);
+ $actualValue = $actualRequestObject->getSpace();
+ $this->assertProtobufEquals($space, $actualValue);
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function updateSpaceExceptionTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ $status = new stdClass();
+ $status->code = Code::DATA_LOSS;
+ $status->details = 'internal error';
+ $expectedExceptionMessage = json_encode(
+ [
+ 'message' => 'internal error',
+ 'code' => Code::DATA_LOSS,
+ 'status' => 'DATA_LOSS',
+ 'details' => [],
+ ],
+ JSON_PRETTY_PRINT
+ );
+ $transport->addResponse(null, $status);
+ // Mock request
+ $space = new Space();
+ $request = (new UpdateSpaceRequest())->setSpace($space);
+ try {
+ $gapicClient->updateSpace($request);
+ // If the $gapicClient method call did not throw, fail the test
+ $this->fail('Expected an ApiException, but no exception was thrown.');
+ } catch (ApiException $ex) {
+ $this->assertEquals($status->code, $ex->getCode());
+ $this->assertEquals($expectedExceptionMessage, $ex->getMessage());
+ }
+ // Call popReceivedCalls to ensure the stub is exhausted
+ $transport->popReceivedCalls();
+ $this->assertTrue($transport->isExhausted());
+ }
+
+ /** @test */
+ public function createSpaceAsyncTest()
+ {
+ $transport = $this->createTransport();
+ $gapicClient = $this->createClient([
+ 'transport' => $transport,
+ ]);
+ $this->assertTrue($transport->isExhausted());
+ // Mock response
+ $name = 'name3373707';
+ $meetingUri = 'meetingUri-883054232';
+ $meetingCode = 'meetingCode-1605416591';
+ $expectedResponse = new Space();
+ $expectedResponse->setName($name);
+ $expectedResponse->setMeetingUri($meetingUri);
+ $expectedResponse->setMeetingCode($meetingCode);
+ $transport->addResponse($expectedResponse);
+ $request = new CreateSpaceRequest();
+ $response = $gapicClient->createSpaceAsync($request)->wait();
+ $this->assertEquals($expectedResponse, $response);
+ $actualRequests = $transport->popReceivedCalls();
+ $this->assertSame(1, count($actualRequests));
+ $actualFuncCall = $actualRequests[0]->getFuncCall();
+ $actualRequestObject = $actualRequests[0]->getRequestObject();
+ $this->assertSame('/google.apps.meet.v2beta.SpacesService/CreateSpace', $actualFuncCall);
+ $this->assertTrue($transport->isExhausted());
+ }
+}
diff --git a/composer.json b/composer.json
index 42944e9e58aa..c7d4985c40df 100644
--- a/composer.json
+++ b/composer.json
@@ -72,6 +72,7 @@
"google/access-context-manager": "0.4.5",
"google/analytics-admin": "0.19.0",
"google/analytics-data": "0.12.0",
+ "google/apps-meet": "0.0.0",
"google/cloud-access-approval": "1.1.3",
"google/cloud-advisorynotifications": "0.6.0",
"google/cloud-ai-platform": "0.30.0",
@@ -250,6 +251,7 @@
"GPBMetadata\\Google\\Api\\Servicemanagement\\": "ServiceManagement/metadata",
"GPBMetadata\\Google\\Api\\Serviceusage\\": "ServiceUsage/metadata",
"GPBMetadata\\Google\\Appengine\\": "AppEngineAdmin/metadata",
+ "GPBMetadata\\Google\\Apps\\Meet\\": "AppsMeet/metadata",
"GPBMetadata\\Google\\Apps\\Script\\Type\\": "GSuiteAddOns/external/metadata",
"GPBMetadata\\Google\\Bigtable\\": "Bigtable/metadata",
"GPBMetadata\\Google\\Cloud\\Accessapproval\\": "AccessApproval/metadata",
@@ -419,6 +421,7 @@
"Google\\Analytics\\Admin\\": "AnalyticsAdmin/src",
"Google\\Analytics\\Data\\": "AnalyticsData/src",
"Google\\ApiCore\\LongRunning\\": "LongRunning/src/ApiCore/LongRunning",
+ "Google\\Apps\\Meet\\": "AppsMeet/src",
"Google\\Apps\\Script\\Type\\": "GSuiteAddOns/external/protos",
"Google\\Cloud\\": [
"CommonProtos/src"