Channel Args
    data class ChannelArgs(val cdiInputSpecification: Output<ChannelCdiInputSpecificationArgs>? = null, val channelClass: Output<String>? = null, val destinations: Output<List<ChannelDestinationArgs>>? = null, val encoderSettings: Output<ChannelEncoderSettingsArgs>? = null, val inputAttachments: Output<List<ChannelInputAttachmentArgs>>? = null, val inputSpecification: Output<ChannelInputSpecificationArgs>? = null, val logLevel: Output<String>? = null, val maintenance: Output<ChannelMaintenanceArgs>? = null, val name: Output<String>? = null, val roleArn: Output<String>? = null, val startChannel: Output<Boolean>? = null, val tags: Output<Map<String, String>>? = null, val vpc: Output<ChannelVpcArgs>? = null) : ConvertibleToJava<ChannelArgs> 
Resource for managing an AWS MediaLive Channel.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.medialive.Channel("example", {
    name: "example-channel",
    channelClass: "STANDARD",
    roleArn: exampleAwsIamRole.arn,
    inputSpecification: {
        codec: "AVC",
        inputResolution: "HD",
        maximumBitrate: "MAX_20_MBPS",
    },
    inputAttachments: [{
        inputAttachmentName: "example-input",
        inputId: exampleAwsMedialiveInput.id,
    }],
    destinations: [{
        id: "destination",
        settings: [
            {
                url: `s3://${main.id}/test1`,
            },
            {
                url: `s3://${main2.id}/test2`,
            },
        ],
    }],
    encoderSettings: {
        timecodeConfig: {
            source: "EMBEDDED",
        },
        audioDescriptions: [{
            audioSelectorName: "example audio selector",
            name: "audio-selector",
        }],
        videoDescriptions: [{
            name: "example-video",
        }],
        outputGroups: [{
            outputGroupSettings: {
                archiveGroupSettings: [{
                    destination: {
                        destinationRefId: "destination",
                    },
                }],
            },
            outputs: [{
                outputName: "example-name",
                videoDescriptionName: "example-video",
                audioDescriptionNames: ["audio-selector"],
                outputSettings: {
                    archiveOutputSettings: {
                        nameModifier: "_1",
                        extension: "m2ts",
                        containerSettings: {
                            m2tsSettings: {
                                audioBufferModel: "ATSC",
                                bufferModel: "MULTIPLEX",
                                rateMode: "CBR",
                            },
                        },
                    },
                },
            }],
        }],
    },
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.medialive.Channel("example",
    name="example-channel",
    channel_class="STANDARD",
    role_arn=example_aws_iam_role["arn"],
    input_specification=aws.medialive.ChannelInputSpecificationArgs(
        codec="AVC",
        input_resolution="HD",
        maximum_bitrate="MAX_20_MBPS",
    ),
    input_attachments=[aws.medialive.ChannelInputAttachmentArgs(
        input_attachment_name="example-input",
        input_id=example_aws_medialive_input["id"],
    )],
    destinations=[aws.medialive.ChannelDestinationArgs(
        id="destination",
        settings=[
            aws.medialive.ChannelDestinationSettingArgs(
                url=f"s3://{main['id']}/test1",
            ),
            aws.medialive.ChannelDestinationSettingArgs(
                url=f"s3://{main2['id']}/test2",
            ),
        ],
    )],
    encoder_settings=aws.medialive.ChannelEncoderSettingsArgs(
        timecode_config=aws.medialive.ChannelEncoderSettingsTimecodeConfigArgs(
            source="EMBEDDED",
        ),
        audio_descriptions=[aws.medialive.ChannelEncoderSettingsAudioDescriptionArgs(
            audio_selector_name="example audio selector",
            name="audio-selector",
        )],
        video_descriptions=[aws.medialive.ChannelEncoderSettingsVideoDescriptionArgs(
            name="example-video",
        )],
        output_groups=[aws.medialive.ChannelEncoderSettingsOutputGroupArgs(
            output_group_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs(
                archive_group_settings=[aws.medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs(
                    destination=aws.medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs(
                        destination_ref_id="destination",
                    ),
                )],
            ),
            outputs=[aws.medialive.ChannelEncoderSettingsOutputGroupOutputArgs(
                output_name="example-name",
                video_description_name="example-video",
                audio_description_names=["audio-selector"],
                output_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs(
                    archive_output_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs(
                        name_modifier="_1",
                        extension="m2ts",
                        container_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs(
                            m2ts_settings=aws.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs(
                                audio_buffer_model="ATSC",
                                buffer_model="MULTIPLEX",
                                rate_mode="CBR",
                            ),
                        ),
                    ),
                ),
            )],
        )],
    ))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var example = new Aws.MediaLive.Channel("example", new()
    {
        Name = "example-channel",
        ChannelClass = "STANDARD",
        RoleArn = exampleAwsIamRole.Arn,
        InputSpecification = new Aws.MediaLive.Inputs.ChannelInputSpecificationArgs
        {
            Codec = "AVC",
            InputResolution = "HD",
            MaximumBitrate = "MAX_20_MBPS",
        },
        InputAttachments = new[]
        {
            new Aws.MediaLive.Inputs.ChannelInputAttachmentArgs
            {
                InputAttachmentName = "example-input",
                InputId = exampleAwsMedialiveInput.Id,
            },
        },
        Destinations = new[]
        {
            new Aws.MediaLive.Inputs.ChannelDestinationArgs
            {
                Id = "destination",
                Settings = new[]
                {
                    new Aws.MediaLive.Inputs.ChannelDestinationSettingArgs
                    {
                        Url = $"s3://{main.Id}/test1",
                    },
                    new Aws.MediaLive.Inputs.ChannelDestinationSettingArgs
                    {
                        Url = $"s3://{main2.Id}/test2",
                    },
                },
            },
        },
        EncoderSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsArgs
        {
            TimecodeConfig = new Aws.MediaLive.Inputs.ChannelEncoderSettingsTimecodeConfigArgs
            {
                Source = "EMBEDDED",
            },
            AudioDescriptions = new[]
            {
                new Aws.MediaLive.Inputs.ChannelEncoderSettingsAudioDescriptionArgs
                {
                    AudioSelectorName = "example audio selector",
                    Name = "audio-selector",
                },
            },
            VideoDescriptions = new[]
            {
                new Aws.MediaLive.Inputs.ChannelEncoderSettingsVideoDescriptionArgs
                {
                    Name = "example-video",
                },
            },
            OutputGroups = new[]
            {
                new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupArgs
                {
                    OutputGroupSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs
                    {
                        ArchiveGroupSettings = new[]
                        {
                            new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs
                            {
                                Destination = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs
                                {
                                    DestinationRefId = "destination",
                                },
                            },
                        },
                    },
                    Outputs = new[]
                    {
                        new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputArgs
                        {
                            OutputName = "example-name",
                            VideoDescriptionName = "example-video",
                            AudioDescriptionNames = new[]
                            {
                                "audio-selector",
                            },
                            OutputSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs
                            {
                                ArchiveOutputSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs
                                {
                                    NameModifier = "_1",
                                    Extension = "m2ts",
                                    ContainerSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs
                                    {
                                        M2tsSettings = new Aws.MediaLive.Inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs
                                        {
                                            AudioBufferModel = "ATSC",
                                            BufferModel = "MULTIPLEX",
                                            RateMode = "CBR",
                                        },
                                    },
                                },
                            },
                        },
                    },
                },
            },
        },
    });
});Content copied to clipboard
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/medialive"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := medialive.NewChannel(ctx, "example", &medialive.ChannelArgs{
			Name:         pulumi.String("example-channel"),
			ChannelClass: pulumi.String("STANDARD"),
			RoleArn:      pulumi.Any(exampleAwsIamRole.Arn),
			InputSpecification: &medialive.ChannelInputSpecificationArgs{
				Codec:           pulumi.String("AVC"),
				InputResolution: pulumi.String("HD"),
				MaximumBitrate:  pulumi.String("MAX_20_MBPS"),
			},
			InputAttachments: medialive.ChannelInputAttachmentArray{
				&medialive.ChannelInputAttachmentArgs{
					InputAttachmentName: pulumi.String("example-input"),
					InputId:             pulumi.Any(exampleAwsMedialiveInput.Id),
				},
			},
			Destinations: medialive.ChannelDestinationArray{
				&medialive.ChannelDestinationArgs{
					Id: pulumi.String("destination"),
					Settings: medialive.ChannelDestinationSettingArray{
						&medialive.ChannelDestinationSettingArgs{
							Url: pulumi.String(fmt.Sprintf("s3://%v/test1", main.Id)),
						},
						&medialive.ChannelDestinationSettingArgs{
							Url: pulumi.String(fmt.Sprintf("s3://%v/test2", main2.Id)),
						},
					},
				},
			},
			EncoderSettings: &medialive.ChannelEncoderSettingsArgs{
				TimecodeConfig: &medialive.ChannelEncoderSettingsTimecodeConfigArgs{
					Source: pulumi.String("EMBEDDED"),
				},
				AudioDescriptions: medialive.ChannelEncoderSettingsAudioDescriptionArray{
					&medialive.ChannelEncoderSettingsAudioDescriptionArgs{
						AudioSelectorName: pulumi.String("example audio selector"),
						Name:              pulumi.String("audio-selector"),
					},
				},
				VideoDescriptions: medialive.ChannelEncoderSettingsVideoDescriptionArray{
					&medialive.ChannelEncoderSettingsVideoDescriptionArgs{
						Name: pulumi.String("example-video"),
					},
				},
				OutputGroups: medialive.ChannelEncoderSettingsOutputGroupArray{
					&medialive.ChannelEncoderSettingsOutputGroupArgs{
						OutputGroupSettings: &medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs{
							ArchiveGroupSettings: medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArray{
								&medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs{
									Destination: &medialive.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs{
										DestinationRefId: pulumi.String("destination"),
									},
								},
							},
						},
						Outputs: medialive.ChannelEncoderSettingsOutputGroupOutputTypeArray{
							&medialive.ChannelEncoderSettingsOutputGroupOutputTypeArgs{
								OutputName:           pulumi.String("example-name"),
								VideoDescriptionName: pulumi.String("example-video"),
								AudioDescriptionNames: pulumi.StringArray{
									pulumi.String("audio-selector"),
								},
								OutputSettings: &medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs{
									ArchiveOutputSettings: &medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs{
										NameModifier: pulumi.String("_1"),
										Extension:    pulumi.String("m2ts"),
										ContainerSettings: &medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs{
											M2tsSettings: &medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs{
												AudioBufferModel: pulumi.String("ATSC"),
												BufferModel:      pulumi.String("MULTIPLEX"),
												RateMode:         pulumi.String("CBR"),
											},
										},
									},
								},
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.medialive.Channel;
import com.pulumi.aws.medialive.ChannelArgs;
import com.pulumi.aws.medialive.inputs.ChannelInputSpecificationArgs;
import com.pulumi.aws.medialive.inputs.ChannelInputAttachmentArgs;
import com.pulumi.aws.medialive.inputs.ChannelDestinationArgs;
import com.pulumi.aws.medialive.inputs.ChannelEncoderSettingsArgs;
import com.pulumi.aws.medialive.inputs.ChannelEncoderSettingsTimecodeConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new Channel("example", ChannelArgs.builder()
            .name("example-channel")
            .channelClass("STANDARD")
            .roleArn(exampleAwsIamRole.arn())
            .inputSpecification(ChannelInputSpecificationArgs.builder()
                .codec("AVC")
                .inputResolution("HD")
                .maximumBitrate("MAX_20_MBPS")
                .build())
            .inputAttachments(ChannelInputAttachmentArgs.builder()
                .inputAttachmentName("example-input")
                .inputId(exampleAwsMedialiveInput.id())
                .build())
            .destinations(ChannelDestinationArgs.builder()
                .id("destination")
                .settings(
                    ChannelDestinationSettingArgs.builder()
                        .url(String.format("s3://%s/test1", main.id()))
                        .build(),
                    ChannelDestinationSettingArgs.builder()
                        .url(String.format("s3://%s/test2", main2.id()))
                        .build())
                .build())
            .encoderSettings(ChannelEncoderSettingsArgs.builder()
                .timecodeConfig(ChannelEncoderSettingsTimecodeConfigArgs.builder()
                    .source("EMBEDDED")
                    .build())
                .audioDescriptions(ChannelEncoderSettingsAudioDescriptionArgs.builder()
                    .audioSelectorName("example audio selector")
                    .name("audio-selector")
                    .build())
                .videoDescriptions(ChannelEncoderSettingsVideoDescriptionArgs.builder()
                    .name("example-video")
                    .build())
                .outputGroups(ChannelEncoderSettingsOutputGroupArgs.builder()
                    .outputGroupSettings(ChannelEncoderSettingsOutputGroupOutputGroupSettingsArgs.builder()
                        .archiveGroupSettings(ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingArgs.builder()
                            .destination(ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSettingDestinationArgs.builder()
                                .destinationRefId("destination")
                                .build())
                            .build())
                        .build())
                    .outputs(ChannelEncoderSettingsOutputGroupOutputArgs.builder()
                        .outputName("example-name")
                        .videoDescriptionName("example-video")
                        .audioDescriptionNames("audio-selector")
                        .outputSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.builder()
                            .archiveOutputSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsArgs.builder()
                                .nameModifier("_1")
                                .extension("m2ts")
                                .containerSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsArgs.builder()
                                    .m2tsSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsArgs.builder()
                                        .audioBufferModel("ATSC")
                                        .bufferModel("MULTIPLEX")
                                        .rateMode("CBR")
                                        .build())
                                    .build())
                                .build())
                            .build())
                        .build())
                    .build())
                .build())
            .build());
    }
}Content copied to clipboard
resources:
  example:
    type: aws:medialive:Channel
    properties:
      name: example-channel
      channelClass: STANDARD
      roleArn: ${exampleAwsIamRole.arn}
      inputSpecification:
        codec: AVC
        inputResolution: HD
        maximumBitrate: MAX_20_MBPS
      inputAttachments:
        - inputAttachmentName: example-input
          inputId: ${exampleAwsMedialiveInput.id}
      destinations:
        - id: destination
          settings:
            - url: s3://${main.id}/test1
            - url: s3://${main2.id}/test2
      encoderSettings:
        timecodeConfig:
          source: EMBEDDED
        audioDescriptions:
          - audioSelectorName: example audio selector
            name: audio-selector
        videoDescriptions:
          - name: example-video
        outputGroups:
          - outputGroupSettings:
              archiveGroupSettings:
                - destination:
                    destinationRefId: destination
            outputs:
              - outputName: example-name
                videoDescriptionName: example-video
                audioDescriptionNames:
                  - audio-selector
                outputSettings:
                  archiveOutputSettings:
                    nameModifier: _1
                    extension: m2ts
                    containerSettings:
                      m2tsSettings:
                        audioBufferModel: ATSC
                        bufferModel: MULTIPLEX
                        rateMode: CBRContent copied to clipboard
Import
Using pulumi import, import MediaLive Channel using the channel_id. For example:
$ pulumi import aws:medialive/channel:Channel example 1234567Content copied to clipboard
Constructors
Link copied to clipboard
                fun ChannelArgs(cdiInputSpecification: Output<ChannelCdiInputSpecificationArgs>? = null, channelClass: Output<String>? = null, destinations: Output<List<ChannelDestinationArgs>>? = null, encoderSettings: Output<ChannelEncoderSettingsArgs>? = null, inputAttachments: Output<List<ChannelInputAttachmentArgs>>? = null, inputSpecification: Output<ChannelInputSpecificationArgs>? = null, logLevel: Output<String>? = null, maintenance: Output<ChannelMaintenanceArgs>? = null, name: Output<String>? = null, roleArn: Output<String>? = null, startChannel: Output<Boolean>? = null, tags: Output<Map<String, String>>? = null, vpc: Output<ChannelVpcArgs>? = null)