openapi

package
v0.0.0-...-e041b52 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 20, 2024 License: MIT Imports: 6 Imported by: 0

README

Go API client for openapi

This is the public Twilio REST API.

Overview

This API client was generated by the OpenAPI Generator project from the OpenAPI specs located at twilio/twilio-oai. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 1.52.1
  • Package version: 1.0.0
  • Build package: com.twilio.oai.TwilioGoGenerator For more information, please visit https://support.twilio.com

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import "./openapi"

Documentation for API Endpoints

All URIs are relative to https://video.twilio.com

Class Method HTTP request Description
CompositionHooksApi CreateCompositionHook Post /v1/CompositionHooks
CompositionHooksApi DeleteCompositionHook Delete /v1/CompositionHooks/{Sid}
CompositionHooksApi FetchCompositionHook Get /v1/CompositionHooks/{Sid}
CompositionHooksApi ListCompositionHook Get /v1/CompositionHooks
CompositionHooksApi UpdateCompositionHook Post /v1/CompositionHooks/{Sid}
CompositionSettingsDefaultApi CreateCompositionSettings Post /v1/CompositionSettings/Default
CompositionSettingsDefaultApi FetchCompositionSettings Get /v1/CompositionSettings/Default
CompositionsApi CreateComposition Post /v1/Compositions
CompositionsApi DeleteComposition Delete /v1/Compositions/{Sid}
CompositionsApi FetchComposition Get /v1/Compositions/{Sid}
CompositionsApi ListComposition Get /v1/Compositions
RecordingSettingsDefaultApi CreateRecordingSettings Post /v1/RecordingSettings/Default
RecordingSettingsDefaultApi FetchRecordingSettings Get /v1/RecordingSettings/Default
RecordingsApi DeleteRecording Delete /v1/Recordings/{Sid}
RecordingsApi FetchRecording Get /v1/Recordings/{Sid}
RecordingsApi ListRecording Get /v1/Recordings
RoomsApi CreateRoom Post /v1/Rooms
RoomsApi FetchRoom Get /v1/Rooms/{Sid}
RoomsApi ListRoom Get /v1/Rooms
RoomsApi UpdateRoom Post /v1/Rooms/{Sid}
RoomsParticipantsApi FetchRoomParticipant Get /v1/Rooms/{RoomSid}/Participants/{Sid}
RoomsParticipantsApi ListRoomParticipant Get /v1/Rooms/{RoomSid}/Participants
RoomsParticipantsApi UpdateRoomParticipant Post /v1/Rooms/{RoomSid}/Participants/{Sid}
RoomsParticipantsAnonymizeApi UpdateRoomParticipantAnonymize Post /v1/Rooms/{RoomSid}/Participants/{Sid}/Anonymize
RoomsParticipantsPublishedTracksApi FetchRoomParticipantPublishedTrack Get /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks/{Sid}
RoomsParticipantsPublishedTracksApi ListRoomParticipantPublishedTrack Get /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/PublishedTracks
RoomsParticipantsSubscribeRulesApi FetchRoomParticipantSubscribeRule Get /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribeRules
RoomsParticipantsSubscribeRulesApi UpdateRoomParticipantSubscribeRule Post /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribeRules
RoomsParticipantsSubscribedTracksApi FetchRoomParticipantSubscribedTrack Get /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks/{Sid}
RoomsParticipantsSubscribedTracksApi ListRoomParticipantSubscribedTrack Get /v1/Rooms/{RoomSid}/Participants/{ParticipantSid}/SubscribedTracks
RoomsRecordingRulesApi FetchRoomRecordingRule Get /v1/Rooms/{RoomSid}/RecordingRules
RoomsRecordingRulesApi UpdateRoomRecordingRule Post /v1/Rooms/{RoomSid}/RecordingRules
RoomsRecordingsApi DeleteRoomRecording Delete /v1/Rooms/{RoomSid}/Recordings/{Sid}
RoomsRecordingsApi FetchRoomRecording Get /v1/Rooms/{RoomSid}/Recordings/{Sid}
RoomsRecordingsApi ListRoomRecording Get /v1/Rooms/{RoomSid}/Recordings

Documentation For Models

Documentation For Authorization

accountSid_authToken

  • Type: HTTP basic authentication

Example

auth := context.WithValue(context.Background(), sw.ContextBasicAuth, sw.BasicAuth{
    UserName: "username",
    Password: "password",
})
r, err := client.Service.Operation(auth, args)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApiService

type ApiService struct {
	// contains filtered or unexported fields
}

func NewApiService

func NewApiService(requestHandler *twilio.RequestHandler) *ApiService

func NewApiServiceWithClient

func NewApiServiceWithClient(client twilio.BaseClient) *ApiService

func (*ApiService) CreateComposition

func (c *ApiService) CreateComposition(params *CreateCompositionParams) (*VideoV1Composition, error)

func (*ApiService) CreateCompositionHook

func (c *ApiService) CreateCompositionHook(params *CreateCompositionHookParams) (*VideoV1CompositionHook, error)

func (*ApiService) CreateCompositionSettings

func (c *ApiService) CreateCompositionSettings(params *CreateCompositionSettingsParams) (*VideoV1CompositionSettings, error)

func (*ApiService) CreateRecordingSettings

func (c *ApiService) CreateRecordingSettings(params *CreateRecordingSettingsParams) (*VideoV1RecordingSettings, error)

func (*ApiService) CreateRoom

func (c *ApiService) CreateRoom(params *CreateRoomParams) (*VideoV1Room, error)

func (*ApiService) DeleteComposition

func (c *ApiService) DeleteComposition(Sid string) error

Delete a Recording Composition resource identified by a Composition SID.

func (*ApiService) DeleteCompositionHook

func (c *ApiService) DeleteCompositionHook(Sid string) error

Delete a Recording CompositionHook resource identified by a `CompositionHook SID`.

func (*ApiService) DeleteRecording

func (c *ApiService) DeleteRecording(Sid string) error

Delete a Recording resource identified by a Recording SID.

func (*ApiService) DeleteRoomRecording

func (c *ApiService) DeleteRoomRecording(RoomSid string, Sid string) error

func (*ApiService) FetchComposition

func (c *ApiService) FetchComposition(Sid string) (*VideoV1Composition, error)

Returns a single Composition resource identified by a Composition SID.

func (*ApiService) FetchCompositionHook

func (c *ApiService) FetchCompositionHook(Sid string) (*VideoV1CompositionHook, error)

Returns a single CompositionHook resource identified by a CompositionHook SID.

func (*ApiService) FetchCompositionSettings

func (c *ApiService) FetchCompositionSettings() (*VideoV1CompositionSettings, error)

func (*ApiService) FetchRecording

func (c *ApiService) FetchRecording(Sid string) (*VideoV1Recording, error)

Returns a single Recording resource identified by a Recording SID.

func (*ApiService) FetchRecordingSettings

func (c *ApiService) FetchRecordingSettings() (*VideoV1RecordingSettings, error)

func (*ApiService) FetchRoom

func (c *ApiService) FetchRoom(Sid string) (*VideoV1Room, error)

func (*ApiService) FetchRoomParticipant

func (c *ApiService) FetchRoomParticipant(RoomSid string, Sid string) (*VideoV1RoomParticipant, error)

func (*ApiService) FetchRoomParticipantPublishedTrack

func (c *ApiService) FetchRoomParticipantPublishedTrack(RoomSid string, ParticipantSid string, Sid string) (*VideoV1RoomParticipantPublishedTrack, error)

Returns a single Track resource represented by TrackName or SID.

func (*ApiService) FetchRoomParticipantSubscribeRule

func (c *ApiService) FetchRoomParticipantSubscribeRule(RoomSid string, ParticipantSid string) (*VideoV1RoomParticipantSubscribeRule, error)

Returns a list of Subscribe Rules for the Participant.

func (*ApiService) FetchRoomParticipantSubscribedTrack

func (c *ApiService) FetchRoomParticipantSubscribedTrack(RoomSid string, ParticipantSid string, Sid string) (*VideoV1RoomParticipantSubscribedTrack, error)

Returns a single Track resource represented by `track_sid`. Note: This is one resource with the Video API that requires a SID, be Track Name on the subscriber side is not guaranteed to be unique.

func (*ApiService) FetchRoomRecording

func (c *ApiService) FetchRoomRecording(RoomSid string, Sid string) (*VideoV1RoomRecording, error)

func (*ApiService) FetchRoomRecordingRule

func (c *ApiService) FetchRoomRecordingRule(RoomSid string) (*VideoV1RoomRecordingRule, error)

Returns a list of Recording Rules for the Room.

func (*ApiService) ListComposition

func (c *ApiService) ListComposition(params *ListCompositionParams) ([]VideoV1Composition, error)

Lists Composition records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning.

func (*ApiService) ListCompositionHook

func (c *ApiService) ListCompositionHook(params *ListCompositionHookParams) ([]VideoV1CompositionHook, error)

Lists CompositionHook records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning.

func (*ApiService) ListRecording

func (c *ApiService) ListRecording(params *ListRecordingParams) ([]VideoV1Recording, error)

Lists Recording records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning.

func (*ApiService) ListRoom

func (c *ApiService) ListRoom(params *ListRoomParams) ([]VideoV1Room, error)

