ivs – github.com/aws/aws-sdk-go-v2/service/ivs Index | Files | Directories

package ivs

import "github.com/aws/aws-sdk-go-v2/service/ivs"

Package ivs provides the API client, operations, and parameter types for Amazon Interactive Video Service.

Introduction The Amazon Interactive Video Service (IVS) API is REST compatible, using a standard HTTP API and an AWS SNS (http://aws.amazon.com/sns) event stream for responses. JSON is used for both requests and responses, including errors. The API is an AWS regional service, currently in these regions: us-west-2, us-east-1, and eu-west-1. All API request parameters and URLs are case sensitive. For a summary of notable documentation changes in each release, see Document History (https://docs.aws.amazon.com/ivs/latest/userguide/doc-history.html). Service Endpoints The following are the Amazon IVS service endpoints (all HTTPS): Region name: US West (Oregon)

ivs.us-west-2.amazonaws.com

Region name: US East (Virginia)

us-east-1

Region name: EU West (Dublin)

ivs.eu-west-1.amazonaws.com

Allowed Header Values

application/json

application/json

Resources The following resources contain information about your IVS live stream (see Getting Started with Amazon IVS (https://docs.aws.amazon.com/ivs/latest/userguide/GSIVS.html)):

Stores configuration data related to your live stream. You first create a channel and then use the channel’s stream key to start your live stream. See the Channel endpoints for more information.

assigned by Amazon IVS when you create a channel, which is then used to authorize streaming. See the StreamKey endpoints for more information. Treat the stream key like a secret, since it allows anyone to stream to the channel.

Tagging A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature to label a particular video category. See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) for more information, including restrictions that apply to tags. Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)). The Amazon IVS API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following resources support tagging: Channels and Stream Keys. API Endpoints Channel:

and an associated stream key to start streaming.

channel configuration for the specified channel ARN (Amazon Resource Name).

* BatchGetChannel — Performs GetChannel on multiple ARNs simultaneously.

*

ListChannels — Gets summary information about all channels in your account, in the AWS region where the API request is processed. This list can be filtered to match a specified string.

configuration. This does not affect an ongoing stream of this channel. You must stop and restart the stream for the changes to take effect.

— Deletes the specified channel.

StreamKey:

stream key, used to initiate a stream, for the specified channel ARN.

*

GetStreamKey — Gets stream key information for the specified ARN.

*

BatchGetStreamKey — Performs GetStreamKey on multiple ARNs simultaneously.

* ListStreamKeys — Gets summary information about stream keys for the specified channel.

so it can no longer be used to stream.

Stream:

information about the active (live) stream on a specified channel.

*

ListStreams — Gets summary information about live streams in your account, in the AWS region where the API request is processed.

Disconnects the incoming RTMPS stream for the specified channel. Can be used in conjunction with DeleteStreamKey to prevent further streaming to a channel.

* PutMetadata — Inserts metadata into an RTMPS stream for the specified channel. A maximum of 5 requests per second per channel is allowed, each with a maximum 1KB payload.

AWS Tags (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html):

*

TagResource — Adds or updates tags for the AWS resource with the specified ARN.

ARN.

specified ARN.

Index

Constants

const ServiceAPIVersion = "2020-07-14"
const ServiceID = "ivs"

Functions

func NewDefaultEndpointResolver

func NewDefaultEndpointResolver() *internalendpoints.Resolver

NewDefaultEndpointResolver constructs a new service endpoint resolver

Types

type BatchGetChannelInput

type BatchGetChannelInput struct {

	// Array of ARNs, one per channel.
	//
	// This member is required.
	Arns []*string
}

type BatchGetChannelOutput

