Documentation

Overview

Package kinesisvideosignalingchannels provides the client and types for making API requests to Amazon Kinesis Video Signaling Channels.

Kinesis Video Streams Signaling Service is a intermediate service that establishes a communication channel for discovering peers, transmitting offers and answers in order to establish peer-to-peer connection in webRTC technology.

See https://docs.aws.amazon.com/goto/WebAPI/kinesis-video-signaling-2019-12-04 for more information on this service.

See kinesisvideosignalingchannels package documentation for more information. https://docs.aws.amazon.com/sdk-for-go/api/service/kinesisvideosignalingchannels/

Using the Client

To contact Amazon Kinesis Video Signaling Channels with the SDK use the New function to create a new service client. With that client you can make API requests to the service. These clients are safe to use concurrently.

See the SDK's documentation for more information on how to use the SDK. https://docs.aws.amazon.com/sdk-for-go/api/

See aws.Config documentation for more information on configuring SDK clients. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

See the Amazon Kinesis Video Signaling Channels client KinesisVideoSignalingChannels for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/kinesisvideosignalingchannels/#New

Index

Constants

View Source
const (

	// ErrCodeClientLimitExceededException for service response error code
	// "ClientLimitExceededException".
	//
	// Your request was throttled because you have exceeded the limit of allowed
	// client calls. Try making the call later.
	ErrCodeClientLimitExceededException = "ClientLimitExceededException"

	// ErrCodeInvalidArgumentException for service response error code
	// "InvalidArgumentException".
	//
	// The value for this input parameter is invalid.
	ErrCodeInvalidArgumentException = "InvalidArgumentException"

	// ErrCodeInvalidClientException for service response error code
	// "InvalidClientException".
	//
	// The specified client is invalid.
	ErrCodeInvalidClientException = "InvalidClientException"

	// ErrCodeNotAuthorizedException for service response error code
	// "NotAuthorizedException".
	//
	// The caller is not authorized to perform this operation.
	ErrCodeNotAuthorizedException = "NotAuthorizedException"

	// ErrCodeResourceNotFoundException for service response error code
	// "ResourceNotFoundException".
	//
	// The specified resource is not found.
	ErrCodeResourceNotFoundException = "ResourceNotFoundException"

	// ErrCodeSessionExpiredException for service response error code
	// "SessionExpiredException".
	//
	// If the client session is expired. Once the client is connected, the session
	// is valid for 45 minutes. Client should reconnect to the channel to continue
	// sending/receiving messages.
	ErrCodeSessionExpiredException = "SessionExpiredException"
)
View Source
const (
	ServiceName = "Kinesis Video Signaling" // Name of service.
	EndpointsID = "kinesisvideo"            // ID to lookup a service endpoint with.
	ServiceID   = "Kinesis Video Signaling" // ServiceID is a unique identifier of a specific service.
)

Service information constants

View Source
const (
	// ServiceTurn is a Service enum value
	ServiceTurn = "TURN"
)

Variables

This section is empty.

Functions

func Service_Values

func Service_Values() []string

Service_Values returns all elements of the Service enum

Types

type ClientLimitExceededException

type ClientLimitExceededException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

Your request was throttled because you have exceeded the limit of allowed client calls. Try making the call later.

func (*ClientLimitExceededException) Code

Code returns the exception type name.

func (*ClientLimitExceededException) Error

func (ClientLimitExceededException) GoString

func (s ClientLimitExceededException) GoString() string

GoString returns the string representation

func (*ClientLimitExceededException) Message

func (s *ClientLimitExceededException) Message() string

Message returns the exception's message.

func (*ClientLimitExceededException) OrigErr

func (s *ClientLimitExceededException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*ClientLimitExceededException) RequestID

func (s *ClientLimitExceededException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*ClientLimitExceededException) StatusCode