Lists Room records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning.

func (*ApiService) ListRoomParticipant

func (c *ApiService) ListRoomParticipant(RoomSid string, params *ListRoomParticipantParams) ([]VideoV1RoomParticipant, error)

Lists RoomParticipant records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning.

func (*ApiService) ListRoomParticipantPublishedTrack

func (c *ApiService) ListRoomParticipantPublishedTrack(RoomSid string, ParticipantSid string, params *ListRoomParticipantPublishedTrackParams) ([]VideoV1RoomParticipantPublishedTrack, error)

Lists RoomParticipantPublishedTrack records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning.

func (*ApiService) ListRoomParticipantSubscribedTrack

func (c *ApiService) ListRoomParticipantSubscribedTrack(RoomSid string, ParticipantSid string, params *ListRoomParticipantSubscribedTrackParams) ([]VideoV1RoomParticipantSubscribedTrack, error)

Lists RoomParticipantSubscribedTrack records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning.

func (*ApiService) ListRoomRecording

func (c *ApiService) ListRoomRecording(RoomSid string, params *ListRoomRecordingParams) ([]VideoV1RoomRecording, error)

Lists RoomRecording records from the API as a list. Unlike stream, this operation is eager and loads 'limit' records into memory before returning.

func (*ApiService) PageComposition

func (c *ApiService) PageComposition(params *ListCompositionParams, pageToken, pageNumber string) (*ListCompositionResponse, error)

Retrieve a single page of Composition records from the API. Request is executed immediately.

func (*ApiService) PageCompositionHook

func (c *ApiService) PageCompositionHook(params *ListCompositionHookParams, pageToken, pageNumber string) (*ListCompositionHookResponse, error)

Retrieve a single page of CompositionHook records from the API. Request is executed immediately.

func (*ApiService) PageRecording

func (c *ApiService) PageRecording(params *ListRecordingParams, pageToken, pageNumber string) (*ListRecordingResponse, error)

Retrieve a single page of Recording records from the API. Request is executed immediately.

func (*ApiService) PageRoom

func (c *ApiService) PageRoom(params *ListRoomParams, pageToken, pageNumber string) (*ListRoomResponse, error)

Retrieve a single page of Room records from the API. Request is executed immediately.

func (*ApiService) PageRoomParticipant

func (c *ApiService) PageRoomParticipant(RoomSid string, params *ListRoomParticipantParams, pageToken, pageNumber string) (*ListRoomParticipantResponse, error)

Retrieve a single page of RoomParticipant records from the API. Request is executed immediately.

func (*ApiService) PageRoomParticipantPublishedTrack

func (c *ApiService) PageRoomParticipantPublishedTrack(RoomSid string, ParticipantSid string, params *ListRoomParticipantPublishedTrackParams, pageToken, pageNumber string) (*ListRoomParticipantPublishedTrackResponse, error)

Retrieve a single page of RoomParticipantPublishedTrack records from the API. Request is executed immediately.

func (*ApiService) PageRoomParticipantSubscribedTrack

func (c *ApiService) PageRoomParticipantSubscribedTrack(RoomSid string, ParticipantSid string, params *ListRoomParticipantSubscribedTrackParams, pageToken, pageNumber string) (*ListRoomParticipantSubscribedTrackResponse, error)

Retrieve a single page of RoomParticipantSubscribedTrack records from the API. Request is executed immediately.

func (*ApiService) PageRoomRecording

func (c *ApiService) PageRoomRecording(RoomSid string, params *ListRoomRecordingParams, pageToken, pageNumber string) (*ListRoomRecordingResponse, error)

Retrieve a single page of RoomRecording records from the API. Request is executed immediately.

func (*ApiService) StreamComposition

func (c *ApiService) StreamComposition(params *ListCompositionParams) (chan VideoV1Composition, chan error)

Streams Composition records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached.

func (*ApiService) StreamCompositionHook

func (c *ApiService) StreamCompositionHook(params *ListCompositionHookParams) (chan VideoV1CompositionHook, chan error)

Streams CompositionHook records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached.

func (*ApiService) StreamRecording

func (c *ApiService) StreamRecording(params *ListRecordingParams) (chan VideoV1Recording, chan error)

Streams Recording records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached.

func (*ApiService) StreamRoom

func (c *ApiService) StreamRoom(params *ListRoomParams) (chan VideoV1Room, chan error)

Streams Room records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached.

func (*ApiService) StreamRoomParticipant

func (c *ApiService) StreamRoomParticipant(RoomSid string, params *ListRoomParticipantParams) (chan VideoV1RoomParticipant, chan error)

Streams RoomParticipant records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached.

func (*ApiService) StreamRoomParticipantPublishedTrack

func (c *ApiService) StreamRoomParticipantPublishedTrack(RoomSid string, ParticipantSid string, params *ListRoomParticipantPublishedTrackParams) (chan VideoV1RoomParticipantPublishedTrack, chan error)

Streams RoomParticipantPublishedTrack records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached.

func (*ApiService) StreamRoomParticipantSubscribedTrack

func (c *ApiService) StreamRoomParticipantSubscribedTrack(RoomSid string, ParticipantSid string, params *ListRoomParticipantSubscribedTrackParams) (chan VideoV1RoomParticipantSubscribedTrack, chan error)

Streams RoomParticipantSubscribedTrack records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached.

func (*ApiService) StreamRoomRecording

func (c *ApiService) StreamRoomRecording(RoomSid string, params *ListRoomRecordingParams) (chan VideoV1RoomRecording, chan error)

Streams RoomRecording records from the API as a channel stream. This operation lazily loads records as efficiently as possible until the limit is reached.

func (*ApiService) UpdateCompositionHook

func (c *ApiService) UpdateCompositionHook(Sid string, params *UpdateCompositionHookParams) (*VideoV1CompositionHook, error)

func (*ApiService) UpdateRoom

func (c *ApiService) UpdateRoom(Sid string, params *UpdateRoomParams) (*VideoV1Room, error)

func (*ApiService) UpdateRoomParticipant

func (c *ApiService) UpdateRoomParticipant(RoomSid string, Sid string, params *UpdateRoomParticipantParams) (*VideoV1RoomParticipant, error)

func (*ApiService) UpdateRoomParticipantAnonymize

func (c *ApiService) UpdateRoomParticipantAnonymize(RoomSid string, Sid string) (*VideoV1RoomParticipantAnonymize, error)

func (*ApiService) UpdateRoomParticipantSubscribeRule

func (c *ApiService) UpdateRoomParticipantSubscribeRule(RoomSid string, ParticipantSid string, params *UpdateRoomParticipantSubscribeRuleParams) (*VideoV1RoomParticipantSubscribeRule, error)

Update the Subscribe Rules for the Participant

func (*ApiService) UpdateRoomRecordingRule

func (c *ApiService) UpdateRoomRecordingRule(RoomSid string, params *UpdateRoomRecordingRuleParams) (*VideoV1RoomRecordingRule, error)

Update the Recording Rules for the Room

type CreateCompositionHookParams

type CreateCompositionHookParams struct {
	// A descriptive string that you create to describe the resource. It can be up to  100 characters long and it must be unique within the account.
	FriendlyName *string `json:"FriendlyName,omitempty"`
	// Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook will never be triggered.
	Enabled *bool `json:"Enabled,omitempty"`
	// An object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	VideoLayout *interface{} `json:"VideoLayout,omitempty"`
	// An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`.
	AudioSources *[]string `json:"AudioSources,omitempty"`
	// An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
	AudioSourcesExcluded *[]string `json:"AudioSourcesExcluded,omitempty"`
	// A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`.  The string's format is `{width}x{height}` where:   * 16 <= `{width}` <= 1280 * 16 <= `{height}` <= 1280 * `{width}` * `{height}` <= 921,600  Typical values are:   * HD = `1280x720` * PAL = `1024x576` * VGA = `640x480` * CIF = `320x240`  Note that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	Resolution *string `json:"Resolution,omitempty"`
	//
	Format *string `json:"Format,omitempty"`
	// The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.
	StatusCallback *string `json:"StatusCallback,omitempty"`
	// The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
	StatusCallbackMethod *string `json:"StatusCallbackMethod,omitempty"`
	// Whether to clip the intervals where there is no active media in the Compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	Trim *bool `json:"Trim,omitempty"`
}

Optional parameters for the method 'CreateCompositionHook'

func (*CreateCompositionHookParams) SetAudioSources

func (params *CreateCompositionHookParams) SetAudioSources(AudioSources []string) *CreateCompositionHookParams

func (*CreateCompositionHookParams) SetAudioSourcesExcluded

func (params *CreateCompositionHookParams) SetAudioSourcesExcluded(AudioSourcesExcluded []string) *CreateCompositionHookParams

func (*CreateCompositionHookParams) SetEnabled

func (params *CreateCompositionHookParams) SetEnabled(Enabled bool) *CreateCompositionHookParams

func (*CreateCompositionHookParams) SetFormat

func (*CreateCompositionHookParams) SetFriendlyName

func (params *CreateCompositionHookParams) SetFriendlyName(FriendlyName string) *CreateCompositionHookParams

func (*CreateCompositionHookParams) SetResolution

func (params *CreateCompositionHookParams) SetResolution(Resolution string) *CreateCompositionHookParams