type BatchGetChannelOutput struct {
	Channels []*types.Channel

	// Each error object is related to a specific ARN in the request.
	Errors []*types.BatchError

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type BatchGetStreamKeyInput

type BatchGetStreamKeyInput struct {

	// Array of ARNs, one per channel.
	//
	// This member is required.
	Arns []*string
}

type BatchGetStreamKeyOutput

type BatchGetStreamKeyOutput struct {
	Errors []*types.BatchError

	StreamKeys []*types.StreamKey

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type Client

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

Client provides the API client to make operations call for Amazon Interactive Video Service.

func New

func New(options Options, optFns ...func(*Options)) *Client

New returns an initialized Client based on the functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

func NewFromConfig

func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client

NewFromConfig returns a new client from the provided config.

func (*Client) BatchGetChannel

func (c *Client) BatchGetChannel(ctx context.Context, params *BatchGetChannelInput, optFns ...func(*Options)) (*BatchGetChannelOutput, error)

Performs GetChannel on multiple ARNs simultaneously.

func (*Client) BatchGetStreamKey

func (c *Client) BatchGetStreamKey(ctx context.Context, params *BatchGetStreamKeyInput, optFns ...func(*Options)) (*BatchGetStreamKeyOutput, error)

Performs GetStreamKey on multiple ARNs simultaneously.

func (*Client) CreateChannel

func (c *Client) CreateChannel(ctx context.Context, params *CreateChannelInput, optFns ...func(*Options)) (*CreateChannelOutput, error)

Creates a new channel and an associated stream key to start streaming.

func (*Client) CreateStreamKey

func (c *Client) CreateStreamKey(ctx context.Context, params *CreateStreamKeyInput, optFns ...func(*Options)) (*CreateStreamKeyOutput, error)

Creates a stream key, used to initiate a stream, for the specified channel ARN. Note that CreateChannel creates a stream key. If you subsequently use CreateStreamKey on the same channel, it will fail because a stream key already exists and there is a limit of 1 stream key per channel. To reset the stream key on a channel, use DeleteStreamKey and then CreateStreamKey.

func (*Client) DeleteChannel

func (c *Client) DeleteChannel(ctx context.Context, params *DeleteChannelInput, optFns ...func(*Options)) (*DeleteChannelOutput, error)

Deletes the specified channel and its associated stream keys.

func (*Client) DeleteStreamKey

func (c *Client) DeleteStreamKey(ctx context.Context, params *DeleteStreamKeyInput, optFns ...func(*Options)) (*DeleteStreamKeyOutput, error)

Deletes the stream key for the specified ARN, so it can no longer be used to stream.

func (*Client) GetChannel

func (c *Client) GetChannel(ctx context.Context, params *GetChannelInput, optFns ...func(*Options)) (*GetChannelOutput, error)

Gets the channel configuration for the specified channel ARN. See also BatchGetChannel.

func (*Client) GetStream

func (c *Client) GetStream(ctx context.Context, params *GetStreamInput, optFns ...func(*Options)) (*GetStreamOutput, error)

Gets information about the active (live) stream on a specified channel.

func (*Client) GetStreamKey

func (c *Client) GetStreamKey(ctx context.Context, params *GetStreamKeyInput, optFns ...func(*Options)) (*GetStreamKeyOutput, error)

Gets stream-key information for a specified ARN.

func (*Client) ListChannels

func (c *Client) ListChannels(ctx context.Context, params *ListChannelsInput, optFns ...func(*Options)) (*ListChannelsOutput, error)

Gets summary information about all channels in your account, in the AWS region where the API request is processed. This list can be filtered to match a specified string.

func (*Client) ListStreamKeys

func (c *Client) ListStreamKeys(ctx context.Context, params *ListStreamKeysInput, optFns ...func(*Options)) (*ListStreamKeysOutput, error)

Gets summary information about stream keys for the specified channel.

func (*Client) ListStreams

func (c *Client) ListStreams(ctx context.Context, params *ListStreamsInput, optFns ...func(*Options)) (*ListStreamsOutput, error)

Gets summary information about live streams in your account, in the AWS region where the API request is processed.

func (*Client) ListTagsForResource

func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForResourceInput, optFns ...func(*Options)) (*ListTagsForResourceOutput, error)

Gets information about AWS tags for the specified ARN.

func (*Client) PutMetadata

func (c *Client) PutMetadata(ctx context.Context, params *PutMetadataInput, optFns ...func(*Options)) (*PutMetadataOutput, error)

Inserts metadata into an RTMPS stream for the specified channel. A maximum of 5 requests per second per channel is allowed, each with a maximum 1KB payload.

func (*Client) StopStream

func (c *Client) StopStream(ctx context.Context, params *StopStreamInput, optFns ...func(*Options)) (*StopStreamOutput, error)

Disconnects the incoming RTMPS stream for the specified channel. Can be used in conjunction with DeleteStreamKey to prevent further streaming to a channel. Many streaming client-software libraries automatically reconnect a dropped RTMPS session, so to stop the stream permanently, you may want to first revoke the streamKey attached to the channel.

func (*Client) TagResource

func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optFns ...func(*Options)) (*TagResourceOutput, error)

