As of January 1, 2020 this library no longer supports Python 2 on the latest released version.
Library versions released prior to that date will continue to be available. For more information please
visit Python 2 support on Google Cloud.
Source code for google.apps.meet_v2.types.resource
# -*- coding: utf-8 -*-
# Copyright 2024 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.
#
from __future__ import annotations
from typing import MutableMapping, MutableSequence
from google.protobuf import timestamp_pb2 # type: ignore
import proto # type: ignore
__protobuf__ = proto.module(
package="google.apps.meet.v2",
manifest={
"Space",
"ActiveConference",
"SpaceConfig",
"ConferenceRecord",
"Participant",
"ParticipantSession",
"SignedinUser",
"AnonymousUser",
"PhoneUser",
"Recording",
"DriveDestination",
"Transcript",
"DocsDestination",
"TranscriptEntry",
},
)
[docs]class Space(proto.Message):
r"""Virtual place where conferences are held. Only one active
conference can be held in one space at any given time.
Attributes:
name (str):
Immutable. Resource name of the space.
Format: ``spaces/{space}``.
``{space}`` is the resource identifier for the space. It's a
unique, server-generated ID and is case sensitive. For
example, ``jQCFfuBOdN5z``.
For more information, see `How Meet identifies a meeting
space <https://developers.google.com/meet/api/guides/meeting-spaces#identify-meeting-space>`__.
meeting_uri (str):
Output only. URI used to join meetings consisting of
``https://meet.google.com/`` followed by the
``meeting_code``. For example,
``https://meet.google.com/abc-mnop-xyz``.
meeting_code (str):
Output only. Type friendly unique string used to join the
meeting.
Format: ``[a-z]+-[a-z]+-[a-z]+``. For example,
``abc-mnop-xyz``.
The maximum length is 128 characters.
Can only be used as an alias of the space name to get the
space.
config (google.apps.meet_v2.types.SpaceConfig):
Configuration pertaining to the meeting
space.
active_conference (google.apps.meet_v2.types.ActiveConference):
Active conference, if it exists.
"""
name: str = proto.Field(
proto.STRING,
number=1,
)
meeting_uri: str = proto.Field(
proto.STRING,
number=2,
)
meeting_code: str = proto.Field(
proto.STRING,
number=3,
)
config: "SpaceConfig" = proto.Field(
proto.MESSAGE,
number=5,
message="SpaceConfig",
)
active_conference: "ActiveConference" = proto.Field(
proto.MESSAGE,
number=6,
message="ActiveConference",
)
[docs]class ActiveConference(proto.Message):
r"""Active conference.
Attributes:
conference_record (str):
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.
"""
conference_record: str = proto.Field(
proto.STRING,
number=1,
)
[docs]class SpaceConfig(proto.Message):
r"""The configuration pertaining to a meeting space.
Attributes:
access_type (google.apps.meet_v2.types.SpaceConfig.AccessType):
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.
entry_point_access (google.apps.meet_v2.types.SpaceConfig.EntryPointAccess):
Defines the entry points that can be used to
join meetings hosted in this meeting space.
Default: EntryPointAccess.ALL
"""
[docs] class AccessType(proto.Enum):
r"""Possible access types for a meeting space.
Values:
ACCESS_TYPE_UNSPECIFIED (0):
Default value specified by the user's
organization. Note: This is never returned, as
the configured access type is returned instead.
OPEN (1):
Anyone with the join information (for
example, the URL or phone access information)
can join without knocking.
TRUSTED (2):
Members of the host's organization, invited
external users, and dial-in users can join
without knocking. Everyone else must knock.
RESTRICTED (3):
Only invitees can join without knocking.
Everyone else must knock.
"""
ACCESS_TYPE_UNSPECIFIED = 0
OPEN = 1
TRUSTED = 2
RESTRICTED = 3
[docs] class EntryPointAccess(proto.Enum):
r"""Entry points that can be used to join a meeting. Example:
``meet.google.com``, the Meet Embed SDK Web, or a mobile
application.
Values:
ENTRY_POINT_ACCESS_UNSPECIFIED (0):
Unused.
ALL (1):
All entry points are allowed.
CREATOR_APP_ONLY (2):
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
Meet Embed SDK Web or mobile Meet SDKs to create
owned entry points.
"""
ENTRY_POINT_ACCESS_UNSPECIFIED = 0
ALL = 1
CREATOR_APP_ONLY = 2
access_type: AccessType = proto.Field(
proto.ENUM,
number=1,
enum=AccessType,
)
entry_point_access: EntryPointAccess = proto.Field(
proto.ENUM,
number=2,
enum=EntryPointAccess,
)
[docs]class ConferenceRecord(proto.Message):
r"""Single instance of a meeting held in a space.
Attributes:
name (str):
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.
start_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Timestamp when the conference
started. Always set.
end_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Timestamp when the conference
ended. Set for past conferences. Unset if the
conference is ongoing.
expire_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Server enforced expiration time
for when this conference record resource is
deleted. The resource is deleted 30 days after
the conference ends.
space (str):
Output only. The space where the conference
was held.
"""
name: str = proto.Field(
proto.STRING,
number=1,
)
start_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=2,
message=timestamp_pb2.Timestamp,
)
end_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=3,
message=timestamp_pb2.Timestamp,
)
expire_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=4,
message=timestamp_pb2.Timestamp,
)
space: str = proto.Field(
proto.STRING,
number=5,
)
[docs]class Participant(proto.Message):
r"""User who attended or is attending a conference.
This message has `oneof`_ fields (mutually exclusive fields).
For each oneof, at most one member field can be set at the same time.
Setting any member of the oneof automatically clears all other
members.
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
Attributes:
signedin_user (google.apps.meet_v2.types.SignedinUser):
Signed-in user.
This field is a member of `oneof`_ ``user``.
anonymous_user (google.apps.meet_v2.types.AnonymousUser):
Anonymous user.
This field is a member of `oneof`_ ``user``.
phone_user (google.apps.meet_v2.types.PhoneUser):
User calling from their phone.
This field is a member of `oneof`_ ``user``.
name (str):
Output only. Resource name of the participant. Format:
``conferenceRecords/{conference_record}/participants/{participant}``
earliest_start_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Time when the participant first
joined the meeting.
latest_end_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Time when the participant left
the meeting for the last time. This can be null
if it's an active meeting.
"""
signedin_user: "SignedinUser" = proto.Field(
proto.MESSAGE,
number=4,
oneof="user",
message="SignedinUser",
)
anonymous_user: "AnonymousUser" = proto.Field(
proto.MESSAGE,
number=5,
oneof="user",
message="AnonymousUser",
)
phone_user: "PhoneUser" = proto.Field(
proto.MESSAGE,
number=6,
oneof="user",
message="PhoneUser",
)
name: str = proto.Field(
proto.STRING,
number=1,
)
earliest_start_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=7,
message=timestamp_pb2.Timestamp,
)
latest_end_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=8,
message=timestamp_pb2.Timestamp,
)
[docs]class ParticipantSession(proto.Message):
r"""Refers to each unique join or leave session when a user joins
a conference from a device. Note that any time a user joins the
conference a new unique ID is assigned. That means if a user
joins a space multiple times from the same device, they're
assigned different IDs, and are also be treated as different
participant sessions.
Attributes:
name (str):
Identifier. Session id.
start_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Timestamp when the user session
starts.
end_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Timestamp when the user session
ends. Unset if the user session hasn’t ended.
"""
name: str = proto.Field(
proto.STRING,
number=1,
)
start_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=2,
message=timestamp_pb2.Timestamp,
)
end_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=3,
message=timestamp_pb2.Timestamp,
)
[docs]class SignedinUser(proto.Message):
r"""A signed-in user can be:
a) An individual joining from a personal computer, mobile
device, or through companion mode.
b) A robot account used by conference room devices.
Attributes:
user (str):
Output only. Unique ID for the user. Interoperable with
Admin SDK API and People API. Format: ``users/{user}``
display_name (str):
Output only. For a personal device, it's the
user's first name and last name. For a robot
account, it's the administrator-specified device
name. For example, "Altostrat Room".
"""
user: str = proto.Field(
proto.STRING,
number=1,
)
display_name: str = proto.Field(
proto.STRING,
number=2,
)
[docs]class AnonymousUser(proto.Message):
r"""User who joins anonymously (meaning not signed into a Google
Account).
Attributes:
display_name (str):
Output only. User provided name when they
join a conference anonymously.
"""
display_name: str = proto.Field(
proto.STRING,
number=1,
)
[docs]class PhoneUser(proto.Message):
r"""User dialing in from a phone where the user's identity is
unknown because they haven't signed in with a Google Account.
Attributes:
display_name (str):
Output only. Partially redacted user's phone
number when calling.
"""
display_name: str = proto.Field(
proto.STRING,
number=1,
)
[docs]class Recording(proto.Message):
r"""Metadata about a recording created during a conference.
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
Attributes:
drive_destination (google.apps.meet_v2.types.DriveDestination):
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.
This field is a member of `oneof`_ ``destination``.
name (str):
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.
state (google.apps.meet_v2.types.Recording.State):
Output only. Current state.
start_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Timestamp when the recording
started.
end_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Timestamp when the recording
ended.
"""
[docs] class State(proto.Enum):
r"""Current state of the recording session.
Values:
STATE_UNSPECIFIED (0):
Default, never used.
STARTED (1):
An active recording session has started.
ENDED (2):
This recording session has ended, but the
recording file hasn't been generated yet.
FILE_GENERATED (3):
Recording file is generated and ready to
download.
"""
STATE_UNSPECIFIED = 0
STARTED = 1
ENDED = 2
FILE_GENERATED = 3
drive_destination: "DriveDestination" = proto.Field(
proto.MESSAGE,
number=6,
oneof="destination",
message="DriveDestination",
)
name: str = proto.Field(
proto.STRING,
number=1,
)
state: State = proto.Field(
proto.ENUM,
number=3,
enum=State,
)
start_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=4,
message=timestamp_pb2.Timestamp,
)
end_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=5,
message=timestamp_pb2.Timestamp,
)
[docs]class DriveDestination(proto.Message):
r"""Export location where a recording file is saved in Google
Drive.
Attributes:
file (str):
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.
export_uri (str):
Output only. Link used to play back the recording file in
the browser. For example,
``https://drive.google.com/file/d/{$fileId}/view``.
"""
file: str = proto.Field(
proto.STRING,
number=1,
)
export_uri: str = proto.Field(
proto.STRING,
number=2,
)
[docs]class Transcript(proto.Message):
r"""Metadata for a transcript generated from a conference. It
refers to the ASR (Automatic Speech Recognition) result of
user's speech during the conference.
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
Attributes:
docs_destination (google.apps.meet_v2.types.DocsDestination):
Output only. Where the Google Docs transcript
is saved.
This field is a member of `oneof`_ ``destination``.
name (str):
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.
state (google.apps.meet_v2.types.Transcript.State):
Output only. Current state.
start_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Timestamp when the transcript
started.
end_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Timestamp when the transcript
stopped.
"""
[docs] class State(proto.Enum):
r"""Current state of the transcript session.
Values:
STATE_UNSPECIFIED (0):
Default, never used.
STARTED (1):
An active transcript session has started.
ENDED (2):
This transcript session has ended, but the
transcript file hasn't been generated yet.
FILE_GENERATED (3):
Transcript file is generated and ready to
download.
"""
STATE_UNSPECIFIED = 0
STARTED = 1
ENDED = 2
FILE_GENERATED = 3
docs_destination: "DocsDestination" = proto.Field(
proto.MESSAGE,
number=6,
oneof="destination",
message="DocsDestination",
)
name: str = proto.Field(
proto.STRING,
number=1,
)
state: State = proto.Field(
proto.ENUM,
number=3,
enum=State,
)
start_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=4,
message=timestamp_pb2.Timestamp,
)
end_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=5,
message=timestamp_pb2.Timestamp,
)
[docs]class DocsDestination(proto.Message):
r"""Google Docs location where the transcript file is saved.
Attributes:
document (str):
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.
export_uri (str):
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.
"""
document: str = proto.Field(
proto.STRING,
number=1,
)
export_uri: str = proto.Field(
proto.STRING,
number=2,
)
[docs]class TranscriptEntry(proto.Message):
r"""Single entry for one user’s speech during a transcript
session.
Attributes:
name (str):
Output only. Resource name of the entry. Format:
"conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}".
participant (str):
Output only. Refers to the participant who
speaks.
text (str):
Output only. The transcribed text of the
participant's voice, at maximum 10K words. Note
that the limit is subject to change.
language_code (str):
Output only. Language of spoken text, such as
"en-US". IETF BCP 47 syntax
(https://tools.ietf.org/html/bcp47)
start_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Timestamp when the transcript
entry started.
end_time (google.protobuf.timestamp_pb2.Timestamp):
Output only. Timestamp when the transcript
entry ended.
"""
name: str = proto.Field(
proto.STRING,
number=1,
)
participant: str = proto.Field(
proto.STRING,
number=2,
)
text: str = proto.Field(
proto.STRING,
number=3,
)
language_code: str = proto.Field(
proto.STRING,
number=4,
)
start_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=5,
message=timestamp_pb2.Timestamp,
)
end_time: timestamp_pb2.Timestamp = proto.Field(
proto.MESSAGE,
number=6,
message=timestamp_pb2.Timestamp,
)
__all__ = tuple(sorted(__protobuf__.manifest))