func (*CreateCompositionHookParams) SetStatusCallback

func (params *CreateCompositionHookParams) SetStatusCallback(StatusCallback string) *CreateCompositionHookParams

func (*CreateCompositionHookParams) SetStatusCallbackMethod

func (params *CreateCompositionHookParams) SetStatusCallbackMethod(StatusCallbackMethod string) *CreateCompositionHookParams

func (*CreateCompositionHookParams) SetTrim

func (*CreateCompositionHookParams) SetVideoLayout

func (params *CreateCompositionHookParams) SetVideoLayout(VideoLayout interface{}) *CreateCompositionHookParams

type CreateCompositionParams

type CreateCompositionParams struct {
	// The SID of the Group Room with the media tracks to be used as composition sources.
	RoomSid *string `json:"RoomSid,omitempty"`
	// An object that describes the video layout of the composition in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request
	VideoLayout *interface{} `json:"VideoLayout,omitempty"`
	// An array of track names from the same group room to merge into the new composition. Can include zero or more track names. The new composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which will match zero or more characters in a track name. For example, `student*` includes `student` as well as `studentTeam`. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request
	AudioSources *[]string `json:"AudioSources,omitempty"`
	// An array of track names to exclude. The new composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which will match zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
	AudioSourcesExcluded *[]string `json:"AudioSourcesExcluded,omitempty"`
	// A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`.  The string's format is `{width}x{height}` where:   * 16 <= `{width}` <= 1280 * 16 <= `{height}` <= 1280 * `{width}` * `{height}` <= 921,600  Typical values are:   * HD = `1280x720` * PAL = `1024x576` * VGA = `640x480` * CIF = `320x240`  Note that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	Resolution *string `json:"Resolution,omitempty"`
	//
	Format *string `json:"Format,omitempty"`
	// The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.
	StatusCallback *string `json:"StatusCallback,omitempty"`
	// The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
	StatusCallbackMethod *string `json:"StatusCallbackMethod,omitempty"`
	// Whether to clip the intervals where there is no active media in the composition. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	Trim *bool `json:"Trim,omitempty"`
}

Optional parameters for the method 'CreateComposition'

func (*CreateCompositionParams) SetAudioSources

func (params *CreateCompositionParams) SetAudioSources(AudioSources []string) *CreateCompositionParams

func (*CreateCompositionParams) SetAudioSourcesExcluded

func (params *CreateCompositionParams) SetAudioSourcesExcluded(AudioSourcesExcluded []string) *CreateCompositionParams

func (*CreateCompositionParams) SetFormat

func (params *CreateCompositionParams) SetFormat(Format string) *CreateCompositionParams

func (*CreateCompositionParams) SetResolution

func (params *CreateCompositionParams) SetResolution(Resolution string) *CreateCompositionParams

func (*CreateCompositionParams) SetRoomSid

func (params *CreateCompositionParams) SetRoomSid(RoomSid string) *CreateCompositionParams

func (*CreateCompositionParams) SetStatusCallback

func (params *CreateCompositionParams) SetStatusCallback(StatusCallback string) *CreateCompositionParams

func (*CreateCompositionParams) SetStatusCallbackMethod

func (params *CreateCompositionParams) SetStatusCallbackMethod(StatusCallbackMethod string) *CreateCompositionParams

func (*CreateCompositionParams) SetTrim

func (params *CreateCompositionParams) SetTrim(Trim bool) *CreateCompositionParams

func (*CreateCompositionParams) SetVideoLayout

func (params *CreateCompositionParams) SetVideoLayout(VideoLayout interface{}) *CreateCompositionParams

type CreateCompositionSettingsParams

type CreateCompositionSettingsParams struct {
	// A descriptive string that you create to describe the resource and show to the user in the console
	FriendlyName *string `json:"FriendlyName,omitempty"`
	// The SID of the stored Credential resource.
	AwsCredentialsSid *string `json:"AwsCredentialsSid,omitempty"`
	// The SID of the Public Key resource to use for encryption.
	EncryptionKeySid *string `json:"EncryptionKeySid,omitempty"`
	// The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the <a href='https://tools.ietf.org/html/rfc3986#section-2'>RFC 3986</a>.
	AwsS3Url *string `json:"AwsS3Url,omitempty"`
	// Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.
	AwsStorageEnabled *bool `json:"AwsStorageEnabled,omitempty"`
	// Whether all compositions should be stored in an encrypted form. The default is `false`.
	EncryptionEnabled *bool `json:"EncryptionEnabled,omitempty"`
}

Optional parameters for the method 'CreateCompositionSettings'

func (*CreateCompositionSettingsParams) SetAwsCredentialsSid

func (params *CreateCompositionSettingsParams) SetAwsCredentialsSid(AwsCredentialsSid string) *CreateCompositionSettingsParams

func (*CreateCompositionSettingsParams) SetAwsS3Url

func (*CreateCompositionSettingsParams) SetAwsStorageEnabled

func (params *CreateCompositionSettingsParams) SetAwsStorageEnabled(AwsStorageEnabled bool) *CreateCompositionSettingsParams

func (*CreateCompositionSettingsParams) SetEncryptionEnabled

func (params *CreateCompositionSettingsParams) SetEncryptionEnabled(EncryptionEnabled bool) *CreateCompositionSettingsParams

func (*CreateCompositionSettingsParams) SetEncryptionKeySid

func (params *CreateCompositionSettingsParams) SetEncryptionKeySid(EncryptionKeySid string) *CreateCompositionSettingsParams

func (*CreateCompositionSettingsParams) SetFriendlyName

func (params *CreateCompositionSettingsParams) SetFriendlyName(FriendlyName string) *CreateCompositionSettingsParams

type CreateRecordingSettingsParams

type CreateRecordingSettingsParams struct {
	// A descriptive string that you create to describe the resource and be shown to users in the console
	FriendlyName *string `json:"FriendlyName,omitempty"`
	// The SID of the stored Credential resource.
	AwsCredentialsSid *string `json:"AwsCredentialsSid,omitempty"`
	// The SID of the Public Key resource to use for encryption.
	EncryptionKeySid *string `json:"EncryptionKeySid,omitempty"`
	// The URL of the AWS S3 bucket where the recordings should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/recordings`, where `recordings` is the path in which you want the recordings to be stored. This URL accepts only URI-valid characters, as described in the <a href='https://tools.ietf.org/html/rfc3986#section-2'>RFC 3986</a>.
	AwsS3Url *string `json:"AwsS3Url,omitempty"`
	// Whether all recordings should be written to the `aws_s3_url`. When `false`, all recordings are stored in our cloud.
	AwsStorageEnabled *bool `json:"AwsStorageEnabled,omitempty"`
	// Whether all recordings should be stored in an encrypted form. The default is `false`.
	EncryptionEnabled *bool `json:"EncryptionEnabled,omitempty"`
}

Optional parameters for the method 'CreateRecordingSettings'

func (*CreateRecordingSettingsParams) SetAwsCredentialsSid

func (params *CreateRecordingSettingsParams) SetAwsCredentialsSid(AwsCredentialsSid string) *CreateRecordingSettingsParams

func (*CreateRecordingSettingsParams) SetAwsS3Url

func (*CreateRecordingSettingsParams) SetAwsStorageEnabled

func (params *CreateRecordingSettingsParams) SetAwsStorageEnabled(AwsStorageEnabled bool) *CreateRecordingSettingsParams

func (*CreateRecordingSettingsParams) SetEncryptionEnabled

func (params *CreateRecordingSettingsParams) SetEncryptionEnabled(EncryptionEnabled bool) *CreateRecordingSettingsParams

func (*CreateRecordingSettingsParams) SetEncryptionKeySid

func (params *CreateRecordingSettingsParams) SetEncryptionKeySid(EncryptionKeySid string) *CreateRecordingSettingsParams

func (*CreateRecordingSettingsParams) SetFriendlyName

func (params *CreateRecordingSettingsParams) SetFriendlyName(FriendlyName string) *CreateRecordingSettingsParams

type CreateRoomParams