Adds or updates tags for the AWS resource with the specified ARN.

func (*Client) UntagResource

func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, optFns ...func(*Options)) (*UntagResourceOutput, error)

Removes tags from the resource with the specified ARN.

func (*Client) UpdateChannel

func (c *Client) UpdateChannel(ctx context.Context, params *UpdateChannelInput, optFns ...func(*Options)) (*UpdateChannelOutput, error)

Updates a channel's configuration. This does not affect an ongoing stream of this channel. You must stop and restart the stream for the changes to take effect.

type CreateChannelInput

type CreateChannelInput struct {

	// Channel latency mode. Default: LOW.
	LatencyMode types.ChannelLatencyMode

	// Channel name.
	Name *string

	// See Channel$tags.
	Tags map[string]*string

	// Channel type, which determines the allowable resolution and bitrate. If you
	// exceed the allowable resolution or bitrate, the stream probably will disconnect
	// immediately. Valid values:
	//
	//     * STANDARD: Multiple qualities are generated
	// from the original input, to automatically give viewers the best experience for
	// their devices and network conditions. Vertical resolution can be up to 1080 and
	// bitrate can be up to 8.5 Mbps.
	//
	//     * BASIC: Amazon IVS delivers the original
	// input to viewers. The viewer’s video-quality choice is limited to the original
	// input. Vertical resolution can be up to 480 and bitrate can be up to 1.5
	// Mbps.
	//
	// Default: STANDARD.
	Type types.ChannelType
}

type CreateChannelOutput

