This is the new Amazon CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the Amazon CloudFormation User Guide.
AWS::IVS::Channel
The AWS::IVS::Channel resource specifies an Amazon IVS channel. A channel stores configuration information
            related to your live stream. For more information, see CreateChannel in the
                Amazon IVS Low-Latency Streaming API Reference.
Note
By default, the IVS API CreateChannel endpoint creates a stream key in addition to a channel. The Amazon IVS Channel resource does not create a stream key; to create a stream key, use the StreamKey resource instead.
Syntax
To declare this entity in your Amazon CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::IVS::Channel", "Properties" : { "Authorized" :Boolean, "ContainerFormat" :String, "InsecureIngest" :Boolean, "LatencyMode" :String, "MultitrackInputConfiguration" :MultitrackInputConfiguration, "Name" :String, "Preset" :String, "RecordingConfigurationArn" :String, "Tags" :[ Tag, ... ], "Type" :String} }
YAML
Type: AWS::IVS::Channel Properties: Authorized:BooleanContainerFormat:StringInsecureIngest:BooleanLatencyMode:StringMultitrackInputConfiguration:MultitrackInputConfigurationName:StringPreset:StringRecordingConfigurationArn:StringTags:- TagType:String
Properties
- 
                    Whether the channel is authorized. Default: falseRequired: No Type: Boolean Update requires: No interruption 
- ContainerFormat
- 
                    Indicates which content-packaging format is used (MPEG-TS or fMP4). If multitrackInputConfigurationis specified andenabledistrue, thencontainerFormatis required and must be set toFRAGMENTED_MP4. Otherwise,containerFormatmay be set toTSorFRAGMENTED_MP4. Default:TS.Required: No Type: String Allowed values: TS | FRAGMENTED_MP4Update requires: No interruption 
- InsecureIngest
- 
                    Whether the channel allows insecure RTMP ingest. Default: falseRequired: No Type: Boolean Update requires: No interruption 
- LatencyMode
- 
                    Channel latency mode. Valid values: - 
                            NORMAL: Use NORMAL to broadcast and deliver live video up to Full HD.
- 
                            LOW: Use LOW for near real-time interactions with viewers.
 NoteIn the Amazon IVS console, LOWandNORMALcorrespond toUltra-lowandStandard, respectively.Default: LOWRequired: No Type: String Allowed values: NORMAL | LOWUpdate requires: No interruption 
- 
                            
- MultitrackInputConfiguration
- 
                    Object specifying multitrack input configuration. Default: no multitrack input configuration is specified. Required: No Type: MultitrackInputConfiguration Update requires: No interruption 
- Name
- 
                    Channel name. Required: No Type: String Pattern: ^[a-zA-Z0-9-_]*$Minimum: 0Maximum: 128Update requires: No interruption 
- Preset
- 
                    An optional transcode preset for the channel. This is selectable only for ADVANCED_HDandADVANCED_SDchannel types. For those channel types, the default preset isHIGHER_BANDWIDTH_DELIVERY. For other channel types (BASICandSTANDARD),presetis the empty string ("").Required: No Type: String Allowed values: | HIGHER_BANDWIDTH_DELIVERY | CONSTRAINED_BANDWIDTH_DELIVERYUpdate requires: No interruption 
- RecordingConfigurationArn
- 
                    The ARN of a RecordingConfiguration resource. An empty string indicates that recording is disabled for the channel. A RecordingConfiguration ARN indicates that recording is enabled using the specified recording configuration. See the RecordingConfiguration resource for more information and an example. Default: "" (empty string, recording is disabled) Required: No Type: String Pattern: ^$|arn:aws:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$Minimum: 0Maximum: 128Update requires: No interruption 
- 
                    
                    An array of key-value pairs to apply to this resource. For more information, see Tag. Required: No Type: Array of Tag Maximum: 50Update requires: No interruption 
- Type
- 
                    The channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately. For details, see Channel Types. Default: STANDARDRequired: No Type: String Allowed values: STANDARD | BASIC | ADVANCED_SD | ADVANCED_HDUpdate requires: No interruption 
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the channel ARN. For example:
                        { "Ref": "myChannel" }
                    
For the Amazon IVS channel myChannel,
                Ref returns the channel ARN.
For more information about using the Ref function, see Ref.
Fn::GetAtt
The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.
- Arn
- 
                            The channel ARN. For example: arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh
- IngestEndpoint
- 
                            Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software. For example: a1b2c3d4e5f6.global-contribute.live-video.net
- PlaybackUrl
- 
                            Channel playback URL. For example: https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8
Examples
Channel and Stream Key Template Examples
The following examples specify an Amazon IVS channel and stream key.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "Channel": { "Type": "AWS::IVS::Channel", "Properties": { "Name": "MyChannel", "Tags": [ { "Key": "MyKey", "Value": "MyValue" } ], "InsecureIngest": true } }, "StreamKey": { "Type": "AWS::IVS::StreamKey", "Properties": { "ChannelArn": {"Ref": "Channel"}, "Tags": [ { "Key": "MyKey", "Value": "MyValue" } ] } } }, "Outputs": { "ChannelArn": { "Value": {"Ref": "Channel"} }, "ChannelIngestEndpoint": { "Value": { "Fn::GetAtt": [ "Channel", "IngestEndpoint" ] } }, "ChannelPlaybackUrl": { "Value": { "Fn::GetAtt": [ "Channel", "PlaybackUrl" ] } }, "StreamKeyArn": { "Value": {"Ref": "StreamKey"} } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: Channel: Type: AWS::IVS::Channel Properties: Name: MyChannel Tags: - Key: MyKey Value: MyValue InsecureIngest: true StreamKey: Type: AWS::IVS::StreamKey Properties: ChannelArn: !Ref Channel Tags: - Key: MyKey Value: MyValue Outputs: ChannelArn: Value: !Ref Channel ChannelIngestEndpoint: Value: !GetAtt Channel.IngestEndpoint ChannelPlaybackUrl: Value: !GetAtt Channel.PlaybackUrl StreamKeyArn: Value: !Ref StreamKey
See also
- 
                    Channel data type 
- 
                    CreateChannel API endpoint