type CreateRoomParams struct {
	// Deprecated, now always considered to be true.
	EnableTurn *bool `json:"EnableTurn,omitempty"`
	//
	Type *string `json:"Type,omitempty"`
	// An application-defined string that uniquely identifies the resource. It can be used as a `room_sid` in place of the resource's `sid` in the URL to address the resource, assuming it does not contain any [reserved characters](https://tools.ietf.org/html/rfc3986#section-2.2) that would need to be URL encoded. This value is unique for `in-progress` rooms. SDK clients can use this name to connect to the room. REST API clients can use this name in place of the Room SID to interact with the room as long as the room is `in-progress`.
	UniqueName *string `json:"UniqueName,omitempty"`
	// The URL we should call using the `status_callback_method` to send status information to your application on every room event. See [Status Callbacks](https://www.twilio.com/docs/video/api/status-callbacks) for more info.
	StatusCallback *string `json:"StatusCallback,omitempty"`
	// The HTTP method we should use to call `status_callback`. Can be `POST` or `GET`.
	StatusCallbackMethod *string `json:"StatusCallbackMethod,omitempty"`
	// The maximum number of concurrent Participants allowed in the room. Peer-to-peer rooms can have up to 10 Participants. Small Group rooms can have up to 4 Participants. Group rooms can have up to 50 Participants.
	MaxParticipants *int `json:"MaxParticipants,omitempty"`
	// Whether to start recording when Participants connect. ***This feature is not available in `peer-to-peer` rooms.***
	RecordParticipantsOnConnect *bool `json:"RecordParticipantsOnConnect,omitempty"`
	// An array of the video codecs that are supported when publishing a track in the room.  Can be: `VP8` and `H264`.  ***This feature is not available in `peer-to-peer` rooms***
	VideoCodecs *[]string `json:"VideoCodecs,omitempty"`
	// The region for the media server in Group Rooms.  Can be: one of the [available Media Regions](https://www.twilio.com/docs/video/ip-addresses#group-rooms-media-servers). ***This feature is not available in `peer-to-peer` rooms.***
	MediaRegion *string `json:"MediaRegion,omitempty"`
	// A collection of Recording Rules that describe how to include or exclude matching tracks for recording
	RecordingRules *interface{} `json:"RecordingRules,omitempty"`
	// When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed. Group rooms only.
	AudioOnly *bool `json:"AudioOnly,omitempty"`
	// The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours).
	MaxParticipantDuration *int `json:"MaxParticipantDuration,omitempty"`
	// Configures how long (in minutes) a room will remain active after last participant leaves. Valid values range from 1 to 60 minutes (no fractions).
	EmptyRoomTimeout *int `json:"EmptyRoomTimeout,omitempty"`
	// Configures how long (in minutes) a room will remain active if no one joins. Valid values range from 1 to 60 minutes (no fractions).
	UnusedRoomTimeout *int `json:"UnusedRoomTimeout,omitempty"`
	// When set to true, indicated that this is the large room.
	LargeRoom *bool `json:"LargeRoom,omitempty"`
}

Optional parameters for the method 'CreateRoom'

func (*CreateRoomParams) SetAudioOnly

func (params *CreateRoomParams) SetAudioOnly(AudioOnly bool) *CreateRoomParams

func (*CreateRoomParams) SetEmptyRoomTimeout

func (params *CreateRoomParams) SetEmptyRoomTimeout(EmptyRoomTimeout int) *CreateRoomParams

func (*CreateRoomParams) SetEnableTurn

func (params *CreateRoomParams) SetEnableTurn(EnableTurn bool) *CreateRoomParams

func (*CreateRoomParams) SetLargeRoom

func (params *CreateRoomParams) SetLargeRoom(LargeRoom bool) *CreateRoomParams

func (*CreateRoomParams) SetMaxParticipantDuration

func (params *CreateRoomParams) SetMaxParticipantDuration(MaxParticipantDuration int) *CreateRoomParams

func (*CreateRoomParams) SetMaxParticipants

func (params *CreateRoomParams) SetMaxParticipants(MaxParticipants int) *CreateRoomParams

func (*CreateRoomParams) SetMediaRegion

func (params *CreateRoomParams) SetMediaRegion(MediaRegion string) *CreateRoomParams

func (*CreateRoomParams) SetRecordParticipantsOnConnect

func (params *CreateRoomParams) SetRecordParticipantsOnConnect(RecordParticipantsOnConnect bool) *CreateRoomParams

func (*CreateRoomParams) SetRecordingRules

func (params *CreateRoomParams) SetRecordingRules(RecordingRules interface{}) *CreateRoomParams

func (*CreateRoomParams) SetStatusCallback

func (params *CreateRoomParams) SetStatusCallback(StatusCallback string) *CreateRoomParams

func (*CreateRoomParams) SetStatusCallbackMethod

func (params *CreateRoomParams) SetStatusCallbackMethod(StatusCallbackMethod string) *CreateRoomParams

func (*CreateRoomParams) SetType

func (params *CreateRoomParams) SetType(Type string) *CreateRoomParams

func (*CreateRoomParams) SetUniqueName

func (params *CreateRoomParams) SetUniqueName(UniqueName string) *CreateRoomParams

func (*CreateRoomParams) SetUnusedRoomTimeout

func (params *CreateRoomParams) SetUnusedRoomTimeout(UnusedRoomTimeout int) *CreateRoomParams

func (*CreateRoomParams) SetVideoCodecs

func (params *CreateRoomParams) SetVideoCodecs(VideoCodecs []string) *CreateRoomParams

type ListCompositionHookParams

type ListCompositionHookParams struct {
	// Read only CompositionHook resources with an `enabled` value that matches this parameter.
	Enabled *bool `json:"Enabled,omitempty"`
	// Read only CompositionHook resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
	DateCreatedAfter *time.Time `json:"DateCreatedAfter,omitempty"`
	// Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
	DateCreatedBefore *time.Time `json:"DateCreatedBefore,omitempty"`
	// Read only CompositionHook resources with friendly names that match this string. The match is not case sensitive and can include asterisk `*` characters as wildcard match.
	FriendlyName *string `json:"FriendlyName,omitempty"`
	// How many resources to return in each list page. The default is 50, and the maximum is 1000.
	PageSize *int `json:"PageSize,omitempty"`
	// Max number of records to return.
	Limit *int `json:"limit,omitempty"`
}

Optional parameters for the method 'ListCompositionHook'

func (*ListCompositionHookParams) SetDateCreatedAfter

func (params *ListCompositionHookParams) SetDateCreatedAfter(DateCreatedAfter time.Time) *ListCompositionHookParams

func (*ListCompositionHookParams) SetDateCreatedBefore

func (params *ListCompositionHookParams) SetDateCreatedBefore(DateCreatedBefore time.Time) *ListCompositionHookParams

func (*ListCompositionHookParams) SetEnabled

func (params *ListCompositionHookParams) SetEnabled(Enabled bool) *ListCompositionHookParams

func (*ListCompositionHookParams) SetFriendlyName

func (params *ListCompositionHookParams) SetFriendlyName(FriendlyName string) *ListCompositionHookParams

func (*ListCompositionHookParams) SetLimit

func (params *ListCompositionHookParams) SetLimit(Limit int) *ListCompositionHookParams

func (*ListCompositionHookParams) SetPageSize

func (params *ListCompositionHookParams) SetPageSize(PageSize int) *ListCompositionHookParams

type ListCompositionHookResponse

type ListCompositionHookResponse struct {
	CompositionHooks []VideoV1CompositionHook    `json:"composition_hooks,omitempty"`
	Meta             ListCompositionResponseMeta `json:"meta,omitempty"`
}

ListCompositionHookResponse struct for ListCompositionHookResponse

type ListCompositionParams

type ListCompositionParams struct {
	// Read only Composition resources with this status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.
	Status *string `json:"Status,omitempty"`
	// Read only Composition resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone.
	DateCreatedAfter *time.Time `json:"DateCreatedAfter,omitempty"`
	// Read only Composition resources created before this ISO 8601 date-time with time zone.
	DateCreatedBefore *time.Time `json:"DateCreatedBefore,omitempty"`
	// Read only Composition resources with this Room SID.
	RoomSid *string `json:"RoomSid,omitempty"`
	// How many resources to return in each list page. The default is 50, and the maximum is 1000.
	PageSize *int `json:"PageSize,omitempty"`
	// Max number of records to return.
	Limit *int `json:"limit,omitempty"`
}

Optional parameters for the method 'ListComposition'

func (*ListCompositionParams) SetDateCreatedAfter

func (params *ListCompositionParams) SetDateCreatedAfter(DateCreatedAfter time.Time) *ListCompositionParams

func (*ListCompositionParams) SetDateCreatedBefore

func (params *ListCompositionParams) SetDateCreatedBefore(DateCreatedBefore time.Time) *ListCompositionParams

func (*ListCompositionParams) SetLimit

func (params *ListCompositionParams) SetLimit(Limit int) *ListCompositionParams

func (*ListCompositionParams) SetPageSize

func (params *ListCompositionParams) SetPageSize(PageSize int) *ListCompositionParams

func (*ListCompositionParams) SetRoomSid

func (params *ListCompositionParams) SetRoomSid(RoomSid string) *ListCompositionParams

func (*ListCompositionParams) SetStatus

func (params *ListCompositionParams) SetStatus(Status string) *ListCompositionParams

type ListCompositionResponse

type ListCompositionResponse struct {
	Compositions []VideoV1Composition        `json:"compositions,omitempty"`
	Meta         ListCompositionResponseMeta `json:"meta,omitempty"`
}

ListCompositionResponse struct for ListCompositionResponse

type ListCompositionResponseMeta

type ListCompositionResponseMeta struct {
	FirstPageUrl    string  `json:"first_page_url,omitempty"`
	NextPageUrl     *string `json:"next_page_url,omitempty"`
	Page            int     `json:"page,omitempty"`
	PageSize        int     `json:"page_size,omitempty"`
	PreviousPageUrl *string `json:"previous_page_url,omitempty"`
	Url             string  `json:"url,omitempty"`
	Key             string  `json:"key,omitempty"`
}

ListCompositionResponseMeta struct for ListCompositionResponseMeta

type ListRecordingParams