type CreateChannelOutput struct {

	// Object specifying a channel.
	Channel *types.Channel

	// Object specifying a stream key.
	StreamKey *types.StreamKey

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type CreateStreamKeyInput

type CreateStreamKeyInput struct {

	// ARN of the channel for which to create the stream key.
	//
	// This member is required.
	ChannelArn *string

	// See Channel$tags.
	Tags map[string]*string
}

type CreateStreamKeyOutput

type CreateStreamKeyOutput struct {

	// Stream key used to authenticate an RTMPS stream for ingestion.
	StreamKey *types.StreamKey

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DeleteChannelInput

type DeleteChannelInput struct {

	// ARN of the channel to be deleted.
	//
	// This member is required.
	Arn *string
}

type DeleteChannelOutput

type DeleteChannelOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DeleteStreamKeyInput

type DeleteStreamKeyInput struct {

	// ARN of the stream key to be deleted.
	//
	// This member is required.
	Arn *string
}

type DeleteStreamKeyOutput

type DeleteStreamKeyOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type EndpointResolver

type EndpointResolver interface {
	ResolveEndpoint(region string, options ResolverOptions) (aws.Endpoint, error)
}

EndpointResolver interface for resolving service endpoints.

func WithEndpointResolver

func WithEndpointResolver(awsResolver aws.EndpointResolver, fallbackResolver EndpointResolver) EndpointResolver

WithEndpointResolver returns an EndpointResolver that first delegates endpoint resolution to the awsResolver. If awsResolver returns aws.EndpointNotFoundError error, the resolver will use the the provided fallbackResolver for resolution. awsResolver and fallbackResolver must not be nil

type EndpointResolverFunc

type EndpointResolverFunc func(region string, options ResolverOptions) (aws.Endpoint, error)

EndpointResolverFunc is a helper utility that wraps a function so it satisfies the EndpointResolver interface. This is useful when you want to add additional endpoint resolving logic, or stub out specific endpoints with custom values.

func (EndpointResolverFunc) ResolveEndpoint

func (fn EndpointResolverFunc) ResolveEndpoint(region string, options ResolverOptions) (endpoint aws.Endpoint, err error)

type GetChannelInput

type GetChannelInput struct {

	// ARN of the channel for which the configuration is to be retrieved.
	//
	// This member is required.
	Arn *string
}

type GetChannelOutput

type GetChannelOutput struct {

	// Object specifying a channel.
	Channel *types.Channel

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetStreamInput

type GetStreamInput struct {

	// Channel ARN for stream to be accessed.
	//
	// This member is required.
	ChannelArn *string
}

type GetStreamKeyInput

type GetStreamKeyInput struct {

	// ARN for the stream key to be retrieved.
	//
	// This member is required.
	Arn *string
}

type GetStreamKeyOutput

type GetStreamKeyOutput struct {

	// Object specifying a stream key.
	StreamKey *types.StreamKey

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type GetStreamOutput

type GetStreamOutput struct {

	// Specifies a live video stream that has been ingested and distributed.
	Stream *types.Stream

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type HTTPClient

type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}

type HTTPSignerV4

type HTTPSignerV4 interface {
	SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time) error
}

type ListChannelsInput

type ListChannelsInput struct {

	// Filters the channel list to match the specified name.
	FilterByName *string

	// Maximum number of channels to return.
	MaxResults *int32

	// The first channel to retrieve. This is used for pagination; see the nextToken
	// response field.
	NextToken *string
}

type ListChannelsOutput

type ListChannelsOutput struct {

	// List of the matching channels.
	//
	// This member is required.
	Channels []*types.ChannelSummary

	// If there are more channels than maxResults, use nextToken in the request to get
	// the next set.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type ListStreamKeysInput

type ListStreamKeysInput struct {

	// Channel ARN used to filter the list.
	//
	// This member is required.
	ChannelArn *string

	// Maximum number of streamKeys to return.
	MaxResults *int32

	// The first stream key to retrieve. This is used for pagination; see the nextToken
	// response field.
	NextToken *string
}

type ListStreamKeysOutput

type ListStreamKeysOutput struct {

	// List of stream keys.
	//
	// This member is required.
	StreamKeys []*types.StreamKeySummary

	// If there are more stream keys than maxResults, use nextToken in the request to
	// get the next set.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type ListStreamsInput

type ListStreamsInput struct {

	// Maximum number of streams to return.
	MaxResults *int32

	// The first stream to retrieve. This is used for pagination; see the nextToken
	// response field.
	NextToken *string
}

type ListStreamsOutput

type ListStreamsOutput struct {

	// List of streams.
	//
	// This member is required.
	Streams []*types.StreamSummary

	// If there are more streams than maxResults, use nextToken in the request to get
	// the next set.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type ListTagsForResourceInput

type ListTagsForResourceInput struct {

	// The ARN of the resource to be retrieved.
	//
	// This member is required.
	ResourceArn *string

	// Maximum number of tags to return.
	MaxResults *int32

	// The first tag to retrieve. This is used for pagination; see the nextToken
	// response field.
	NextToken *string
}

type ListTagsForResourceOutput

type ListTagsForResourceOutput struct {
	Tags map[string]*string

	// If there are more tags than maxResults, use nextToken in the request to get the
	// next set.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type Options

type Options struct {
	// Set of options to modify how an operation is invoked. These apply to all
	// operations invoked for this client. Use functional options on operation call to
	// modify this list for per operation behavior.
	APIOptions []func(*middleware.Stack) error

	// The credentials object to use when signing requests.
	Credentials aws.CredentialsProvider

	// The endpoint options to be used when attempting to resolve an endpoint.
	EndpointOptions ResolverOptions

	// The service endpoint resolver.
	EndpointResolver EndpointResolver

	// Signature Version 4 (SigV4) Signer
	HTTPSignerV4 HTTPSignerV4

	// The region to send requests to. (Required)
	Region string

	// Retryer guides how HTTP requests should be retried in case of recoverable
	// failures. When nil the API client will use a default retryer.
	Retryer retry.Retryer

	// The HTTP client to invoke API calls with. Defaults to client's default HTTP
	// implementation if nil.
	HTTPClient HTTPClient
}

func (Options) Copy

func (o Options) Copy() Options

Copy creates a clone where the APIOptions list is deep copied.

type PutMetadataInput

type PutMetadataInput struct {

	// ARN of the channel into which metadata is inserted. This channel must have an
	// active stream.
	//
	// This member is required.
	ChannelArn *string

	// Metadata to insert into the stream. Maximum: 1 KB per request.
	//
	// This member is required.
	Metadata *string
}

type PutMetadataOutput

type PutMetadataOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type ResolveEndpoint

type ResolveEndpoint struct {
	Resolver EndpointResolver
	Options  ResolverOptions
}

func (*ResolveEndpoint) HandleSerialize

func (*ResolveEndpoint) ID

func (*ResolveEndpoint) ID() string

type ResolverOptions

type ResolverOptions = internalendpoints.Options

ResolverOptions is the service endpoint resolver options

type StopStreamInput

type StopStreamInput struct {

	// ARN of the channel for which the stream is to be stopped.
	//
	// This member is required.
	ChannelArn *string
}

type StopStreamOutput

type StopStreamOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type TagResourceInput

type TagResourceInput struct {

	// ARN of the resource for which tags are to be added or updated.
	//
	// This member is required.
	ResourceArn *string

	// Array of tags to be added or updated.
	//
	// This member is required.
	Tags map[string]*string
}

type TagResourceOutput

type TagResourceOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type UntagResourceInput

type UntagResourceInput struct {

	// ARN of the resource for which tags are to be removed.
	//
	// This member is required.
	ResourceArn *string

	// Array of tags to be removed.
	//
	// This member is required.
	TagKeys []*string
}

type UntagResourceOutput

type UntagResourceOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type UpdateChannelInput

type UpdateChannelInput struct {

	// ARN of the channel to be updated.
	//
	// This member is required.
	Arn *string

	// Channel latency mode. Default: LOW.
	LatencyMode types.ChannelLatencyMode

	// Channel name.
	Name *string

	// Channel type, which determines the allowable resolution and bitrate. If you
	// exceed the allowable resolution or bitrate, the stream probably will disconnect
	// immediately. Valid values:
	//
	//     * STANDARD: Multiple qualities are generated
	// from the original input, to automatically give viewers the best experience for
	// their devices and network conditions. Vertical resolution can be up to 1080 and
	// bitrate can be up to 8.5 Mbps.
	//
	//     * BASIC: Amazon IVS delivers the original
	// input to viewers. The viewer’s video-quality choice is limited to the original
	// input. Vertical resolution can be up to 480 and bitrate can be up to 1.5
	// Mbps.
	//
	// Default: STANDARD.
	Type types.ChannelType
}

type UpdateChannelOutput

type UpdateChannelOutput struct {

	// Object specifying a channel.
	Channel *types.Channel

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

Source Files

api_client.go api_op_BatchGetChannel.go api_op_BatchGetStreamKey.go api_op_CreateChannel.go api_op_CreateStreamKey.go api_op_DeleteChannel.go api_op_DeleteStreamKey.go api_op_GetChannel.go api_op_GetStream.go api_op_GetStreamKey.go api_op_ListChannels.go api_op_ListStreamKeys.go api_op_ListStreams.go api_op_ListTagsForResource.go api_op_PutMetadata.go api_op_StopStream.go api_op_TagResource.go api_op_UntagResource.go api_op_UpdateChannel.go deserializers.go doc.go endpoints.go serializers.go validators.go

Directories

PathSynopsis
internal
types
Version
v0.28.0
Published
Oct 26, 2020
Platform
windows/amd64
Imports
26 packages
Last checked
2 weeks ago

Tools for package owners.