func (s *ClientLimitExceededException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (ClientLimitExceededException) String

String returns the string representation

type GetIceServerConfigInput

type GetIceServerConfigInput struct {

	// The ARN of the signaling channel to be used for the peer-to-peer connection
	// between configured peers.
	//
	// ChannelARN is a required field
	ChannelARN *string `min:"1" type:"string" required:"true"`

	// Unique identifier for the viewer. Must be unique within the signaling channel.
	ClientId *string `min:"1" type:"string"`

	// Specifies the desired service. Currently, TURN is the only valid value.
	Service *string `type:"string" enum:"Service"`

	// An optional user ID to be associated with the credentials.
	Username *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (GetIceServerConfigInput) GoString

func (s GetIceServerConfigInput) GoString() string

GoString returns the string representation

func (*GetIceServerConfigInput) SetChannelARN

SetChannelARN sets the ChannelARN field's value.

func (*GetIceServerConfigInput) SetClientId

SetClientId sets the ClientId field's value.

func (*GetIceServerConfigInput) SetService

SetService sets the Service field's value.

func (*GetIceServerConfigInput) SetUsername

SetUsername sets the Username field's value.

func (GetIceServerConfigInput) String

func (s GetIceServerConfigInput) String() string

String returns the string representation

func (*GetIceServerConfigInput) Validate

func (s *GetIceServerConfigInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetIceServerConfigOutput

type GetIceServerConfigOutput struct {

	// The list of ICE server information objects.
	IceServerList []*IceServer `type:"list"`
	// contains filtered or unexported fields
}

func (GetIceServerConfigOutput) GoString

func (s GetIceServerConfigOutput) GoString() string

GoString returns the string representation

func (*GetIceServerConfigOutput) SetIceServerList

func (s *GetIceServerConfigOutput) SetIceServerList(v []*IceServer) *GetIceServerConfigOutput

SetIceServerList sets the IceServerList field's value.

func (GetIceServerConfigOutput) String

func (s GetIceServerConfigOutput) String() string

String returns the string representation

type IceServer

type IceServer struct {

	// A password to login to the ICE server.
	Password *string `min:"1" type:"string"`

	// The period of time, in seconds, during which the username and password are
	// valid.
	Ttl *int64 `min:"30" type:"integer"`

	// An array of URIs, in the form specified in the I-D.petithuguenin-behave-turn-uris
	// (https://tools.ietf.org/html/draft-petithuguenin-behave-turn-uris-03) spec.
	// These URIs provide the different addresses and/or protocols that can be used
	// to reach the TURN server.
	Uris []*string `type:"list"`

	// A username to login to the ICE server.
	Username *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

A structure for the ICE server connection data.

func (IceServer) GoString

func (s IceServer) GoString() string

GoString returns the string representation

func (*IceServer) SetPassword

func (s *IceServer) SetPassword(v string) *IceServer

SetPassword sets the Password field's value.

func (*IceServer) SetTtl

func (s *IceServer) SetTtl(v int64) *IceServer

SetTtl sets the Ttl field's value.

func (*IceServer) SetUris

func (s *IceServer) SetUris(v []*string) *IceServer

SetUris sets the Uris field's value.

func (*IceServer) SetUsername

func (s *IceServer) SetUsername(v string) *IceServer

SetUsername sets the Username field's value.

func (IceServer) String

func (s IceServer) String() string

String returns the string representation

type InvalidArgumentException

type InvalidArgumentException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

The value for this input parameter is invalid.

func (*InvalidArgumentException) Code

func (s *InvalidArgumentException) Code() string

Code returns the exception type name.

func (*InvalidArgumentException) Error

func (s *InvalidArgumentException) Error() string

func (InvalidArgumentException) GoString

func (s InvalidArgumentException) GoString() string

GoString returns the string representation

func (*InvalidArgumentException) Message

func (s *InvalidArgumentException) Message() string

Message returns the exception's message.

func (*InvalidArgumentException) OrigErr

func (s *InvalidArgumentException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*InvalidArgumentException) RequestID

func (s *InvalidArgumentException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*InvalidArgumentException) StatusCode

func (s *InvalidArgumentException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (InvalidArgumentException) String

func (s InvalidArgumentException) String() string

String returns the string representation

type InvalidClientException

type InvalidClientException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" type:"string"`
	// contains filtered or unexported fields
}

The specified client is invalid.

func (*InvalidClientException) Code

func (s *InvalidClientException) Code() string

Code returns the exception type name.

func (*InvalidClientException) Error

func (s *InvalidClientException) Error() string

func (InvalidClientException) GoString

func (s InvalidClientException) GoString() string

GoString returns the string representation

func (*InvalidClientException) Message

func (s *InvalidClientException) Message() string

Message returns the exception's message.

func (*InvalidClientException) OrigErr

func (s *InvalidClientException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*InvalidClientException) RequestID

func (s *InvalidClientException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*InvalidClientException) StatusCode

func (s *InvalidClientException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (InvalidClientException) String

func (s InvalidClientException) String() string

String returns the string representation

type KinesisVideoSignalingChannels

type KinesisVideoSignalingChannels struct {
	*client.Client
}

KinesisVideoSignalingChannels provides the API operation methods for making requests to Amazon Kinesis Video Signaling Channels. See this package's package overview docs for details on the service.

KinesisVideoSignalingChannels methods are safe to use concurrently. It is not safe to modify mutate any of the struct's properties though.

func New

New creates a new instance of the KinesisVideoSignalingChannels client with a session. If additional configuration is needed for the client instance use the optional aws.Config parameter to add your extra config.

Example:

mySession := session.Must(session.NewSession())

// Create a KinesisVideoSignalingChannels client from just a session.
svc := kinesisvideosignalingchannels.New(mySession)

// Create a KinesisVideoSignalingChannels client with additional configuration
svc := kinesisvideosignalingchannels.New(mySession, aws.NewConfig().WithRegion("us-west-2"))

func (*KinesisVideoSignalingChannels) GetIceServerConfig

GetIceServerConfig API operation for Amazon Kinesis Video Signaling Channels.

Gets the Interactive Connectivity Establishment (ICE) server configuration information, including URIs, username, and password which can be used to configure the WebRTC connection. The ICE component uses this configuration information to setup the WebRTC connection, including authenticating with the Traversal Using Relays around NAT (TURN) relay server.

TURN is a protocol that is used to improve the connectivity of peer-to-peer applications. By providing a cloud-based relay service, TURN ensures that a connection can be established even when one or more peers are incapable of a direct peer-to-peer connection. For more information, see A REST API For Access To TURN Services (https://tools.ietf.org/html/draft-uberti-rtcweb-turn-rest-00).

You can invoke this API to establish a fallback mechanism in case either of the peers is unable to establish a direct peer-to-peer connection over a signaling channel. You must specify either a signaling channel ARN or the client ID in order to invoke this API.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for Amazon Kinesis Video Signaling Channels's API operation GetIceServerConfig for usage and error information.

Returned Error Types:

* InvalidClientException
The specified client is invalid.

* SessionExpiredException
If the client session is expired. Once the client is connected, the session
is valid for 45 minutes. Client should reconnect to the channel to continue
sending/receiving messages.

* ClientLimitExceededException
Your request was throttled because you have exceeded the limit of allowed
client calls. Try making the call later.

* ResourceNotFoundException
The specified resource is not found.

* InvalidArgumentException
The value for this input parameter is invalid.

* NotAuthorizedException
The caller is not authorized to perform this operation.

See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-video-signaling-2019-12-04/GetIceServerConfig

func (*KinesisVideoSignalingChannels) GetIceServerConfigRequest

func (c *KinesisVideoSignalingChannels) GetIceServerConfigRequest(input *GetIceServerConfigInput) (req *request.Request, output *GetIceServerConfigOutput)

GetIceServerConfigRequest generates a "aws/request.Request" representing the client's request for the GetIceServerConfig operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See GetIceServerConfig for more information on using the GetIceServerConfig API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the GetIceServerConfigRequest method.
req, resp := client.GetIceServerConfigRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-video-signaling-2019-12-04/GetIceServerConfig

func (*KinesisVideoSignalingChannels) GetIceServerConfigWithContext

func (c *KinesisVideoSignalingChannels) GetIceServerConfigWithContext(ctx aws.Context, input *GetIceServerConfigInput, opts ...request.Option) (*GetIceServerConfigOutput, error)

GetIceServerConfigWithContext is the same as GetIceServerConfig with the addition of the ability to pass a context and additional request options.

See GetIceServerConfig for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*KinesisVideoSignalingChannels) SendAlexaOfferToMaster

SendAlexaOfferToMaster API operation for Amazon Kinesis Video Signaling Channels.

This API allows you to connect WebRTC-enabled devices with Alexa display devices. When invoked, it sends the Alexa Session Description Protocol (SDP) offer to the master peer. The offer is delivered as soon as the master is connected to the specified signaling channel. This API returns the SDP answer from the connected master. If the master is not connected to the signaling channel, redelivery requests are made until the message expires.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for Amazon Kinesis Video Signaling Channels's API operation SendAlexaOfferToMaster for usage and error information.

Returned Error Types:

* ClientLimitExceededException
Your request was throttled because you have exceeded the limit of allowed
client calls. Try making the call later.

* ResourceNotFoundException
The specified resource is not found.

* InvalidArgumentException
The value for this input parameter is invalid.

* NotAuthorizedException
The caller is not authorized to perform this operation.

See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-video-signaling-2019-12-04/SendAlexaOfferToMaster

func (*KinesisVideoSignalingChannels) SendAlexaOfferToMasterRequest

func (c *KinesisVideoSignalingChannels) SendAlexaOfferToMasterRequest(input *SendAlexaOfferToMasterInput) (req *request.Request, output *SendAlexaOfferToMasterOutput)

SendAlexaOfferToMasterRequest generates a "aws/request.Request" representing the client's request for the SendAlexaOfferToMaster operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See SendAlexaOfferToMaster for more information on using the SendAlexaOfferToMaster API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the SendAlexaOfferToMasterRequest method.
req, resp := client.SendAlexaOfferToMasterRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-video-signaling-2019-12-04/SendAlexaOfferToMaster

func (*KinesisVideoSignalingChannels) SendAlexaOfferToMasterWithContext

func (c *KinesisVideoSignalingChannels) SendAlexaOfferToMasterWithContext(ctx aws.Context, input *SendAlexaOfferToMasterInput, opts ...request.Option) (*SendAlexaOfferToMasterOutput, error)

SendAlexaOfferToMasterWithContext is the same as SendAlexaOfferToMaster with the addition of the ability to pass a context and additional request options.

See SendAlexaOfferToMaster for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

type NotAuthorizedException

type NotAuthorizedException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

The caller is not authorized to perform this operation.

func (*NotAuthorizedException) Code

func (s *NotAuthorizedException) Code() string

Code returns the exception type name.

func (*NotAuthorizedException) Error

func (s *NotAuthorizedException) Error() string

func (NotAuthorizedException) GoString

func (s NotAuthorizedException) GoString() string

GoString returns the string representation

func (*NotAuthorizedException) Message

func (s *NotAuthorizedException) Message() string

Message returns the exception's message.

func (*NotAuthorizedException) OrigErr

func (s *NotAuthorizedException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*NotAuthorizedException) RequestID

func (s *NotAuthorizedException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*NotAuthorizedException) StatusCode

func (s *NotAuthorizedException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (NotAuthorizedException) String

func (s NotAuthorizedException) String() string

String returns the string representation

type ResourceNotFoundException

type ResourceNotFoundException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

The specified resource is not found.

func (*ResourceNotFoundException) Code

Code returns the exception type name.

func (*ResourceNotFoundException) Error

func (s *ResourceNotFoundException) Error() string

func (ResourceNotFoundException) GoString

func (s ResourceNotFoundException) GoString() string

GoString returns the string representation

func (*ResourceNotFoundException) Message

func (s *ResourceNotFoundException) Message() string

Message returns the exception's message.

func (*ResourceNotFoundException) OrigErr

func (s *ResourceNotFoundException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*ResourceNotFoundException) RequestID

func (s *ResourceNotFoundException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*ResourceNotFoundException) StatusCode

func (s *ResourceNotFoundException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (ResourceNotFoundException) String

func (s ResourceNotFoundException) String() string

String returns the string representation

type SendAlexaOfferToMasterInput

type SendAlexaOfferToMasterInput struct {

	// The ARN of the signaling channel by which Alexa and the master peer communicate.
	//
	// ChannelARN is a required field
	ChannelARN *string `min:"1" type:"string" required:"true"`

	// The base64-encoded SDP offer content.
	//
	// MessagePayload is a required field
	MessagePayload *string `min:"1" type:"string" required:"true"`

	// The unique identifier for the sender client.
	//
	// SenderClientId is a required field
	SenderClientId *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (SendAlexaOfferToMasterInput) GoString

func (s SendAlexaOfferToMasterInput) GoString() string

GoString returns the string representation

func (*SendAlexaOfferToMasterInput) SetChannelARN

SetChannelARN sets the ChannelARN field's value.

func (*SendAlexaOfferToMasterInput) SetMessagePayload

SetMessagePayload sets the MessagePayload field's value.

func (*SendAlexaOfferToMasterInput) SetSenderClientId

SetSenderClientId sets the SenderClientId field's value.

func (SendAlexaOfferToMasterInput) String

String returns the string representation

func (*SendAlexaOfferToMasterInput) Validate

func (s *SendAlexaOfferToMasterInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type SendAlexaOfferToMasterOutput

type SendAlexaOfferToMasterOutput struct {

	// The base64-encoded SDP answer content.
	Answer *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (SendAlexaOfferToMasterOutput) GoString

func (s SendAlexaOfferToMasterOutput) GoString() string

GoString returns the string representation

func (*SendAlexaOfferToMasterOutput) SetAnswer

SetAnswer sets the Answer field's value.

func (SendAlexaOfferToMasterOutput) String

String returns the string representation

type SessionExpiredException

type SessionExpiredException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" type:"string"`
	// contains filtered or unexported fields
}

If the client session is expired. Once the client is connected, the session is valid for 45 minutes. Client should reconnect to the channel to continue sending/receiving messages.

func (*SessionExpiredException) Code

func (s *SessionExpiredException) Code() string

Code returns the exception type name.

func (*SessionExpiredException) Error

func (s *SessionExpiredException) Error() string

func (SessionExpiredException) GoString

func (s SessionExpiredException) GoString() string

GoString returns the string representation

func (*SessionExpiredException) Message

func (s *SessionExpiredException) Message() string

Message returns the exception's message.

func (*SessionExpiredException) OrigErr

func (s *SessionExpiredException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*SessionExpiredException) RequestID

func (s *SessionExpiredException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*SessionExpiredException) StatusCode

func (s *SessionExpiredException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (SessionExpiredException) String

func (s SessionExpiredException) String() string

String returns the string representation

Directories

Path Synopsis
Package kinesisvideosignalingchannelsiface provides an interface to enable mocking the Amazon Kinesis Video Signaling Channels service client for testing your code.
Package kinesisvideosignalingchannelsiface provides an interface to enable mocking the Amazon Kinesis Video Signaling Channels service client for testing your code.