type ListRecordingParams struct {
	// Read only the recordings that have this status. Can be: `processing`, `completed`, or `deleted`.
	Status *string `json:"Status,omitempty"`
	// Read only the recordings that have this `source_sid`.
	SourceSid *string `json:"SourceSid,omitempty"`
	// Read only recordings with this `grouping_sid`, which may include a `participant_sid` and/or a `room_sid`.
	GroupingSid *[]string `json:"GroupingSid,omitempty"`
	// Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone.
	DateCreatedAfter *time.Time `json:"DateCreatedAfter,omitempty"`
	// Read only recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or `YYYY-MM-DDThh:mm:ssZ`.
	DateCreatedBefore *time.Time `json:"DateCreatedBefore,omitempty"`
	// Read only recordings that have this media type. Can be either `audio` or `video`.
	MediaType *string `json:"MediaType,omitempty"`
	// How many resources to return in each list page. The default is 50, and the maximum is 1000.
	PageSize *int `json:"PageSize,omitempty"`
	// Max number of records to return.
	Limit *int `json:"limit,omitempty"`
}

Optional parameters for the method 'ListRecording'

func (*ListRecordingParams) SetDateCreatedAfter

func (params *ListRecordingParams) SetDateCreatedAfter(DateCreatedAfter time.Time) *ListRecordingParams

func (*ListRecordingParams) SetDateCreatedBefore

func (params *ListRecordingParams) SetDateCreatedBefore(DateCreatedBefore time.Time) *ListRecordingParams

func (*ListRecordingParams) SetGroupingSid

func (params *ListRecordingParams) SetGroupingSid(GroupingSid []string) *ListRecordingParams

func (*ListRecordingParams) SetLimit

func (params *ListRecordingParams) SetLimit(Limit int) *ListRecordingParams

func (*ListRecordingParams) SetMediaType

func (params *ListRecordingParams) SetMediaType(MediaType string) *ListRecordingParams

func (*ListRecordingParams) SetPageSize

func (params *ListRecordingParams) SetPageSize(PageSize int) *ListRecordingParams

func (*ListRecordingParams) SetSourceSid

func (params *ListRecordingParams) SetSourceSid(SourceSid string) *ListRecordingParams

func (*ListRecordingParams) SetStatus

func (params *ListRecordingParams) SetStatus(Status string) *ListRecordingParams

type ListRecordingResponse

type ListRecordingResponse struct {
	Recordings []VideoV1Recording          `json:"recordings,omitempty"`
	Meta       ListCompositionResponseMeta `json:"meta,omitempty"`
}

ListRecordingResponse struct for ListRecordingResponse

type ListRoomParams

type ListRoomParams struct {
	// Read only the rooms with this status. Can be: `in-progress` (default) or `completed`
	Status *string `json:"Status,omitempty"`
	// Read only rooms with the this `unique_name`.
	UniqueName *string `json:"UniqueName,omitempty"`
	// Read only rooms that started on or after this date, given as `YYYY-MM-DD`.
	DateCreatedAfter *time.Time `json:"DateCreatedAfter,omitempty"`
	// Read only rooms that started before this date, given as `YYYY-MM-DD`.
	DateCreatedBefore *time.Time `json:"DateCreatedBefore,omitempty"`
	// How many resources to return in each list page. The default is 50, and the maximum is 1000.
	PageSize *int `json:"PageSize,omitempty"`
	// Max number of records to return.
	Limit *int `json:"limit,omitempty"`
}

Optional parameters for the method 'ListRoom'

func (*ListRoomParams) SetDateCreatedAfter

func (params *ListRoomParams) SetDateCreatedAfter(DateCreatedAfter time.Time) *ListRoomParams

func (*ListRoomParams) SetDateCreatedBefore

func (params *ListRoomParams) SetDateCreatedBefore(DateCreatedBefore time.Time) *ListRoomParams

func (*ListRoomParams) SetLimit

func (params *ListRoomParams) SetLimit(Limit int) *ListRoomParams

func (*ListRoomParams) SetPageSize

func (params *ListRoomParams) SetPageSize(PageSize int) *ListRoomParams

func (*ListRoomParams) SetStatus

func (params *ListRoomParams) SetStatus(Status string) *ListRoomParams

func (*ListRoomParams) SetUniqueName

func (params *ListRoomParams) SetUniqueName(UniqueName string) *ListRoomParams

type ListRoomParticipantParams

type ListRoomParticipantParams struct {
	// Read only the participants with this status. Can be: `connected` or `disconnected`. For `in-progress` Rooms the default Status is `connected`, for `completed` Rooms only `disconnected` Participants are returned.
	Status *string `json:"Status,omitempty"`
	// Read only the Participants with this [User](https://www.twilio.com/docs/chat/rest/user-resource) `identity` value.
	Identity *string `json:"Identity,omitempty"`
	// Read only Participants that started after this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.
	DateCreatedAfter *time.Time `json:"DateCreatedAfter,omitempty"`
	// Read only Participants that started before this date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.
	DateCreatedBefore *time.Time `json:"DateCreatedBefore,omitempty"`
	// How many resources to return in each list page. The default is 50, and the maximum is 1000.
	PageSize *int `json:"PageSize,omitempty"`
	// Max number of records to return.
	Limit *int `json:"limit,omitempty"`
}

Optional parameters for the method 'ListRoomParticipant'

func (*ListRoomParticipantParams) SetDateCreatedAfter

func (params *ListRoomParticipantParams) SetDateCreatedAfter(DateCreatedAfter time.Time) *ListRoomParticipantParams

func (*ListRoomParticipantParams) SetDateCreatedBefore

func (params *ListRoomParticipantParams) SetDateCreatedBefore(DateCreatedBefore time.Time) *ListRoomParticipantParams

func (*ListRoomParticipantParams) SetIdentity

func (params *ListRoomParticipantParams) SetIdentity(Identity string) *ListRoomParticipantParams

func (*ListRoomParticipantParams) SetLimit

func (params *ListRoomParticipantParams) SetLimit(Limit int) *ListRoomParticipantParams

func (*ListRoomParticipantParams) SetPageSize

func (params *ListRoomParticipantParams) SetPageSize(PageSize int) *ListRoomParticipantParams

func (*ListRoomParticipantParams) SetStatus

func (params *ListRoomParticipantParams) SetStatus(Status string) *ListRoomParticipantParams

type ListRoomParticipantPublishedTrackParams

type ListRoomParticipantPublishedTrackParams struct {
	// How many resources to return in each list page. The default is 50, and the maximum is 1000.
	PageSize *int `json:"PageSize,omitempty"`
	// Max number of records to return.
	Limit *int `json:"limit,omitempty"`
}

Optional parameters for the method 'ListRoomParticipantPublishedTrack'

func (*ListRoomParticipantPublishedTrackParams) SetLimit

func (*ListRoomParticipantPublishedTrackParams) SetPageSize

type ListRoomParticipantPublishedTrackResponse

type ListRoomParticipantPublishedTrackResponse struct {
	PublishedTracks []VideoV1RoomParticipantPublishedTrack `json:"published_tracks,omitempty"`
	Meta            ListCompositionResponseMeta            `json:"meta,omitempty"`
}

ListRoomParticipantPublishedTrackResponse struct for ListRoomParticipantPublishedTrackResponse

type ListRoomParticipantResponse

type ListRoomParticipantResponse struct {
	Participants []VideoV1RoomParticipant    `json:"participants,omitempty"`
	Meta         ListCompositionResponseMeta `json:"meta,omitempty"`
}

ListRoomParticipantResponse struct for ListRoomParticipantResponse

type ListRoomParticipantSubscribedTrackParams

type ListRoomParticipantSubscribedTrackParams struct {
	// How many resources to return in each list page. The default is 50, and the maximum is 1000.
	PageSize *int `json:"PageSize,omitempty"`
	// Max number of records to return.
	Limit *int `json:"limit,omitempty"`
}

Optional parameters for the method 'ListRoomParticipantSubscribedTrack'

func (*ListRoomParticipantSubscribedTrackParams) SetLimit

func (*ListRoomParticipantSubscribedTrackParams) SetPageSize

type ListRoomParticipantSubscribedTrackResponse

type ListRoomParticipantSubscribedTrackResponse struct {
	SubscribedTracks []VideoV1RoomParticipantSubscribedTrack `json:"subscribed_tracks,omitempty"`
	Meta             ListCompositionResponseMeta             `json:"meta,omitempty"`
}

ListRoomParticipantSubscribedTrackResponse struct for ListRoomParticipantSubscribedTrackResponse

type ListRoomRecordingParams

type ListRoomRecordingParams struct {
	// Read only the recordings with this status. Can be: `processing`, `completed`, or `deleted`.
	Status *string `json:"Status,omitempty"`
	// Read only the recordings that have this `source_sid`.
	SourceSid *string `json:"SourceSid,omitempty"`
	// Read only recordings that started on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
	DateCreatedAfter *time.Time `json:"DateCreatedAfter,omitempty"`
	// Read only Recordings that started before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
	DateCreatedBefore *time.Time `json:"DateCreatedBefore,omitempty"`
	// How many resources to return in each list page. The default is 50, and the maximum is 1000.
	PageSize *int `json:"PageSize,omitempty"`
	// Max number of records to return.
	Limit *int `json:"limit,omitempty"`
}

Optional parameters for the method 'ListRoomRecording'

func (*ListRoomRecordingParams) SetDateCreatedAfter

func (params *ListRoomRecordingParams) SetDateCreatedAfter(DateCreatedAfter time.Time) *ListRoomRecordingParams

func (*ListRoomRecordingParams) SetDateCreatedBefore

