Skip to content

Resource: awsMedialiveMultiplexProgram

Terraform resource for managing an AWS MediaLive MultiplexProgram.

\~> Note Attribute statemuxSettings has been deprecated and will be removed in a future major release. Please use statmuxSettings instead.

Example Usage

Basic Usage

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
const dataAwsAvailabilityZonesAvailable =
  new aws.dataAwsAvailabilityZones.DataAwsAvailabilityZones(this, "available", {
    state: "available",
  });
const awsMedialiveMultiplexExample =
  new aws.medialiveMultiplex.MedialiveMultiplex(this, "example", {
    availabilityZones: [
      `\${${dataAwsAvailabilityZonesAvailable.names.fqn}[0]}`,
      `\${${dataAwsAvailabilityZonesAvailable.names.fqn}[1]}`,
    ],
    multiplexSettings: {
      maximumVideoBufferDelayMilliseconds: 1000,
      transportStreamBitrate: 1000000,
      transportStreamId: 1,
      transportStreamReservedBitrate: 1,
    },
    name: "example-multiplex-changed",
    startMultiplex: true,
    tags: {
      tag1: "value1",
    },
  });
const awsMedialiveMultiplexProgramExample =
  new aws.medialiveMultiplexProgram.MedialiveMultiplexProgram(
    this,
    "example_2",
    {
      multiplexId: awsMedialiveMultiplexExample.id,
      multiplexProgramSettings: [
        {
          preferredChannelPipeline: "CURRENTLY_ACTIVE",
          programNumber: 1,
          videoSettings: [
            {
              constantBitrate: 100000,
            },
          ],
        },
      ],
      programName: "example_program",
    }
  );
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
awsMedialiveMultiplexProgramExample.overrideLogicalId("example");

Argument Reference

The following arguments are required:

  • multiplexId - (Required) Multiplex ID.
  • programName - (Required) Unique program name.
  • multiplexProgramSettings - (Required) MultiplexProgram settings. See Multiplex Program Settings for more details.

The following arguments are optional:

Multiple Program Settings

  • programNumber - (Required) Unique program number.
  • preferredChannelPipeline - (Required) Enum for preferred channel pipeline. Options are CURRENTLY_ACTIVE, PIPELINE_0, or PIPELINE_1.
  • serviceDescriptor - (Optional) Service Descriptor. See Service Descriptor for more details.
  • videoSettings - (Optional) Video settings. See Video Settings for more details.

Service Descriptor

  • providerName - (Required) Unique provider name.
  • serviceName - (Required) Unique service name.

Video Settings

  • constantBitrate - (Optional) Constant bitrate value.
  • statemuxSettings - (Optional, Deprecated) Statemux settings. See Statmux Settings for more details. Settings from this attribute will apply to statmuxSettings. Conflicts with statmuxSettings.
  • statmuxSettings - (Optional) Statmux settings. See Statmux Settings for more details Conflicts with statemuxSettings.

Statmux Settings

  • minimumBitrate - (Optional) Minimum bitrate.
  • maximumBitrate - (Optional) Maximum bitrate.
  • priority - (Optional) Priority value.

Statemux Settings

  • minimumBitrate - (Optional) Minimum bitrate.
  • maximumBitrate - (Optional) Maximum bitrate.
  • priority - (Optional) Priority value.

Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • id - ID of the MultiplexProgram.
  • exampleAttribute - Concise description.

Import

MediaLive MultiplexProgram can be imported using the id, or a combination of "programName/multiplexId" e.g.,

$ terraform import aws_medialive_multiplex_program.example example_program/1234567