func (params *ListRoomRecordingParams) SetDateCreatedBefore(DateCreatedBefore time.Time) *ListRoomRecordingParams

func (*ListRoomRecordingParams) SetLimit

func (params *ListRoomRecordingParams) SetLimit(Limit int) *ListRoomRecordingParams

func (*ListRoomRecordingParams) SetPageSize

func (params *ListRoomRecordingParams) SetPageSize(PageSize int) *ListRoomRecordingParams

func (*ListRoomRecordingParams) SetSourceSid

func (params *ListRoomRecordingParams) SetSourceSid(SourceSid string) *ListRoomRecordingParams

func (*ListRoomRecordingParams) SetStatus

func (params *ListRoomRecordingParams) SetStatus(Status string) *ListRoomRecordingParams

type ListRoomRecordingResponse

type ListRoomRecordingResponse struct {
	Recordings []VideoV1RoomRecording      `json:"recordings,omitempty"`
	Meta       ListCompositionResponseMeta `json:"meta,omitempty"`
}

ListRoomRecordingResponse struct for ListRoomRecordingResponse

type ListRoomResponse

type ListRoomResponse struct {
	Rooms []VideoV1Room               `json:"rooms,omitempty"`
	Meta  ListCompositionResponseMeta `json:"meta,omitempty"`
}

ListRoomResponse struct for ListRoomResponse

type UpdateCompositionHookParams

type UpdateCompositionHookParams struct {
	// A descriptive string that you create to describe the resource. It can be up to  100 characters long and it must be unique within the account.
	FriendlyName *string `json:"FriendlyName,omitempty"`
	// Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook never triggers.
	Enabled *bool `json:"Enabled,omitempty"`
	// A JSON object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	VideoLayout *interface{} `json:"VideoLayout,omitempty"`
	// An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`.
	AudioSources *[]string `json:"AudioSources,omitempty"`
	// An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
	AudioSourcesExcluded *[]string `json:"AudioSourcesExcluded,omitempty"`
	// Whether to clip the intervals where there is no active media in the compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	Trim *bool `json:"Trim,omitempty"`
	//
	Format *string `json:"Format,omitempty"`
	// A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`.  The string's format is `{width}x{height}` where:   * 16 <= `{width}` <= 1280 * 16 <= `{height}` <= 1280 * `{width}` * `{height}` <= 921,600  Typical values are:   * HD = `1280x720` * PAL = `1024x576` * VGA = `640x480` * CIF = `320x240`  Note that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	Resolution *string `json:"Resolution,omitempty"`
	// The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.
	StatusCallback *string `json:"StatusCallback,omitempty"`
	// The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
	StatusCallbackMethod *string `json:"StatusCallbackMethod,omitempty"`
}

Optional parameters for the method 'UpdateCompositionHook'

func (*UpdateCompositionHookParams) SetAudioSources

func (params *UpdateCompositionHookParams) SetAudioSources(AudioSources []string) *UpdateCompositionHookParams

func (*UpdateCompositionHookParams) SetAudioSourcesExcluded

func (params *UpdateCompositionHookParams) SetAudioSourcesExcluded(AudioSourcesExcluded []string) *UpdateCompositionHookParams

func (*UpdateCompositionHookParams) SetEnabled

func (params *UpdateCompositionHookParams) SetEnabled(Enabled bool) *UpdateCompositionHookParams

func (*UpdateCompositionHookParams) SetFormat

func (*UpdateCompositionHookParams) SetFriendlyName

func (params *UpdateCompositionHookParams) SetFriendlyName(FriendlyName string) *UpdateCompositionHookParams

func (*UpdateCompositionHookParams) SetResolution

func (params *UpdateCompositionHookParams) SetResolution(Resolution string) *UpdateCompositionHookParams

func (*UpdateCompositionHookParams) SetStatusCallback

func (params *UpdateCompositionHookParams) SetStatusCallback(StatusCallback string) *UpdateCompositionHookParams

func (*UpdateCompositionHookParams) SetStatusCallbackMethod

func (params *UpdateCompositionHookParams) SetStatusCallbackMethod(StatusCallbackMethod string) *UpdateCompositionHookParams

func (*UpdateCompositionHookParams) SetTrim

func (*UpdateCompositionHookParams) SetVideoLayout

func (params *UpdateCompositionHookParams) SetVideoLayout(VideoLayout interface{}) *UpdateCompositionHookParams

type UpdateRoomParams

type UpdateRoomParams struct {
	//
	Status *string `json:"Status,omitempty"`
}

Optional parameters for the method 'UpdateRoom'

func (*UpdateRoomParams) SetStatus

func (params *UpdateRoomParams) SetStatus(Status string) *UpdateRoomParams

type UpdateRoomParticipantParams

type UpdateRoomParticipantParams struct {
	//
	Status *string `json:"Status,omitempty"`
}

Optional parameters for the method 'UpdateRoomParticipant'

func (*UpdateRoomParticipantParams) SetStatus

type UpdateRoomParticipantSubscribeRuleParams

type UpdateRoomParticipantSubscribeRuleParams struct {
	// A JSON-encoded array of subscribe rules. See the [Specifying Subscribe Rules](https://www.twilio.com/docs/video/api/track-subscriptions#specifying-sr) section for further information.
	Rules *interface{} `json:"Rules,omitempty"`
}

Optional parameters for the method 'UpdateRoomParticipantSubscribeRule'

func (*UpdateRoomParticipantSubscribeRuleParams) SetRules

type UpdateRoomRecordingRuleParams

type UpdateRoomRecordingRuleParams struct {
	// A JSON-encoded array of recording rules.
	Rules *interface{} `json:"Rules,omitempty"`
}

Optional parameters for the method 'UpdateRoomRecordingRule'

func (*UpdateRoomRecordingRuleParams) SetRules

func (params *UpdateRoomRecordingRuleParams) SetRules(Rules interface{}) *UpdateRoomRecordingRuleParams

type VideoV1Composition

type VideoV1Composition struct {
	// The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Composition resource.
	AccountSid *string `json:"account_sid,omitempty"`
	Status     *string `json:"status,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The date and time in GMT when the composition's media processing task finished, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCompleted *time.Time `json:"date_completed,omitempty"`
	// The date and time in GMT when the composition generated media was deleted, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateDeleted *time.Time `json:"date_deleted,omitempty"`
	// The unique string that we created to identify the Composition resource.
	Sid *string `json:"sid,omitempty"`
	// The SID of the Group Room that generated the audio and video tracks used in the composition. All media sources included in a composition must belong to the same Group Room.
	RoomSid *string `json:"room_sid,omitempty"`
	// The array of track names to include in the composition. The composition includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this property can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`.
	AudioSources *[]string `json:"audio_sources,omitempty"`
	// The array of track names to exclude from the composition. The composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this property can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
	AudioSourcesExcluded *[]string `json:"audio_sources_excluded,omitempty"`
	// An object that describes the video layout of the composition in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	VideoLayout *interface{} `json:"video_layout,omitempty"`
	// The dimensions of the video image in pixels expressed as columns (width) and rows (height). The string's format is `{width}x{height}`, such as `640x480`.
	Resolution *string `json:"resolution,omitempty"`
	// Whether to remove intervals with no media, as specified in the POST request that created the composition. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	Trim   *bool   `json:"trim,omitempty"`
	Format *string `json:"format,omitempty"`
	// The average bit rate of the composition's media.
	Bitrate *int `json:"bitrate,omitempty"`
	// The size of the composed media file in bytes.
	Size *int64 `json:"size,omitempty"`
	// The duration of the composition's media file in seconds.
	Duration *int `json:"duration,omitempty"`
	// The URL of the media file associated with the composition when stored externally. See [External S3 Compositions](/docs/video/api/external-s3-compositions) for more details.
	MediaExternalLocation *string `json:"media_external_location,omitempty"`
	// The URL called using the `status_callback_method` to send status information on every composition event.
	StatusCallback *string `json:"status_callback,omitempty"`
	// The HTTP method used to call `status_callback`. Can be: `POST` or `GET`, defaults to `POST`.
	StatusCallbackMethod *string `json:"status_callback_method,omitempty"`
	// The absolute URL of the resource.
	Url *string `json:"url,omitempty"`
	// The URL of the media file associated with the composition.
	Links *map[string]interface{} `json:"links,omitempty"`
}

VideoV1Composition struct for VideoV1Composition

type VideoV1CompositionHook

type VideoV1CompositionHook struct {
	// The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CompositionHook resource.
	AccountSid *string `json:"account_sid,omitempty"`
	// The string that you assigned to describe the resource. Can be up to 100 characters long and must be unique within the account.
	FriendlyName *string `json:"friendly_name,omitempty"`
	// Whether the CompositionHook is active. When `true`, the CompositionHook is triggered for every completed Group Room on the account. When `false`, the CompositionHook is never triggered.
	Enabled *bool `json:"enabled,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateUpdated *time.Time `json:"date_updated,omitempty"`
	// The unique string that we created to identify the CompositionHook resource.
	Sid *string `json:"sid,omitempty"`
	// The array of track names to include in the compositions created by the composition hook. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this property can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request
	AudioSources *[]string `json:"audio_sources,omitempty"`
	// The array of track names to exclude from the compositions created by the composition hook. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this property can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
	AudioSourcesExcluded *[]string `json:"audio_sources_excluded,omitempty"`
	// A JSON object that describes the video layout of the composition in terms of regions as specified in the HTTP POST request that created the CompositionHook resource. See [POST Parameters](https://www.twilio.com/docs/video/api/compositions-resource#http-post-parameters) for more information. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request
	VideoLayout *interface{} `json:"video_layout,omitempty"`
	// The dimensions of the video image in pixels expressed as columns (width) and rows (height). The string's format is `{width}x{height}`, such as `640x480`.
	Resolution *string `json:"resolution,omitempty"`
	// Whether intervals with no media are clipped, as specified in the POST request that created the CompositionHook resource. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
	Trim   *bool   `json:"trim,omitempty"`
	Format *string `json:"format,omitempty"`
	// The URL we call using the `status_callback_method` to send status information to your application.
	StatusCallback *string `json:"status_callback,omitempty"`
	// The HTTP method we should use to call `status_callback`. Can be `POST` or `GET` and defaults to `POST`.
	StatusCallbackMethod *string `json:"status_callback_method,omitempty"`
	// The absolute URL of the resource.
	Url *string `json:"url,omitempty"`
}

VideoV1CompositionHook struct for VideoV1CompositionHook

type VideoV1CompositionSettings

type VideoV1CompositionSettings struct {
	// The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CompositionSettings resource.
	AccountSid *string `json:"account_sid,omitempty"`
	// The string that you assigned to describe the resource and that will be shown in the console
	FriendlyName *string `json:"friendly_name,omitempty"`
	// The SID of the stored Credential resource.
	AwsCredentialsSid *string `json:"aws_credentials_sid,omitempty"`
	// The URL of the AWS S3 bucket where the compositions are stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the <a href='https://tools.ietf.org/html/rfc3986#section-2'>RFC 3986</a>.
	AwsS3Url *string `json:"aws_s3_url,omitempty"`
	// Whether all compositions are written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.
	AwsStorageEnabled *bool `json:"aws_storage_enabled,omitempty"`
	// The SID of the Public Key resource used for encryption.
	EncryptionKeySid *string `json:"encryption_key_sid,omitempty"`
	// Whether all compositions are stored in an encrypted form. The default is `false`.
	EncryptionEnabled *bool `json:"encryption_enabled,omitempty"`
	// The absolute URL of the resource.
	Url *string `json:"url,omitempty"`
}

VideoV1CompositionSettings struct for VideoV1CompositionSettings

type VideoV1Recording

type VideoV1Recording struct {
	// The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Recording resource.
	AccountSid *string `json:"account_sid,omitempty"`
	Status     *string `json:"status,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The unique string that we created to identify the Recording resource.
	Sid *string `json:"sid,omitempty"`
	// The SID of the recording source. For a Room Recording, this value is a `track_sid`.
	SourceSid *string `json:"source_sid,omitempty"`
	// The size of the recorded track, in bytes.
	Size *int64 `json:"size,omitempty"`
	// The absolute URL of the resource.
	Url  *string `json:"url,omitempty"`
	Type *string `json:"type,omitempty"`
	// The duration of the recording in seconds rounded to the nearest second. Sub-second tracks have a `Duration` property of 1 second
	Duration        *int    `json:"duration,omitempty"`
	ContainerFormat *string `json:"container_format,omitempty"`
	Codec           *string `json:"codec,omitempty"`
	// A list of SIDs related to the recording. Includes the `room_sid` and `participant_sid`.
	GroupingSids *interface{} `json:"grouping_sids,omitempty"`
	// The name that was given to the source track of the recording. If no name is given, the `source_sid` is used.
	TrackName *string `json:"track_name,omitempty"`
	// The time in milliseconds elapsed between an arbitrary point in time, common to all group rooms, and the moment when the source room of this track started. This information provides a synchronization mechanism for recordings belonging to the same room.
	Offset *int64 `json:"offset,omitempty"`
	// The URL of the media file associated with the recording when stored externally. See [External S3 Recordings](/docs/video/api/external-s3-recordings) for more details.
	MediaExternalLocation *string `json:"media_external_location,omitempty"`
	// The URL called using the `status_callback_method` to send status information on every recording event.
	StatusCallback *string `json:"status_callback,omitempty"`
	// The HTTP method used to call `status_callback`. Can be: `POST` or `GET`, defaults to `POST`.
	StatusCallbackMethod *string `json:"status_callback_method,omitempty"`
	// The URLs of related resources.
	Links *map[string]interface{} `json:"links,omitempty"`
}

VideoV1Recording struct for VideoV1Recording

type VideoV1RecordingSettings

type VideoV1RecordingSettings struct {
	// The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the RecordingSettings resource.
	AccountSid *string `json:"account_sid,omitempty"`
	// The string that you assigned to describe the resource and show the user in the console
	FriendlyName *string `json:"friendly_name,omitempty"`
	// The SID of the stored Credential resource.
	AwsCredentialsSid *string `json:"aws_credentials_sid,omitempty"`
	// The URL of the AWS S3 bucket where the recordings are stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/recordings`, where `recordings` is the path in which you want the recordings to be stored. This URL accepts only URI-valid characters, as described in the <a href='https://tools.ietf.org/html/rfc3986#section-2'>RFC 3986</a>.
	AwsS3Url *string `json:"aws_s3_url,omitempty"`
	// Whether all recordings are written to the `aws_s3_url`. When `false`, all recordings are stored in our cloud.
	AwsStorageEnabled *bool `json:"aws_storage_enabled,omitempty"`
	// The SID of the Public Key resource used for encryption.
	EncryptionKeySid *string `json:"encryption_key_sid,omitempty"`
	// Whether all recordings are stored in an encrypted form. The default is `false`.
	EncryptionEnabled *bool `json:"encryption_enabled,omitempty"`
	// The absolute URL of the resource.
	Url *string `json:"url,omitempty"`
}

VideoV1RecordingSettings struct for VideoV1RecordingSettings

type VideoV1Room

type VideoV1Room struct {
	// The unique string that we created to identify the Room resource.
	Sid    *string `json:"sid,omitempty"`
	Status *string `json:"status,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateUpdated *time.Time `json:"date_updated,omitempty"`
	// The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Room resource.
	AccountSid *string `json:"account_sid,omitempty"`
	// Deprecated, now always considered to be true.
	EnableTurn *bool `json:"enable_turn,omitempty"`
	// An application-defined string that uniquely identifies the resource. It can be used as a `room_sid` in place of the resource's `sid` in the URL to address the resource, assuming it does not contain any [reserved characters](https://tools.ietf.org/html/rfc3986#section-2.2) that would need to be URL encoded. This value is unique for `in-progress` rooms. SDK clients can use this name to connect to the room. REST API clients can use this name in place of the Room SID to interact with the room as long as the room is `in-progress`.
	UniqueName *string `json:"unique_name,omitempty"`
	// The URL we call using the `status_callback_method` to send status information to your application on every room event. See [Status Callbacks](https://www.twilio.com/docs/video/api/status-callbacks) for more info.
	StatusCallback *string `json:"status_callback,omitempty"`
	// The HTTP method we use to call `status_callback`. Can be `POST` or `GET` and defaults to `POST`.
	StatusCallbackMethod *string `json:"status_callback_method,omitempty"`
	// The UTC end time of the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.
	EndTime *time.Time `json:"end_time,omitempty"`
	// The duration of the room in seconds.
	Duration *int    `json:"duration,omitempty"`
	Type     *string `json:"type,omitempty"`
	// The maximum number of concurrent Participants allowed in the room.
	MaxParticipants *int `json:"max_participants,omitempty"`
	// The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours).
	MaxParticipantDuration *int `json:"max_participant_duration,omitempty"`
	// The maximum number of published audio, video, and data tracks all participants combined are allowed to publish in the room at the same time. Check [Programmable Video Limits](https://www.twilio.com/docs/video/programmable-video-limits) for more details. If it is set to 0 it means unconstrained.
	MaxConcurrentPublishedTracks *int `json:"max_concurrent_published_tracks,omitempty"`
	// Whether to start recording when Participants connect. ***This feature is not available in `peer-to-peer` rooms.***
	RecordParticipantsOnConnect *bool `json:"record_participants_on_connect,omitempty"`
	// An array of the video codecs that are supported when publishing a track in the room.  Can be: `VP8` and `H264`.  ***This feature is not available in `peer-to-peer` rooms***
	VideoCodecs *[]string `json:"video_codecs,omitempty"`
	// The region for the media server in Group Rooms.  Can be: one of the [available Media Regions](https://www.twilio.com/docs/video/ip-addresses#media-servers). ***This feature is not available in `peer-to-peer` rooms.***
	MediaRegion *string `json:"media_region,omitempty"`
	// When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed. Group rooms only.
	AudioOnly *bool `json:"audio_only,omitempty"`
	// Specifies how long (in minutes) a room will remain active after last participant leaves. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed.
	EmptyRoomTimeout *int `json:"empty_room_timeout,omitempty"`
	// Specifies how long (in minutes) a room will remain active if no one joins. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed.
	UnusedRoomTimeout *int `json:"unused_room_timeout,omitempty"`
	// Indicates if this is a large room.
	LargeRoom *bool `json:"large_room,omitempty"`
	// The absolute URL of the resource.
	Url *string `json:"url,omitempty"`
	// The URLs of related resources.
	Links *map[string]interface{} `json:"links,omitempty"`
}

VideoV1Room struct for VideoV1Room

type VideoV1RoomParticipant

type VideoV1RoomParticipant struct {
	// The unique string that we created to identify the RoomParticipant resource.
	Sid *string `json:"sid,omitempty"`
	// The SID of the participant's room.
	RoomSid *string `json:"room_sid,omitempty"`
	// The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the RoomParticipant resource.
	AccountSid *string `json:"account_sid,omitempty"`
	Status     *string `json:"status,omitempty"`
	// The application-defined string that uniquely identifies the resource's User within a Room. If a client joins with an existing Identity, the existing client is disconnected. See [access tokens](https://www.twilio.com/docs/video/tutorials/user-identity-access-tokens) and [limits](https://www.twilio.com/docs/video/programmable-video-limits) for more info.
	Identity *string `json:"identity,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateUpdated *time.Time `json:"date_updated,omitempty"`
	// The time of participant connected to the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.
	StartTime *time.Time `json:"start_time,omitempty"`
	// The time when the participant disconnected from the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.
	EndTime *time.Time `json:"end_time,omitempty"`
	// The duration in seconds that the participant was `connected`. Populated only after the participant is `disconnected`.
	Duration *int `json:"duration,omitempty"`
	// The absolute URL of the resource.
	Url *string `json:"url,omitempty"`
	// The URLs of related resources.
	Links *map[string]interface{} `json:"links,omitempty"`
}

VideoV1RoomParticipant struct for VideoV1RoomParticipant

type VideoV1RoomParticipantAnonymize

type VideoV1RoomParticipantAnonymize struct {
	// The unique string that we created to identify the RoomParticipant resource.
	Sid *string `json:"sid,omitempty"`
	// The SID of the participant's room.
	RoomSid *string `json:"room_sid,omitempty"`
	// The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the RoomParticipant resource.
	AccountSid *string `json:"account_sid,omitempty"`
	Status     *string `json:"status,omitempty"`
	// The SID of the participant.
	Identity *string `json:"identity,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateUpdated *time.Time `json:"date_updated,omitempty"`
	// The time of participant connected to the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.
	StartTime *time.Time `json:"start_time,omitempty"`
	// The time when the participant disconnected from the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.
	EndTime *time.Time `json:"end_time,omitempty"`
	// The duration in seconds that the participant was `connected`. Populated only after the participant is `disconnected`.
	Duration *int `json:"duration,omitempty"`
	// The absolute URL of the resource.
	Url *string `json:"url,omitempty"`
}

VideoV1RoomParticipantAnonymize struct for VideoV1RoomParticipantAnonymize

type VideoV1RoomParticipantPublishedTrack

type VideoV1RoomParticipantPublishedTrack struct {
	// The unique string that we created to identify the RoomParticipantPublishedTrack resource.
	Sid *string `json:"sid,omitempty"`
	// The SID of the Participant resource with the published track.
	ParticipantSid *string `json:"participant_sid,omitempty"`
	// The SID of the Room resource where the track is published.
	RoomSid *string `json:"room_sid,omitempty"`
	// The track name. Must be no more than 128 characters, and be unique among the participant's published tracks.
	Name *string `json:"name,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateUpdated *time.Time `json:"date_updated,omitempty"`
	// Whether the track is enabled.
	Enabled *bool   `json:"enabled,omitempty"`
	Kind    *string `json:"kind,omitempty"`
	// The absolute URL of the resource.
	Url *string `json:"url,omitempty"`
}

VideoV1RoomParticipantPublishedTrack struct for VideoV1RoomParticipantPublishedTrack

type VideoV1RoomParticipantSubscribeRule

type VideoV1RoomParticipantSubscribeRule struct {
	// The SID of the Participant resource for the Subscribe Rules.
	ParticipantSid *string `json:"participant_sid,omitempty"`
	// The SID of the Room resource for the Subscribe Rules
	RoomSid *string `json:"room_sid,omitempty"`
	// A collection of Subscribe Rules that describe how to include or exclude matching tracks. See the [Specifying Subscribe Rules](https://www.twilio.com/docs/video/api/track-subscriptions#specifying-sr) section for further information.
	Rules *[]VideoV1RoomRoomParticipantRoomParticipantSubscribeRuleRules `json:"rules,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateUpdated *time.Time `json:"date_updated,omitempty"`
}

VideoV1RoomParticipantSubscribeRule struct for VideoV1RoomParticipantSubscribeRule

type VideoV1RoomParticipantSubscribedTrack

type VideoV1RoomParticipantSubscribedTrack struct {
	// The unique string that we created to identify the RoomParticipantSubscribedTrack resource.
	Sid *string `json:"sid,omitempty"`
	// The SID of the participant that subscribes to the track.
	ParticipantSid *string `json:"participant_sid,omitempty"`
	// The SID of the participant that publishes the track.
	PublisherSid *string `json:"publisher_sid,omitempty"`
	// The SID of the room where the track is published.
	RoomSid *string `json:"room_sid,omitempty"`
	// The track name. Must have no more than 128 characters and be unique among the participant's published tracks.
	Name *string `json:"name,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateUpdated *time.Time `json:"date_updated,omitempty"`
	// Whether the track is enabled.
	Enabled *bool   `json:"enabled,omitempty"`
	Kind    *string `json:"kind,omitempty"`
	// The absolute URL of the resource.
	Url *string `json:"url,omitempty"`
}

VideoV1RoomParticipantSubscribedTrack struct for VideoV1RoomParticipantSubscribedTrack

type VideoV1RoomRecording

type VideoV1RoomRecording struct {
	// The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the RoomRecording resource.
	AccountSid *string `json:"account_sid,omitempty"`
	Status     *string `json:"status,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The unique string that we created to identify the RoomRecording resource.
	Sid *string `json:"sid,omitempty"`
	// The SID of the recording source. For a Room Recording, this value is a `track_sid`.
	SourceSid *string `json:"source_sid,omitempty"`
	// The size of the recorded track in bytes.
	Size *int64 `json:"size,omitempty"`
	// The absolute URL of the resource.
	Url  *string `json:"url,omitempty"`
	Type *string `json:"type,omitempty"`
	// The duration of the recording rounded to the nearest second. Sub-second duration tracks have a `duration` of 1 second
	Duration        *int    `json:"duration,omitempty"`
	ContainerFormat *string `json:"container_format,omitempty"`
	Codec           *string `json:"codec,omitempty"`
	// A list of SIDs related to the Recording. Includes the `room_sid` and `participant_sid`.
	GroupingSids *interface{} `json:"grouping_sids,omitempty"`
	// The name that was given to the source track of the recording. If no name is given, the `source_sid` is used.
	TrackName *string `json:"track_name,omitempty"`
	// The time in milliseconds elapsed between an arbitrary point in time, common to all group rooms, and the moment when the source room of this track started. This information provides a synchronization mechanism for recordings belonging to the same room.
	Offset *int64 `json:"offset,omitempty"`
	// The URL of the media file associated with the recording when stored externally. See [External S3 Recordings](/docs/video/api/external-s3-recordings) for more details.
	MediaExternalLocation *string `json:"media_external_location,omitempty"`
	// The SID of the Room resource the recording is associated with.
	RoomSid *string `json:"room_sid,omitempty"`
	// The URLs of related resources.
	Links *map[string]interface{} `json:"links,omitempty"`
}

VideoV1RoomRecording struct for VideoV1RoomRecording

type VideoV1RoomRecordingRule

type VideoV1RoomRecordingRule struct {
	// The SID of the Room resource for the Recording Rules
	RoomSid *string `json:"room_sid,omitempty"`
	// A collection of Recording Rules that describe how to include or exclude matching tracks for recording
	Rules *[]VideoV1RoomRoomRecordingRuleRules `json:"rules,omitempty"`
	// The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateCreated *time.Time `json:"date_created,omitempty"`
	// The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
	DateUpdated *time.Time `json:"date_updated,omitempty"`
}

VideoV1RoomRecordingRule struct for VideoV1RoomRecordingRule

type VideoV1RoomRoomParticipantRoomParticipantSubscribeRuleRules

type VideoV1RoomRoomParticipantRoomParticipantSubscribeRuleRules struct {
	Type      string `json:"type,omitempty"`
	All       bool   `json:"all,omitempty"`
	Publisher string `json:"publisher,omitempty"`
	Track     string `json:"track,omitempty"`
	Kind      string `json:"kind,omitempty"`
	Priority  string `json:"priority,omitempty"`
}

VideoV1RoomRoomParticipantRoomParticipantSubscribeRuleRules struct for VideoV1RoomRoomParticipantRoomParticipantSubscribeRuleRules

type VideoV1RoomRoomRecordingRuleRules

type VideoV1RoomRoomRecordingRuleRules struct {
	Type      string `json:"type,omitempty"`
	All       bool   `json:"all,omitempty"`
	Publisher string `json:"publisher,omitempty"`
	Track     string `json:"track,omitempty"`
	Kind      string `json:"kind,omitempty"`
}

VideoV1RoomRoomRecordingRuleRules struct for VideoV1RoomRoomRecordingRuleRules

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL