1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. transcoder
  5. JobTemplate
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

gcp.transcoder.JobTemplate

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

    Transcoding Job Template Resource

    To get more information about JobTemplate, see:

    Example Usage

    Transcoder Job Template Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const _default = new gcp.transcoder.JobTemplate("default", {
        jobTemplateId: "example-job-template",
        location: "us-central1",
        config: {
            inputs: [{
                key: "input0",
            }],
            editLists: [{
                key: "atom0",
                inputs: ["input0"],
                startTimeOffset: "0s",
            }],
            adBreaks: [{
                startTimeOffset: "3.500s",
            }],
            elementaryStreams: [
                {
                    key: "video-stream0",
                    videoStream: {
                        h264: {
                            widthPixels: 640,
                            heightPixels: 360,
                            bitrateBps: 550000,
                            frameRate: 60,
                            pixelFormat: "yuv420p",
                            rateControlMode: "vbr",
                            crfLevel: 21,
                            gopDuration: "3s",
                            vbvSizeBits: 550000,
                            vbvFullnessBits: 495000,
                            entropyCoder: "cabac",
                            profile: "high",
                            preset: "veryfast",
                        },
                    },
                },
                {
                    key: "video-stream1",
                    videoStream: {
                        h264: {
                            widthPixels: 1280,
                            heightPixels: 720,
                            bitrateBps: 550000,
                            frameRate: 60,
                            pixelFormat: "yuv420p",
                            rateControlMode: "vbr",
                            crfLevel: 21,
                            gopDuration: "3s",
                            vbvSizeBits: 2500000,
                            vbvFullnessBits: 2250000,
                            entropyCoder: "cabac",
                            profile: "high",
                            preset: "veryfast",
                        },
                    },
                },
                {
                    key: "audio-stream0",
                    audioStream: {
                        codec: "aac",
                        bitrateBps: 64000,
                        channelCount: 2,
                        channelLayouts: [
                            "fl",
                            "fr",
                        ],
                        sampleRateHertz: 48000,
                    },
                },
            ],
            muxStreams: [
                {
                    key: "sd",
                    fileName: "sd.mp4",
                    container: "mp4",
                    elementaryStreams: [
                        "video-stream0",
                        "audio-stream0",
                    ],
                },
                {
                    key: "hd",
                    fileName: "hd.mp4",
                    container: "mp4",
                    elementaryStreams: [
                        "video-stream1",
                        "audio-stream0",
                    ],
                },
            ],
        },
        labels: {
            label: "key",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    default = gcp.transcoder.JobTemplate("default",
        job_template_id="example-job-template",
        location="us-central1",
        config={
            "inputs": [{
                "key": "input0",
            }],
            "edit_lists": [{
                "key": "atom0",
                "inputs": ["input0"],
                "start_time_offset": "0s",
            }],
            "ad_breaks": [{
                "start_time_offset": "3.500s",
            }],
            "elementary_streams": [
                {
                    "key": "video-stream0",
                    "video_stream": {
                        "h264": {
                            "width_pixels": 640,
                            "height_pixels": 360,
                            "bitrate_bps": 550000,
                            "frame_rate": 60,
                            "pixel_format": "yuv420p",
                            "rate_control_mode": "vbr",
                            "crf_level": 21,
                            "gop_duration": "3s",
                            "vbv_size_bits": 550000,
                            "vbv_fullness_bits": 495000,
                            "entropy_coder": "cabac",
                            "profile": "high",
                            "preset": "veryfast",
                        },
                    },
                },
                {
                    "key": "video-stream1",
                    "video_stream": {
                        "h264": {
                            "width_pixels": 1280,
                            "height_pixels": 720,
                            "bitrate_bps": 550000,
                            "frame_rate": 60,
                            "pixel_format": "yuv420p",
                            "rate_control_mode": "vbr",
                            "crf_level": 21,
                            "gop_duration": "3s",
                            "vbv_size_bits": 2500000,
                            "vbv_fullness_bits": 2250000,
                            "entropy_coder": "cabac",
                            "profile": "high",
                            "preset": "veryfast",
                        },
                    },
                },
                {
                    "key": "audio-stream0",
                    "audio_stream": {
                        "codec": "aac",
                        "bitrate_bps": 64000,
                        "channel_count": 2,
                        "channel_layouts": [
                            "fl",
                            "fr",
                        ],
                        "sample_rate_hertz": 48000,
                    },
                },
            ],
            "mux_streams": [
                {
                    "key": "sd",
                    "file_name": "sd.mp4",
                    "container": "mp4",
                    "elementary_streams": [
                        "video-stream0",
                        "audio-stream0",
                    ],
                },
                {
                    "key": "hd",
                    "file_name": "hd.mp4",
                    "container": "mp4",
                    "elementary_streams": [
                        "video-stream1",
                        "audio-stream0",
                    ],
                },
            ],
        },
        labels={
            "label": "key",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/transcoder"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := transcoder.NewJobTemplate(ctx, "default", &transcoder.JobTemplateArgs{
    			JobTemplateId: pulumi.String("example-job-template"),
    			Location:      pulumi.String("us-central1"),
    			Config: &transcoder.JobTemplateConfigArgs{
    				Inputs: transcoder.JobTemplateConfigInputTypeArray{
    					&transcoder.JobTemplateConfigInputTypeArgs{
    						Key: pulumi.String("input0"),
    					},
    				},
    				EditLists: transcoder.JobTemplateConfigEditListArray{
    					&transcoder.JobTemplateConfigEditListArgs{
    						Key: pulumi.String("atom0"),
    						Inputs: pulumi.StringArray{
    							pulumi.String("input0"),
    						},
    						StartTimeOffset: pulumi.String("0s"),
    					},
    				},
    				AdBreaks: transcoder.JobTemplateConfigAdBreakArray{
    					&transcoder.JobTemplateConfigAdBreakArgs{
    						StartTimeOffset: pulumi.String("3.500s"),
    					},
    				},
    				ElementaryStreams: transcoder.JobTemplateConfigElementaryStreamArray{
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("video-stream0"),
    						VideoStream: &transcoder.JobTemplateConfigElementaryStreamVideoStreamArgs{
    							H264: &transcoder.JobTemplateConfigElementaryStreamVideoStreamH264Args{
    								WidthPixels:     pulumi.Int(640),
    								HeightPixels:    pulumi.Int(360),
    								BitrateBps:      pulumi.Int(550000),
    								FrameRate:       pulumi.Int(60),
    								PixelFormat:     pulumi.String("yuv420p"),
    								RateControlMode: pulumi.String("vbr"),
    								CrfLevel:        pulumi.Int(21),
    								GopDuration:     pulumi.String("3s"),
    								VbvSizeBits:     pulumi.Int(550000),
    								VbvFullnessBits: pulumi.Int(495000),
    								EntropyCoder:    pulumi.String("cabac"),
    								Profile:         pulumi.String("high"),
    								Preset:          pulumi.String("veryfast"),
    							},
    						},
    					},
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("video-stream1"),
    						VideoStream: &transcoder.JobTemplateConfigElementaryStreamVideoStreamArgs{
    							H264: &transcoder.JobTemplateConfigElementaryStreamVideoStreamH264Args{
    								WidthPixels:     pulumi.Int(1280),
    								HeightPixels:    pulumi.Int(720),
    								BitrateBps:      pulumi.Int(550000),
    								FrameRate:       pulumi.Int(60),
    								PixelFormat:     pulumi.String("yuv420p"),
    								RateControlMode: pulumi.String("vbr"),
    								CrfLevel:        pulumi.Int(21),
    								GopDuration:     pulumi.String("3s"),
    								VbvSizeBits:     pulumi.Int(2500000),
    								VbvFullnessBits: pulumi.Int(2250000),
    								EntropyCoder:    pulumi.String("cabac"),
    								Profile:         pulumi.String("high"),
    								Preset:          pulumi.String("veryfast"),
    							},
    						},
    					},
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("audio-stream0"),
    						AudioStream: &transcoder.JobTemplateConfigElementaryStreamAudioStreamArgs{
    							Codec:        pulumi.String("aac"),
    							BitrateBps:   pulumi.Int(64000),
    							ChannelCount: pulumi.Int(2),
    							ChannelLayouts: pulumi.StringArray{
    								pulumi.String("fl"),
    								pulumi.String("fr"),
    							},
    							SampleRateHertz: pulumi.Int(48000),
    						},
    					},
    				},
    				MuxStreams: transcoder.JobTemplateConfigMuxStreamArray{
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("sd"),
    						FileName:  pulumi.String("sd.mp4"),
    						Container: pulumi.String("mp4"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("video-stream0"),
    							pulumi.String("audio-stream0"),
    						},
    					},
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("hd"),
    						FileName:  pulumi.String("hd.mp4"),
    						Container: pulumi.String("mp4"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("video-stream1"),
    							pulumi.String("audio-stream0"),
    						},
    					},
    				},
    			},
    			Labels: pulumi.StringMap{
    				"label": pulumi.String("key"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = new Gcp.Transcoder.JobTemplate("default", new()
        {
            JobTemplateId = "example-job-template",
            Location = "us-central1",
            Config = new Gcp.Transcoder.Inputs.JobTemplateConfigArgs
            {
                Inputs = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigInputArgs
                    {
                        Key = "input0",
                    },
                },
                EditLists = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigEditListArgs
                    {
                        Key = "atom0",
                        Inputs = new[]
                        {
                            "input0",
                        },
                        StartTimeOffset = "0s",
                    },
                },
                AdBreaks = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigAdBreakArgs
                    {
                        StartTimeOffset = "3.500s",
                    },
                },
                ElementaryStreams = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "video-stream0",
                        VideoStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamArgs
                        {
                            H264 = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamH264Args
                            {
                                WidthPixels = 640,
                                HeightPixels = 360,
                                BitrateBps = 550000,
                                FrameRate = 60,
                                PixelFormat = "yuv420p",
                                RateControlMode = "vbr",
                                CrfLevel = 21,
                                GopDuration = "3s",
                                VbvSizeBits = 550000,
                                VbvFullnessBits = 495000,
                                EntropyCoder = "cabac",
                                Profile = "high",
                                Preset = "veryfast",
                            },
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "video-stream1",
                        VideoStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamArgs
                        {
                            H264 = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamH264Args
                            {
                                WidthPixels = 1280,
                                HeightPixels = 720,
                                BitrateBps = 550000,
                                FrameRate = 60,
                                PixelFormat = "yuv420p",
                                RateControlMode = "vbr",
                                CrfLevel = 21,
                                GopDuration = "3s",
                                VbvSizeBits = 2500000,
                                VbvFullnessBits = 2250000,
                                EntropyCoder = "cabac",
                                Profile = "high",
                                Preset = "veryfast",
                            },
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "audio-stream0",
                        AudioStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamAudioStreamArgs
                        {
                            Codec = "aac",
                            BitrateBps = 64000,
                            ChannelCount = 2,
                            ChannelLayouts = new[]
                            {
                                "fl",
                                "fr",
                            },
                            SampleRateHertz = 48000,
                        },
                    },
                },
                MuxStreams = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "sd",
                        FileName = "sd.mp4",
                        Container = "mp4",
                        ElementaryStreams = new[]
                        {
                            "video-stream0",
                            "audio-stream0",
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "hd",
                        FileName = "hd.mp4",
                        Container = "mp4",
                        ElementaryStreams = new[]
                        {
                            "video-stream1",
                            "audio-stream0",
                        },
                    },
                },
            },
            Labels = 
            {
                { "label", "key" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.transcoder.JobTemplate;
    import com.pulumi.gcp.transcoder.JobTemplateArgs;
    import com.pulumi.gcp.transcoder.inputs.JobTemplateConfigArgs;
    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 default_ = new JobTemplate("default", JobTemplateArgs.builder()
                .jobTemplateId("example-job-template")
                .location("us-central1")
                .config(JobTemplateConfigArgs.builder()
                    .inputs(JobTemplateConfigInputArgs.builder()
                        .key("input0")
                        .build())
                    .editLists(JobTemplateConfigEditListArgs.builder()
                        .key("atom0")
                        .inputs("input0")
                        .startTimeOffset("0s")
                        .build())
                    .adBreaks(JobTemplateConfigAdBreakArgs.builder()
                        .startTimeOffset("3.500s")
                        .build())
                    .elementaryStreams(                
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("video-stream0")
                            .videoStream(JobTemplateConfigElementaryStreamVideoStreamArgs.builder()
                                .h264(JobTemplateConfigElementaryStreamVideoStreamH264Args.builder()
                                    .widthPixels(640)
                                    .heightPixels(360)
                                    .bitrateBps(550000)
                                    .frameRate(60)
                                    .pixelFormat("yuv420p")
                                    .rateControlMode("vbr")
                                    .crfLevel(21)
                                    .gopDuration("3s")
                                    .vbvSizeBits(550000)
                                    .vbvFullnessBits(495000)
                                    .entropyCoder("cabac")
                                    .profile("high")
                                    .preset("veryfast")
                                    .build())
                                .build())
                            .build(),
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("video-stream1")
                            .videoStream(JobTemplateConfigElementaryStreamVideoStreamArgs.builder()
                                .h264(JobTemplateConfigElementaryStreamVideoStreamH264Args.builder()
                                    .widthPixels(1280)
                                    .heightPixels(720)
                                    .bitrateBps(550000)
                                    .frameRate(60)
                                    .pixelFormat("yuv420p")
                                    .rateControlMode("vbr")
                                    .crfLevel(21)
                                    .gopDuration("3s")
                                    .vbvSizeBits(2500000)
                                    .vbvFullnessBits(2250000)
                                    .entropyCoder("cabac")
                                    .profile("high")
                                    .preset("veryfast")
                                    .build())
                                .build())
                            .build(),
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("audio-stream0")
                            .audioStream(JobTemplateConfigElementaryStreamAudioStreamArgs.builder()
                                .codec("aac")
                                .bitrateBps(64000)
                                .channelCount(2)
                                .channelLayouts(                            
                                    "fl",
                                    "fr")
                                .sampleRateHertz(48000)
                                .build())
                            .build())
                    .muxStreams(                
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("sd")
                            .fileName("sd.mp4")
                            .container("mp4")
                            .elementaryStreams(                        
                                "video-stream0",
                                "audio-stream0")
                            .build(),
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("hd")
                            .fileName("hd.mp4")
                            .container("mp4")
                            .elementaryStreams(                        
                                "video-stream1",
                                "audio-stream0")
                            .build())
                    .build())
                .labels(Map.of("label", "key"))
                .build());
    
        }
    }
    
    resources:
      default:
        type: gcp:transcoder:JobTemplate
        properties:
          jobTemplateId: example-job-template
          location: us-central1
          config:
            inputs:
              - key: input0
            editLists:
              - key: atom0
                inputs:
                  - input0
                startTimeOffset: 0s
            adBreaks:
              - startTimeOffset: 3.500s
            elementaryStreams:
              - key: video-stream0
                videoStream:
                  h264:
                    widthPixels: 640
                    heightPixels: 360
                    bitrateBps: 550000
                    frameRate: 60
                    pixelFormat: yuv420p
                    rateControlMode: vbr
                    crfLevel: 21
                    gopDuration: 3s
                    vbvSizeBits: 550000
                    vbvFullnessBits: 495000
                    entropyCoder: cabac
                    profile: high
                    preset: veryfast
              - key: video-stream1
                videoStream:
                  h264:
                    widthPixels: 1280
                    heightPixels: 720
                    bitrateBps: 550000
                    frameRate: 60
                    pixelFormat: yuv420p
                    rateControlMode: vbr
                    crfLevel: 21
                    gopDuration: 3s
                    vbvSizeBits: 2.5e+06
                    vbvFullnessBits: 2.25e+06
                    entropyCoder: cabac
                    profile: high
                    preset: veryfast
              - key: audio-stream0
                audioStream:
                  codec: aac
                  bitrateBps: 64000
                  channelCount: 2
                  channelLayouts:
                    - fl
                    - fr
                  sampleRateHertz: 48000
            muxStreams:
              - key: sd
                fileName: sd.mp4
                container: mp4
                elementaryStreams:
                  - video-stream0
                  - audio-stream0
              - key: hd
                fileName: hd.mp4
                container: mp4
                elementaryStreams:
                  - video-stream1
                  - audio-stream0
          labels:
            label: key
    

    Transcoder Job Template Overlays

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const _default = new gcp.transcoder.JobTemplate("default", {
        jobTemplateId: "example-job-template",
        location: "us-central1",
        config: {
            inputs: [{
                key: "input0",
                uri: "gs://example/example.mp4",
            }],
            output: {
                uri: "gs://example/outputs/",
            },
            editLists: [{
                key: "atom0",
                inputs: ["input0"],
                startTimeOffset: "0s",
            }],
            adBreaks: [{
                startTimeOffset: "3.500s",
            }],
            overlays: [{
                animations: [{
                    animationFade: {
                        fadeType: "FADE_IN",
                        startTimeOffset: "1.500s",
                        endTimeOffset: "3.500s",
                        xy: {
                            x: 1,
                            y: 0.5,
                        },
                    },
                }],
                image: {
                    uri: "gs://example/overlay.png",
                },
            }],
            elementaryStreams: [
                {
                    key: "video-stream0",
                    videoStream: {
                        h264: {
                            widthPixels: 640,
                            heightPixels: 360,
                            bitrateBps: 550000,
                            frameRate: 60,
                            pixelFormat: "yuv420p",
                            rateControlMode: "vbr",
                            crfLevel: 21,
                            gopDuration: "3s",
                            vbvSizeBits: 550000,
                            vbvFullnessBits: 495000,
                            entropyCoder: "cabac",
                            profile: "high",
                            preset: "veryfast",
                        },
                    },
                },
                {
                    key: "video-stream1",
                    videoStream: {
                        h264: {
                            widthPixels: 1280,
                            heightPixels: 720,
                            bitrateBps: 550000,
                            frameRate: 60,
                            pixelFormat: "yuv420p",
                            rateControlMode: "vbr",
                            crfLevel: 21,
                            gopDuration: "3s",
                            vbvSizeBits: 2500000,
                            vbvFullnessBits: 2250000,
                            entropyCoder: "cabac",
                            profile: "high",
                            preset: "veryfast",
                        },
                    },
                },
                {
                    key: "audio-stream0",
                    audioStream: {
                        codec: "aac",
                        bitrateBps: 64000,
                        channelCount: 2,
                        channelLayouts: [
                            "fl",
                            "fr",
                        ],
                        sampleRateHertz: 48000,
                    },
                },
            ],
            muxStreams: [
                {
                    key: "sd",
                    fileName: "sd.mp4",
                    container: "mp4",
                    elementaryStreams: [
                        "video-stream0",
                        "audio-stream0",
                    ],
                },
                {
                    key: "hd",
                    fileName: "hd.mp4",
                    container: "mp4",
                    elementaryStreams: [
                        "video-stream1",
                        "audio-stream0",
                    ],
                },
            ],
        },
        labels: {
            label: "key",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    default = gcp.transcoder.JobTemplate("default",
        job_template_id="example-job-template",
        location="us-central1",
        config={
            "inputs": [{
                "key": "input0",
                "uri": "gs://example/example.mp4",
            }],
            "output": {
                "uri": "gs://example/outputs/",
            },
            "edit_lists": [{
                "key": "atom0",
                "inputs": ["input0"],
                "start_time_offset": "0s",
            }],
            "ad_breaks": [{
                "start_time_offset": "3.500s",
            }],
            "overlays": [{
                "animations": [{
                    "animation_fade": {
                        "fade_type": "FADE_IN",
                        "start_time_offset": "1.500s",
                        "end_time_offset": "3.500s",
                        "xy": {
                            "x": 1,
                            "y": 0.5,
                        },
                    },
                }],
                "image": {
                    "uri": "gs://example/overlay.png",
                },
            }],
            "elementary_streams": [
                {
                    "key": "video-stream0",
                    "video_stream": {
                        "h264": {
                            "width_pixels": 640,
                            "height_pixels": 360,
                            "bitrate_bps": 550000,
                            "frame_rate": 60,
                            "pixel_format": "yuv420p",
                            "rate_control_mode": "vbr",
                            "crf_level": 21,
                            "gop_duration": "3s",
                            "vbv_size_bits": 550000,
                            "vbv_fullness_bits": 495000,
                            "entropy_coder": "cabac",
                            "profile": "high",
                            "preset": "veryfast",
                        },
                    },
                },
                {
                    "key": "video-stream1",
                    "video_stream": {
                        "h264": {
                            "width_pixels": 1280,
                            "height_pixels": 720,
                            "bitrate_bps": 550000,
                            "frame_rate": 60,
                            "pixel_format": "yuv420p",
                            "rate_control_mode": "vbr",
                            "crf_level": 21,
                            "gop_duration": "3s",
                            "vbv_size_bits": 2500000,
                            "vbv_fullness_bits": 2250000,
                            "entropy_coder": "cabac",
                            "profile": "high",
                            "preset": "veryfast",
                        },
                    },
                },
                {
                    "key": "audio-stream0",
                    "audio_stream": {
                        "codec": "aac",
                        "bitrate_bps": 64000,
                        "channel_count": 2,
                        "channel_layouts": [
                            "fl",
                            "fr",
                        ],
                        "sample_rate_hertz": 48000,
                    },
                },
            ],
            "mux_streams": [
                {
                    "key": "sd",
                    "file_name": "sd.mp4",
                    "container": "mp4",
                    "elementary_streams": [
                        "video-stream0",
                        "audio-stream0",
                    ],
                },
                {
                    "key": "hd",
                    "file_name": "hd.mp4",
                    "container": "mp4",
                    "elementary_streams": [
                        "video-stream1",
                        "audio-stream0",
                    ],
                },
            ],
        },
        labels={
            "label": "key",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/transcoder"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := transcoder.NewJobTemplate(ctx, "default", &transcoder.JobTemplateArgs{
    			JobTemplateId: pulumi.String("example-job-template"),
    			Location:      pulumi.String("us-central1"),
    			Config: &transcoder.JobTemplateConfigArgs{
    				Inputs: transcoder.JobTemplateConfigInputTypeArray{
    					&transcoder.JobTemplateConfigInputTypeArgs{
    						Key: pulumi.String("input0"),
    						Uri: pulumi.String("gs://example/example.mp4"),
    					},
    				},
    				Output: &transcoder.JobTemplateConfigOutputTypeArgs{
    					Uri: pulumi.String("gs://example/outputs/"),
    				},
    				EditLists: transcoder.JobTemplateConfigEditListArray{
    					&transcoder.JobTemplateConfigEditListArgs{
    						Key: pulumi.String("atom0"),
    						Inputs: pulumi.StringArray{
    							pulumi.String("input0"),
    						},
    						StartTimeOffset: pulumi.String("0s"),
    					},
    				},
    				AdBreaks: transcoder.JobTemplateConfigAdBreakArray{
    					&transcoder.JobTemplateConfigAdBreakArgs{
    						StartTimeOffset: pulumi.String("3.500s"),
    					},
    				},
    				Overlays: transcoder.JobTemplateConfigOverlayArray{
    					&transcoder.JobTemplateConfigOverlayArgs{
    						Animations: transcoder.JobTemplateConfigOverlayAnimationArray{
    							&transcoder.JobTemplateConfigOverlayAnimationArgs{
    								AnimationFade: &transcoder.JobTemplateConfigOverlayAnimationAnimationFadeArgs{
    									FadeType:        pulumi.String("FADE_IN"),
    									StartTimeOffset: pulumi.String("1.500s"),
    									EndTimeOffset:   pulumi.String("3.500s"),
    									Xy: &transcoder.JobTemplateConfigOverlayAnimationAnimationFadeXyArgs{
    										X: pulumi.Float64(1),
    										Y: pulumi.Float64(0.5),
    									},
    								},
    							},
    						},
    						Image: &transcoder.JobTemplateConfigOverlayImageArgs{
    							Uri: pulumi.String("gs://example/overlay.png"),
    						},
    					},
    				},
    				ElementaryStreams: transcoder.JobTemplateConfigElementaryStreamArray{
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("video-stream0"),
    						VideoStream: &transcoder.JobTemplateConfigElementaryStreamVideoStreamArgs{
    							H264: &transcoder.JobTemplateConfigElementaryStreamVideoStreamH264Args{
    								WidthPixels:     pulumi.Int(640),
    								HeightPixels:    pulumi.Int(360),
    								BitrateBps:      pulumi.Int(550000),
    								FrameRate:       pulumi.Int(60),
    								PixelFormat:     pulumi.String("yuv420p"),
    								RateControlMode: pulumi.String("vbr"),
    								CrfLevel:        pulumi.Int(21),
    								GopDuration:     pulumi.String("3s"),
    								VbvSizeBits:     pulumi.Int(550000),
    								VbvFullnessBits: pulumi.Int(495000),
    								EntropyCoder:    pulumi.String("cabac"),
    								Profile:         pulumi.String("high"),
    								Preset:          pulumi.String("veryfast"),
    							},
    						},
    					},
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("video-stream1"),
    						VideoStream: &transcoder.JobTemplateConfigElementaryStreamVideoStreamArgs{
    							H264: &transcoder.JobTemplateConfigElementaryStreamVideoStreamH264Args{
    								WidthPixels:     pulumi.Int(1280),
    								HeightPixels:    pulumi.Int(720),
    								BitrateBps:      pulumi.Int(550000),
    								FrameRate:       pulumi.Int(60),
    								PixelFormat:     pulumi.String("yuv420p"),
    								RateControlMode: pulumi.String("vbr"),
    								CrfLevel:        pulumi.Int(21),
    								GopDuration:     pulumi.String("3s"),
    								VbvSizeBits:     pulumi.Int(2500000),
    								VbvFullnessBits: pulumi.Int(2250000),
    								EntropyCoder:    pulumi.String("cabac"),
    								Profile:         pulumi.String("high"),
    								Preset:          pulumi.String("veryfast"),
    							},
    						},
    					},
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("audio-stream0"),
    						AudioStream: &transcoder.JobTemplateConfigElementaryStreamAudioStreamArgs{
    							Codec:        pulumi.String("aac"),
    							BitrateBps:   pulumi.Int(64000),
    							ChannelCount: pulumi.Int(2),
    							ChannelLayouts: pulumi.StringArray{
    								pulumi.String("fl"),
    								pulumi.String("fr"),
    							},
    							SampleRateHertz: pulumi.Int(48000),
    						},
    					},
    				},
    				MuxStreams: transcoder.JobTemplateConfigMuxStreamArray{
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("sd"),
    						FileName:  pulumi.String("sd.mp4"),
    						Container: pulumi.String("mp4"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("video-stream0"),
    							pulumi.String("audio-stream0"),
    						},
    					},
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("hd"),
    						FileName:  pulumi.String("hd.mp4"),
    						Container: pulumi.String("mp4"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("video-stream1"),
    							pulumi.String("audio-stream0"),
    						},
    					},
    				},
    			},
    			Labels: pulumi.StringMap{
    				"label": pulumi.String("key"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = new Gcp.Transcoder.JobTemplate("default", new()
        {
            JobTemplateId = "example-job-template",
            Location = "us-central1",
            Config = new Gcp.Transcoder.Inputs.JobTemplateConfigArgs
            {
                Inputs = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigInputArgs
                    {
                        Key = "input0",
                        Uri = "gs://example/example.mp4",
                    },
                },
                Output = new Gcp.Transcoder.Inputs.JobTemplateConfigOutputArgs
                {
                    Uri = "gs://example/outputs/",
                },
                EditLists = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigEditListArgs
                    {
                        Key = "atom0",
                        Inputs = new[]
                        {
                            "input0",
                        },
                        StartTimeOffset = "0s",
                    },
                },
                AdBreaks = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigAdBreakArgs
                    {
                        StartTimeOffset = "3.500s",
                    },
                },
                Overlays = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigOverlayArgs
                    {
                        Animations = new[]
                        {
                            new Gcp.Transcoder.Inputs.JobTemplateConfigOverlayAnimationArgs
                            {
                                AnimationFade = new Gcp.Transcoder.Inputs.JobTemplateConfigOverlayAnimationAnimationFadeArgs
                                {
                                    FadeType = "FADE_IN",
                                    StartTimeOffset = "1.500s",
                                    EndTimeOffset = "3.500s",
                                    Xy = new Gcp.Transcoder.Inputs.JobTemplateConfigOverlayAnimationAnimationFadeXyArgs
                                    {
                                        X = 1,
                                        Y = 0.5,
                                    },
                                },
                            },
                        },
                        Image = new Gcp.Transcoder.Inputs.JobTemplateConfigOverlayImageArgs
                        {
                            Uri = "gs://example/overlay.png",
                        },
                    },
                },
                ElementaryStreams = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "video-stream0",
                        VideoStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamArgs
                        {
                            H264 = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamH264Args
                            {
                                WidthPixels = 640,
                                HeightPixels = 360,
                                BitrateBps = 550000,
                                FrameRate = 60,
                                PixelFormat = "yuv420p",
                                RateControlMode = "vbr",
                                CrfLevel = 21,
                                GopDuration = "3s",
                                VbvSizeBits = 550000,
                                VbvFullnessBits = 495000,
                                EntropyCoder = "cabac",
                                Profile = "high",
                                Preset = "veryfast",
                            },
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "video-stream1",
                        VideoStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamArgs
                        {
                            H264 = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamH264Args
                            {
                                WidthPixels = 1280,
                                HeightPixels = 720,
                                BitrateBps = 550000,
                                FrameRate = 60,
                                PixelFormat = "yuv420p",
                                RateControlMode = "vbr",
                                CrfLevel = 21,
                                GopDuration = "3s",
                                VbvSizeBits = 2500000,
                                VbvFullnessBits = 2250000,
                                EntropyCoder = "cabac",
                                Profile = "high",
                                Preset = "veryfast",
                            },
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "audio-stream0",
                        AudioStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamAudioStreamArgs
                        {
                            Codec = "aac",
                            BitrateBps = 64000,
                            ChannelCount = 2,
                            ChannelLayouts = new[]
                            {
                                "fl",
                                "fr",
                            },
                            SampleRateHertz = 48000,
                        },
                    },
                },
                MuxStreams = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "sd",
                        FileName = "sd.mp4",
                        Container = "mp4",
                        ElementaryStreams = new[]
                        {
                            "video-stream0",
                            "audio-stream0",
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "hd",
                        FileName = "hd.mp4",
                        Container = "mp4",
                        ElementaryStreams = new[]
                        {
                            "video-stream1",
                            "audio-stream0",
                        },
                    },
                },
            },
            Labels = 
            {
                { "label", "key" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.transcoder.JobTemplate;
    import com.pulumi.gcp.transcoder.JobTemplateArgs;
    import com.pulumi.gcp.transcoder.inputs.JobTemplateConfigArgs;
    import com.pulumi.gcp.transcoder.inputs.JobTemplateConfigOutputArgs;
    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 default_ = new JobTemplate("default", JobTemplateArgs.builder()
                .jobTemplateId("example-job-template")
                .location("us-central1")
                .config(JobTemplateConfigArgs.builder()
                    .inputs(JobTemplateConfigInputArgs.builder()
                        .key("input0")
                        .uri("gs://example/example.mp4")
                        .build())
                    .output(JobTemplateConfigOutputArgs.builder()
                        .uri("gs://example/outputs/")
                        .build())
                    .editLists(JobTemplateConfigEditListArgs.builder()
                        .key("atom0")
                        .inputs("input0")
                        .startTimeOffset("0s")
                        .build())
                    .adBreaks(JobTemplateConfigAdBreakArgs.builder()
                        .startTimeOffset("3.500s")
                        .build())
                    .overlays(JobTemplateConfigOverlayArgs.builder()
                        .animations(JobTemplateConfigOverlayAnimationArgs.builder()
                            .animationFade(JobTemplateConfigOverlayAnimationAnimationFadeArgs.builder()
                                .fadeType("FADE_IN")
                                .startTimeOffset("1.500s")
                                .endTimeOffset("3.500s")
                                .xy(JobTemplateConfigOverlayAnimationAnimationFadeXyArgs.builder()
                                    .x(1)
                                    .y(0.5)
                                    .build())
                                .build())
                            .build())
                        .image(JobTemplateConfigOverlayImageArgs.builder()
                            .uri("gs://example/overlay.png")
                            .build())
                        .build())
                    .elementaryStreams(                
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("video-stream0")
                            .videoStream(JobTemplateConfigElementaryStreamVideoStreamArgs.builder()
                                .h264(JobTemplateConfigElementaryStreamVideoStreamH264Args.builder()
                                    .widthPixels(640)
                                    .heightPixels(360)
                                    .bitrateBps(550000)
                                    .frameRate(60)
                                    .pixelFormat("yuv420p")
                                    .rateControlMode("vbr")
                                    .crfLevel(21)
                                    .gopDuration("3s")
                                    .vbvSizeBits(550000)
                                    .vbvFullnessBits(495000)
                                    .entropyCoder("cabac")
                                    .profile("high")
                                    .preset("veryfast")
                                    .build())
                                .build())
                            .build(),
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("video-stream1")
                            .videoStream(JobTemplateConfigElementaryStreamVideoStreamArgs.builder()
                                .h264(JobTemplateConfigElementaryStreamVideoStreamH264Args.builder()
                                    .widthPixels(1280)
                                    .heightPixels(720)
                                    .bitrateBps(550000)
                                    .frameRate(60)
                                    .pixelFormat("yuv420p")
                                    .rateControlMode("vbr")
                                    .crfLevel(21)
                                    .gopDuration("3s")
                                    .vbvSizeBits(2500000)
                                    .vbvFullnessBits(2250000)
                                    .entropyCoder("cabac")
                                    .profile("high")
                                    .preset("veryfast")
                                    .build())
                                .build())
                            .build(),
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("audio-stream0")
                            .audioStream(JobTemplateConfigElementaryStreamAudioStreamArgs.builder()
                                .codec("aac")
                                .bitrateBps(64000)
                                .channelCount(2)
                                .channelLayouts(                            
                                    "fl",
                                    "fr")
                                .sampleRateHertz(48000)
                                .build())
                            .build())
                    .muxStreams(                
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("sd")
                            .fileName("sd.mp4")
                            .container("mp4")
                            .elementaryStreams(                        
                                "video-stream0",
                                "audio-stream0")
                            .build(),
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("hd")
                            .fileName("hd.mp4")
                            .container("mp4")
                            .elementaryStreams(                        
                                "video-stream1",
                                "audio-stream0")
                            .build())
                    .build())
                .labels(Map.of("label", "key"))
                .build());
    
        }
    }
    
    resources:
      default:
        type: gcp:transcoder:JobTemplate
        properties:
          jobTemplateId: example-job-template
          location: us-central1
          config:
            inputs:
              - key: input0
                uri: gs://example/example.mp4
            output:
              uri: gs://example/outputs/
            editLists:
              - key: atom0
                inputs:
                  - input0
                startTimeOffset: 0s
            adBreaks:
              - startTimeOffset: 3.500s
            overlays:
              - animations:
                  - animationFade:
                      fadeType: FADE_IN
                      startTimeOffset: 1.500s
                      endTimeOffset: 3.500s
                      xy:
                        x: 1
                        y: 0.5
                image:
                  uri: gs://example/overlay.png
            elementaryStreams:
              - key: video-stream0
                videoStream:
                  h264:
                    widthPixels: 640
                    heightPixels: 360
                    bitrateBps: 550000
                    frameRate: 60
                    pixelFormat: yuv420p
                    rateControlMode: vbr
                    crfLevel: 21
                    gopDuration: 3s
                    vbvSizeBits: 550000
                    vbvFullnessBits: 495000
                    entropyCoder: cabac
                    profile: high
                    preset: veryfast
              - key: video-stream1
                videoStream:
                  h264:
                    widthPixels: 1280
                    heightPixels: 720
                    bitrateBps: 550000
                    frameRate: 60
                    pixelFormat: yuv420p
                    rateControlMode: vbr
                    crfLevel: 21
                    gopDuration: 3s
                    vbvSizeBits: 2.5e+06
                    vbvFullnessBits: 2.25e+06
                    entropyCoder: cabac
                    profile: high
                    preset: veryfast
              - key: audio-stream0
                audioStream:
                  codec: aac
                  bitrateBps: 64000
                  channelCount: 2
                  channelLayouts:
                    - fl
                    - fr
                  sampleRateHertz: 48000
            muxStreams:
              - key: sd
                fileName: sd.mp4
                container: mp4
                elementaryStreams:
                  - video-stream0
                  - audio-stream0
              - key: hd
                fileName: hd.mp4
                container: mp4
                elementaryStreams:
                  - video-stream1
                  - audio-stream0
          labels:
            label: key
    

    Transcoder Job Template Encryptions

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const encryptionKey = new gcp.secretmanager.Secret("encryption_key", {
        secretId: "transcoder-encryption-key",
        replication: {
            auto: {},
        },
    });
    const encryptionKeySecretVersion = new gcp.secretmanager.SecretVersion("encryption_key", {
        secret: encryptionKey.name,
        secretData: "4A67F2C1B8E93A4F6D3E7890A1BC23DF",
    });
    const _default = new gcp.transcoder.JobTemplate("default", {
        jobTemplateId: "example-job-template",
        location: "us-central1",
        config: {
            elementaryStreams: [
                {
                    key: "es_video",
                    videoStream: {
                        h264: {
                            profile: "main",
                            heightPixels: 600,
                            widthPixels: 800,
                            bitrateBps: 1000000,
                            frameRate: 60,
                        },
                    },
                },
                {
                    key: "es_audio",
                    audioStream: {
                        codec: "aac",
                        channelCount: 2,
                        bitrateBps: 160000,
                    },
                },
            ],
            encryptions: [
                {
                    id: "aes-128",
                    secretManagerKeySource: {
                        secretVersion: encryptionKeySecretVersion.name,
                    },
                    drmSystems: {
                        clearkey: {},
                    },
                    aes128: {},
                },
                {
                    id: "cenc",
                    secretManagerKeySource: {
                        secretVersion: encryptionKeySecretVersion.name,
                    },
                    drmSystems: {
                        widevine: {},
                    },
                    mpegCenc: {
                        scheme: "cenc",
                    },
                },
                {
                    id: "cbcs",
                    secretManagerKeySource: {
                        secretVersion: encryptionKeySecretVersion.name,
                    },
                    drmSystems: {
                        widevine: {},
                    },
                    mpegCenc: {
                        scheme: "cbcs",
                    },
                },
            ],
            muxStreams: [
                {
                    key: "ts_aes128",
                    container: "ts",
                    elementaryStreams: [
                        "es_video",
                        "es_audio",
                    ],
                    segmentSettings: {
                        segmentDuration: "6s",
                    },
                    encryptionId: "aes-128",
                },
                {
                    key: "fmp4_cenc_video",
                    container: "fmp4",
                    elementaryStreams: ["es_video"],
                    segmentSettings: {
                        segmentDuration: "6s",
                    },
                    encryptionId: "cenc",
                },
                {
                    key: "fmp4_cenc_audio",
                    container: "fmp4",
                    elementaryStreams: ["es_audio"],
                    segmentSettings: {
                        segmentDuration: "6s",
                    },
                    encryptionId: "cenc",
                },
                {
                    key: "fmp4_cbcs_video",
                    container: "fmp4",
                    elementaryStreams: ["es_video"],
                    segmentSettings: {
                        segmentDuration: "6s",
                    },
                    encryptionId: "cbcs",
                },
                {
                    key: "fmp4_cbcs_audio",
                    container: "fmp4",
                    elementaryStreams: ["es_audio"],
                    segmentSettings: {
                        segmentDuration: "6s",
                    },
                    encryptionId: "cbcs",
                },
            ],
            manifests: [
                {
                    fileName: "manifest_aes128.m3u8",
                    type: "HLS",
                    muxStreams: ["ts_aes128"],
                },
                {
                    fileName: "manifest_cenc.mpd",
                    type: "DASH",
                    muxStreams: [
                        "fmp4_cenc_video",
                        "fmp4_cenc_audio",
                    ],
                },
                {
                    fileName: "manifest_cbcs.mpd",
                    type: "DASH",
                    muxStreams: [
                        "fmp4_cbcs_video",
                        "fmp4_cbcs_audio",
                    ],
                },
            ],
        },
        labels: {
            label: "key",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    encryption_key = gcp.secretmanager.Secret("encryption_key",
        secret_id="transcoder-encryption-key",
        replication={
            "auto": {},
        })
    encryption_key_secret_version = gcp.secretmanager.SecretVersion("encryption_key",
        secret=encryption_key.name,
        secret_data="4A67F2C1B8E93A4F6D3E7890A1BC23DF")
    default = gcp.transcoder.JobTemplate("default",
        job_template_id="example-job-template",
        location="us-central1",
        config={
            "elementary_streams": [
                {
                    "key": "es_video",
                    "video_stream": {
                        "h264": {
                            "profile": "main",
                            "height_pixels": 600,
                            "width_pixels": 800,
                            "bitrate_bps": 1000000,
                            "frame_rate": 60,
                        },
                    },
                },
                {
                    "key": "es_audio",
                    "audio_stream": {
                        "codec": "aac",
                        "channel_count": 2,
                        "bitrate_bps": 160000,
                    },
                },
            ],
            "encryptions": [
                {
                    "id": "aes-128",
                    "secret_manager_key_source": {
                        "secret_version": encryption_key_secret_version.name,
                    },
                    "drm_systems": {
                        "clearkey": {},
                    },
                    "aes128": {},
                },
                {
                    "id": "cenc",
                    "secret_manager_key_source": {
                        "secret_version": encryption_key_secret_version.name,
                    },
                    "drm_systems": {
                        "widevine": {},
                    },
                    "mpeg_cenc": {
                        "scheme": "cenc",
                    },
                },
                {
                    "id": "cbcs",
                    "secret_manager_key_source": {
                        "secret_version": encryption_key_secret_version.name,
                    },
                    "drm_systems": {
                        "widevine": {},
                    },
                    "mpeg_cenc": {
                        "scheme": "cbcs",
                    },
                },
            ],
            "mux_streams": [
                {
                    "key": "ts_aes128",
                    "container": "ts",
                    "elementary_streams": [
                        "es_video",
                        "es_audio",
                    ],
                    "segment_settings": {
                        "segment_duration": "6s",
                    },
                    "encryption_id": "aes-128",
                },
                {
                    "key": "fmp4_cenc_video",
                    "container": "fmp4",
                    "elementary_streams": ["es_video"],
                    "segment_settings": {
                        "segment_duration": "6s",
                    },
                    "encryption_id": "cenc",
                },
                {
                    "key": "fmp4_cenc_audio",
                    "container": "fmp4",
                    "elementary_streams": ["es_audio"],
                    "segment_settings": {
                        "segment_duration": "6s",
                    },
                    "encryption_id": "cenc",
                },
                {
                    "key": "fmp4_cbcs_video",
                    "container": "fmp4",
                    "elementary_streams": ["es_video"],
                    "segment_settings": {
                        "segment_duration": "6s",
                    },
                    "encryption_id": "cbcs",
                },
                {
                    "key": "fmp4_cbcs_audio",
                    "container": "fmp4",
                    "elementary_streams": ["es_audio"],
                    "segment_settings": {
                        "segment_duration": "6s",
                    },
                    "encryption_id": "cbcs",
                },
            ],
            "manifests": [
                {
                    "file_name": "manifest_aes128.m3u8",
                    "type": "HLS",
                    "mux_streams": ["ts_aes128"],
                },
                {
                    "file_name": "manifest_cenc.mpd",
                    "type": "DASH",
                    "mux_streams": [
                        "fmp4_cenc_video",
                        "fmp4_cenc_audio",
                    ],
                },
                {
                    "file_name": "manifest_cbcs.mpd",
                    "type": "DASH",
                    "mux_streams": [
                        "fmp4_cbcs_video",
                        "fmp4_cbcs_audio",
                    ],
                },
            ],
        },
        labels={
            "label": "key",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/secretmanager"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/transcoder"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		encryptionKey, err := secretmanager.NewSecret(ctx, "encryption_key", &secretmanager.SecretArgs{
    			SecretId: pulumi.String("transcoder-encryption-key"),
    			Replication: &secretmanager.SecretReplicationArgs{
    				Auto: &secretmanager.SecretReplicationAutoArgs{},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		encryptionKeySecretVersion, err := secretmanager.NewSecretVersion(ctx, "encryption_key", &secretmanager.SecretVersionArgs{
    			Secret:     encryptionKey.Name,
    			SecretData: pulumi.String("4A67F2C1B8E93A4F6D3E7890A1BC23DF"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = transcoder.NewJobTemplate(ctx, "default", &transcoder.JobTemplateArgs{
    			JobTemplateId: pulumi.String("example-job-template"),
    			Location:      pulumi.String("us-central1"),
    			Config: &transcoder.JobTemplateConfigArgs{
    				ElementaryStreams: transcoder.JobTemplateConfigElementaryStreamArray{
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("es_video"),
    						VideoStream: &transcoder.JobTemplateConfigElementaryStreamVideoStreamArgs{
    							H264: &transcoder.JobTemplateConfigElementaryStreamVideoStreamH264Args{
    								Profile:      pulumi.String("main"),
    								HeightPixels: pulumi.Int(600),
    								WidthPixels:  pulumi.Int(800),
    								BitrateBps:   pulumi.Int(1000000),
    								FrameRate:    pulumi.Int(60),
    							},
    						},
    					},
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("es_audio"),
    						AudioStream: &transcoder.JobTemplateConfigElementaryStreamAudioStreamArgs{
    							Codec:        pulumi.String("aac"),
    							ChannelCount: pulumi.Int(2),
    							BitrateBps:   pulumi.Int(160000),
    						},
    					},
    				},
    				Encryptions: transcoder.JobTemplateConfigEncryptionArray{
    					&transcoder.JobTemplateConfigEncryptionArgs{
    						Id: pulumi.String("aes-128"),
    						SecretManagerKeySource: &transcoder.JobTemplateConfigEncryptionSecretManagerKeySourceArgs{
    							SecretVersion: encryptionKeySecretVersion.Name,
    						},
    						DrmSystems: &transcoder.JobTemplateConfigEncryptionDrmSystemsArgs{
    							Clearkey: &transcoder.JobTemplateConfigEncryptionDrmSystemsClearkeyArgs{},
    						},
    						Aes128: &transcoder.JobTemplateConfigEncryptionAes128Args{},
    					},
    					&transcoder.JobTemplateConfigEncryptionArgs{
    						Id: pulumi.String("cenc"),
    						SecretManagerKeySource: &transcoder.JobTemplateConfigEncryptionSecretManagerKeySourceArgs{
    							SecretVersion: encryptionKeySecretVersion.Name,
    						},
    						DrmSystems: &transcoder.JobTemplateConfigEncryptionDrmSystemsArgs{
    							Widevine: &transcoder.JobTemplateConfigEncryptionDrmSystemsWidevineArgs{},
    						},
    						MpegCenc: &transcoder.JobTemplateConfigEncryptionMpegCencArgs{
    							Scheme: pulumi.String("cenc"),
    						},
    					},
    					&transcoder.JobTemplateConfigEncryptionArgs{
    						Id: pulumi.String("cbcs"),
    						SecretManagerKeySource: &transcoder.JobTemplateConfigEncryptionSecretManagerKeySourceArgs{
    							SecretVersion: encryptionKeySecretVersion.Name,
    						},
    						DrmSystems: &transcoder.JobTemplateConfigEncryptionDrmSystemsArgs{
    							Widevine: &transcoder.JobTemplateConfigEncryptionDrmSystemsWidevineArgs{},
    						},
    						MpegCenc: &transcoder.JobTemplateConfigEncryptionMpegCencArgs{
    							Scheme: pulumi.String("cbcs"),
    						},
    					},
    				},
    				MuxStreams: transcoder.JobTemplateConfigMuxStreamArray{
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("ts_aes128"),
    						Container: pulumi.String("ts"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("es_video"),
    							pulumi.String("es_audio"),
    						},
    						SegmentSettings: &transcoder.JobTemplateConfigMuxStreamSegmentSettingsArgs{
    							SegmentDuration: pulumi.String("6s"),
    						},
    						EncryptionId: pulumi.String("aes-128"),
    					},
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("fmp4_cenc_video"),
    						Container: pulumi.String("fmp4"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("es_video"),
    						},
    						SegmentSettings: &transcoder.JobTemplateConfigMuxStreamSegmentSettingsArgs{
    							SegmentDuration: pulumi.String("6s"),
    						},
    						EncryptionId: pulumi.String("cenc"),
    					},
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("fmp4_cenc_audio"),
    						Container: pulumi.String("fmp4"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("es_audio"),
    						},
    						SegmentSettings: &transcoder.JobTemplateConfigMuxStreamSegmentSettingsArgs{
    							SegmentDuration: pulumi.String("6s"),
    						},
    						EncryptionId: pulumi.String("cenc"),
    					},
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("fmp4_cbcs_video"),
    						Container: pulumi.String("fmp4"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("es_video"),
    						},
    						SegmentSettings: &transcoder.JobTemplateConfigMuxStreamSegmentSettingsArgs{
    							SegmentDuration: pulumi.String("6s"),
    						},
    						EncryptionId: pulumi.String("cbcs"),
    					},
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("fmp4_cbcs_audio"),
    						Container: pulumi.String("fmp4"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("es_audio"),
    						},
    						SegmentSettings: &transcoder.JobTemplateConfigMuxStreamSegmentSettingsArgs{
    							SegmentDuration: pulumi.String("6s"),
    						},
    						EncryptionId: pulumi.String("cbcs"),
    					},
    				},
    				Manifests: transcoder.JobTemplateConfigManifestArray{
    					&transcoder.JobTemplateConfigManifestArgs{
    						FileName: pulumi.String("manifest_aes128.m3u8"),
    						Type:     pulumi.String("HLS"),
    						MuxStreams: pulumi.StringArray{
    							pulumi.String("ts_aes128"),
    						},
    					},
    					&transcoder.JobTemplateConfigManifestArgs{
    						FileName: pulumi.String("manifest_cenc.mpd"),
    						Type:     pulumi.String("DASH"),
    						MuxStreams: pulumi.StringArray{
    							pulumi.String("fmp4_cenc_video"),
    							pulumi.String("fmp4_cenc_audio"),
    						},
    					},
    					&transcoder.JobTemplateConfigManifestArgs{
    						FileName: pulumi.String("manifest_cbcs.mpd"),
    						Type:     pulumi.String("DASH"),
    						MuxStreams: pulumi.StringArray{
    							pulumi.String("fmp4_cbcs_video"),
    							pulumi.String("fmp4_cbcs_audio"),
    						},
    					},
    				},
    			},
    			Labels: pulumi.StringMap{
    				"label": pulumi.String("key"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var encryptionKey = new Gcp.SecretManager.Secret("encryption_key", new()
        {
            SecretId = "transcoder-encryption-key",
            Replication = new Gcp.SecretManager.Inputs.SecretReplicationArgs
            {
                Auto = null,
            },
        });
    
        var encryptionKeySecretVersion = new Gcp.SecretManager.SecretVersion("encryption_key", new()
        {
            Secret = encryptionKey.Name,
            SecretData = "4A67F2C1B8E93A4F6D3E7890A1BC23DF",
        });
    
        var @default = new Gcp.Transcoder.JobTemplate("default", new()
        {
            JobTemplateId = "example-job-template",
            Location = "us-central1",
            Config = new Gcp.Transcoder.Inputs.JobTemplateConfigArgs
            {
                ElementaryStreams = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "es_video",
                        VideoStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamArgs
                        {
                            H264 = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamH264Args
                            {
                                Profile = "main",
                                HeightPixels = 600,
                                WidthPixels = 800,
                                BitrateBps = 1000000,
                                FrameRate = 60,
                            },
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "es_audio",
                        AudioStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamAudioStreamArgs
                        {
                            Codec = "aac",
                            ChannelCount = 2,
                            BitrateBps = 160000,
                        },
                    },
                },
                Encryptions = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionArgs
                    {
                        Id = "aes-128",
                        SecretManagerKeySource = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionSecretManagerKeySourceArgs
                        {
                            SecretVersion = encryptionKeySecretVersion.Name,
                        },
                        DrmSystems = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionDrmSystemsArgs
                        {
                            Clearkey = null,
                        },
                        Aes128 = null,
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionArgs
                    {
                        Id = "cenc",
                        SecretManagerKeySource = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionSecretManagerKeySourceArgs
                        {
                            SecretVersion = encryptionKeySecretVersion.Name,
                        },
                        DrmSystems = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionDrmSystemsArgs
                        {
                            Widevine = null,
                        },
                        MpegCenc = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionMpegCencArgs
                        {
                            Scheme = "cenc",
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionArgs
                    {
                        Id = "cbcs",
                        SecretManagerKeySource = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionSecretManagerKeySourceArgs
                        {
                            SecretVersion = encryptionKeySecretVersion.Name,
                        },
                        DrmSystems = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionDrmSystemsArgs
                        {
                            Widevine = null,
                        },
                        MpegCenc = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionMpegCencArgs
                        {
                            Scheme = "cbcs",
                        },
                    },
                },
                MuxStreams = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "ts_aes128",
                        Container = "ts",
                        ElementaryStreams = new[]
                        {
                            "es_video",
                            "es_audio",
                        },
                        SegmentSettings = new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamSegmentSettingsArgs
                        {
                            SegmentDuration = "6s",
                        },
                        EncryptionId = "aes-128",
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "fmp4_cenc_video",
                        Container = "fmp4",
                        ElementaryStreams = new[]
                        {
                            "es_video",
                        },
                        SegmentSettings = new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamSegmentSettingsArgs
                        {
                            SegmentDuration = "6s",
                        },
                        EncryptionId = "cenc",
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "fmp4_cenc_audio",
                        Container = "fmp4",
                        ElementaryStreams = new[]
                        {
                            "es_audio",
                        },
                        SegmentSettings = new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamSegmentSettingsArgs
                        {
                            SegmentDuration = "6s",
                        },
                        EncryptionId = "cenc",
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "fmp4_cbcs_video",
                        Container = "fmp4",
                        ElementaryStreams = new[]
                        {
                            "es_video",
                        },
                        SegmentSettings = new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamSegmentSettingsArgs
                        {
                            SegmentDuration = "6s",
                        },
                        EncryptionId = "cbcs",
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "fmp4_cbcs_audio",
                        Container = "fmp4",
                        ElementaryStreams = new[]
                        {
                            "es_audio",
                        },
                        SegmentSettings = new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamSegmentSettingsArgs
                        {
                            SegmentDuration = "6s",
                        },
                        EncryptionId = "cbcs",
                    },
                },
                Manifests = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigManifestArgs
                    {
                        FileName = "manifest_aes128.m3u8",
                        Type = "HLS",
                        MuxStreams = new[]
                        {
                            "ts_aes128",
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigManifestArgs
                    {
                        FileName = "manifest_cenc.mpd",
                        Type = "DASH",
                        MuxStreams = new[]
                        {
                            "fmp4_cenc_video",
                            "fmp4_cenc_audio",
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigManifestArgs
                    {
                        FileName = "manifest_cbcs.mpd",
                        Type = "DASH",
                        MuxStreams = new[]
                        {
                            "fmp4_cbcs_video",
                            "fmp4_cbcs_audio",
                        },
                    },
                },
            },
            Labels = 
            {
                { "label", "key" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.secretmanager.Secret;
    import com.pulumi.gcp.secretmanager.SecretArgs;
    import com.pulumi.gcp.secretmanager.inputs.SecretReplicationArgs;
    import com.pulumi.gcp.secretmanager.inputs.SecretReplicationAutoArgs;
    import com.pulumi.gcp.secretmanager.SecretVersion;
    import com.pulumi.gcp.secretmanager.SecretVersionArgs;
    import com.pulumi.gcp.transcoder.JobTemplate;
    import com.pulumi.gcp.transcoder.JobTemplateArgs;
    import com.pulumi.gcp.transcoder.inputs.JobTemplateConfigArgs;
    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 encryptionKey = new Secret("encryptionKey", SecretArgs.builder()
                .secretId("transcoder-encryption-key")
                .replication(SecretReplicationArgs.builder()
                    .auto()
                    .build())
                .build());
    
            var encryptionKeySecretVersion = new SecretVersion("encryptionKeySecretVersion", SecretVersionArgs.builder()
                .secret(encryptionKey.name())
                .secretData("4A67F2C1B8E93A4F6D3E7890A1BC23DF")
                .build());
    
            var default_ = new JobTemplate("default", JobTemplateArgs.builder()
                .jobTemplateId("example-job-template")
                .location("us-central1")
                .config(JobTemplateConfigArgs.builder()
                    .elementaryStreams(                
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("es_video")
                            .videoStream(JobTemplateConfigElementaryStreamVideoStreamArgs.builder()
                                .h264(JobTemplateConfigElementaryStreamVideoStreamH264Args.builder()
                                    .profile("main")
                                    .heightPixels(600)
                                    .widthPixels(800)
                                    .bitrateBps(1000000)
                                    .frameRate(60)
                                    .build())
                                .build())
                            .build(),
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("es_audio")
                            .audioStream(JobTemplateConfigElementaryStreamAudioStreamArgs.builder()
                                .codec("aac")
                                .channelCount(2)
                                .bitrateBps(160000)
                                .build())
                            .build())
                    .encryptions(                
                        JobTemplateConfigEncryptionArgs.builder()
                            .id("aes-128")
                            .secretManagerKeySource(JobTemplateConfigEncryptionSecretManagerKeySourceArgs.builder()
                                .secretVersion(encryptionKeySecretVersion.name())
                                .build())
                            .drmSystems(JobTemplateConfigEncryptionDrmSystemsArgs.builder()
                                .clearkey()
                                .build())
                            .aes128()
                            .build(),
                        JobTemplateConfigEncryptionArgs.builder()
                            .id("cenc")
                            .secretManagerKeySource(JobTemplateConfigEncryptionSecretManagerKeySourceArgs.builder()
                                .secretVersion(encryptionKeySecretVersion.name())
                                .build())
                            .drmSystems(JobTemplateConfigEncryptionDrmSystemsArgs.builder()
                                .widevine()
                                .build())
                            .mpegCenc(JobTemplateConfigEncryptionMpegCencArgs.builder()
                                .scheme("cenc")
                                .build())
                            .build(),
                        JobTemplateConfigEncryptionArgs.builder()
                            .id("cbcs")
                            .secretManagerKeySource(JobTemplateConfigEncryptionSecretManagerKeySourceArgs.builder()
                                .secretVersion(encryptionKeySecretVersion.name())
                                .build())
                            .drmSystems(JobTemplateConfigEncryptionDrmSystemsArgs.builder()
                                .widevine()
                                .build())
                            .mpegCenc(JobTemplateConfigEncryptionMpegCencArgs.builder()
                                .scheme("cbcs")
                                .build())
                            .build())
                    .muxStreams(                
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("ts_aes128")
                            .container("ts")
                            .elementaryStreams(                        
                                "es_video",
                                "es_audio")
                            .segmentSettings(JobTemplateConfigMuxStreamSegmentSettingsArgs.builder()
                                .segmentDuration("6s")
                                .build())
                            .encryptionId("aes-128")
                            .build(),
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("fmp4_cenc_video")
                            .container("fmp4")
                            .elementaryStreams("es_video")
                            .segmentSettings(JobTemplateConfigMuxStreamSegmentSettingsArgs.builder()
                                .segmentDuration("6s")
                                .build())
                            .encryptionId("cenc")
                            .build(),
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("fmp4_cenc_audio")
                            .container("fmp4")
                            .elementaryStreams("es_audio")
                            .segmentSettings(JobTemplateConfigMuxStreamSegmentSettingsArgs.builder()
                                .segmentDuration("6s")
                                .build())
                            .encryptionId("cenc")
                            .build(),
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("fmp4_cbcs_video")
                            .container("fmp4")
                            .elementaryStreams("es_video")
                            .segmentSettings(JobTemplateConfigMuxStreamSegmentSettingsArgs.builder()
                                .segmentDuration("6s")
                                .build())
                            .encryptionId("cbcs")
                            .build(),
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("fmp4_cbcs_audio")
                            .container("fmp4")
                            .elementaryStreams("es_audio")
                            .segmentSettings(JobTemplateConfigMuxStreamSegmentSettingsArgs.builder()
                                .segmentDuration("6s")
                                .build())
                            .encryptionId("cbcs")
                            .build())
                    .manifests(                
                        JobTemplateConfigManifestArgs.builder()
                            .fileName("manifest_aes128.m3u8")
                            .type("HLS")
                            .muxStreams("ts_aes128")
                            .build(),
                        JobTemplateConfigManifestArgs.builder()
                            .fileName("manifest_cenc.mpd")
                            .type("DASH")
                            .muxStreams(                        
                                "fmp4_cenc_video",
                                "fmp4_cenc_audio")
                            .build(),
                        JobTemplateConfigManifestArgs.builder()
                            .fileName("manifest_cbcs.mpd")
                            .type("DASH")
                            .muxStreams(                        
                                "fmp4_cbcs_video",
                                "fmp4_cbcs_audio")
                            .build())
                    .build())
                .labels(Map.of("label", "key"))
                .build());
    
        }
    }
    
    resources:
      encryptionKey:
        type: gcp:secretmanager:Secret
        name: encryption_key
        properties:
          secretId: transcoder-encryption-key
          replication:
            auto: {}
      encryptionKeySecretVersion:
        type: gcp:secretmanager:SecretVersion
        name: encryption_key
        properties:
          secret: ${encryptionKey.name}
          secretData: 4A67F2C1B8E93A4F6D3E7890A1BC23DF
      default:
        type: gcp:transcoder:JobTemplate
        properties:
          jobTemplateId: example-job-template
          location: us-central1
          config:
            elementaryStreams:
              - key: es_video
                videoStream:
                  h264:
                    profile: main
                    heightPixels: 600
                    widthPixels: 800
                    bitrateBps: 1e+06
                    frameRate: 60
              - key: es_audio
                audioStream:
                  codec: aac
                  channelCount: 2
                  bitrateBps: 160000
            encryptions:
              - id: aes-128
                secretManagerKeySource:
                  secretVersion: ${encryptionKeySecretVersion.name}
                drmSystems:
                  clearkey: {}
                aes128: {}
              - id: cenc
                secretManagerKeySource:
                  secretVersion: ${encryptionKeySecretVersion.name}
                drmSystems:
                  widevine: {}
                mpegCenc:
                  scheme: cenc
              - id: cbcs
                secretManagerKeySource:
                  secretVersion: ${encryptionKeySecretVersion.name}
                drmSystems:
                  widevine: {}
                mpegCenc:
                  scheme: cbcs
            muxStreams:
              - key: ts_aes128
                container: ts
                elementaryStreams:
                  - es_video
                  - es_audio
                segmentSettings:
                  segmentDuration: 6s
                encryptionId: aes-128
              - key: fmp4_cenc_video
                container: fmp4
                elementaryStreams:
                  - es_video
                segmentSettings:
                  segmentDuration: 6s
                encryptionId: cenc
              - key: fmp4_cenc_audio
                container: fmp4
                elementaryStreams:
                  - es_audio
                segmentSettings:
                  segmentDuration: 6s
                encryptionId: cenc
              - key: fmp4_cbcs_video
                container: fmp4
                elementaryStreams:
                  - es_video
                segmentSettings:
                  segmentDuration: 6s
                encryptionId: cbcs
              - key: fmp4_cbcs_audio
                container: fmp4
                elementaryStreams:
                  - es_audio
                segmentSettings:
                  segmentDuration: 6s
                encryptionId: cbcs
            manifests:
              - fileName: manifest_aes128.m3u8
                type: HLS
                muxStreams:
                  - ts_aes128
              - fileName: manifest_cenc.mpd
                type: DASH
                muxStreams:
                  - fmp4_cenc_video
                  - fmp4_cenc_audio
              - fileName: manifest_cbcs.mpd
                type: DASH
                muxStreams:
                  - fmp4_cbcs_video
                  - fmp4_cbcs_audio
          labels:
            label: key
    

    Transcoder Job Template Pubsub

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const transcoderNotifications = new gcp.pubsub.Topic("transcoder_notifications", {name: "transcoder-notifications"});
    const _default = new gcp.transcoder.JobTemplate("default", {
        jobTemplateId: "example-job-template",
        location: "us-central1",
        config: {
            inputs: [{
                key: "input0",
                uri: "gs://example/example.mp4",
            }],
            output: {
                uri: "gs://example/outputs/",
            },
            editLists: [{
                key: "atom0",
                inputs: ["input0"],
                startTimeOffset: "0s",
            }],
            adBreaks: [{
                startTimeOffset: "3.500s",
            }],
            elementaryStreams: [
                {
                    key: "video-stream0",
                    videoStream: {
                        h264: {
                            widthPixels: 640,
                            heightPixels: 360,
                            bitrateBps: 550000,
                            frameRate: 60,
                            pixelFormat: "yuv420p",
                            rateControlMode: "vbr",
                            crfLevel: 21,
                            gopDuration: "3s",
                            vbvSizeBits: 550000,
                            vbvFullnessBits: 495000,
                            entropyCoder: "cabac",
                            profile: "high",
                            preset: "veryfast",
                        },
                    },
                },
                {
                    key: "video-stream1",
                    videoStream: {
                        h264: {
                            widthPixels: 1280,
                            heightPixels: 720,
                            bitrateBps: 550000,
                            frameRate: 60,
                            pixelFormat: "yuv420p",
                            rateControlMode: "vbr",
                            crfLevel: 21,
                            gopDuration: "3s",
                            vbvSizeBits: 2500000,
                            vbvFullnessBits: 2250000,
                            entropyCoder: "cabac",
                            profile: "high",
                            preset: "veryfast",
                        },
                    },
                },
                {
                    key: "audio-stream0",
                    audioStream: {
                        codec: "aac",
                        bitrateBps: 64000,
                        channelCount: 2,
                        channelLayouts: [
                            "fl",
                            "fr",
                        ],
                        sampleRateHertz: 48000,
                    },
                },
            ],
            muxStreams: [
                {
                    key: "sd",
                    fileName: "sd.mp4",
                    container: "mp4",
                    elementaryStreams: [
                        "video-stream0",
                        "audio-stream0",
                    ],
                },
                {
                    key: "hd",
                    fileName: "hd.mp4",
                    container: "mp4",
                    elementaryStreams: [
                        "video-stream1",
                        "audio-stream0",
                    ],
                },
            ],
            pubsubDestination: {
                topic: transcoderNotifications.id,
            },
        },
        labels: {
            label: "key",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    transcoder_notifications = gcp.pubsub.Topic("transcoder_notifications", name="transcoder-notifications")
    default = gcp.transcoder.JobTemplate("default",
        job_template_id="example-job-template",
        location="us-central1",
        config={
            "inputs": [{
                "key": "input0",
                "uri": "gs://example/example.mp4",
            }],
            "output": {
                "uri": "gs://example/outputs/",
            },
            "edit_lists": [{
                "key": "atom0",
                "inputs": ["input0"],
                "start_time_offset": "0s",
            }],
            "ad_breaks": [{
                "start_time_offset": "3.500s",
            }],
            "elementary_streams": [
                {
                    "key": "video-stream0",
                    "video_stream": {
                        "h264": {
                            "width_pixels": 640,
                            "height_pixels": 360,
                            "bitrate_bps": 550000,
                            "frame_rate": 60,
                            "pixel_format": "yuv420p",
                            "rate_control_mode": "vbr",
                            "crf_level": 21,
                            "gop_duration": "3s",
                            "vbv_size_bits": 550000,
                            "vbv_fullness_bits": 495000,
                            "entropy_coder": "cabac",
                            "profile": "high",
                            "preset": "veryfast",
                        },
                    },
                },
                {
                    "key": "video-stream1",
                    "video_stream": {
                        "h264": {
                            "width_pixels": 1280,
                            "height_pixels": 720,
                            "bitrate_bps": 550000,
                            "frame_rate": 60,
                            "pixel_format": "yuv420p",
                            "rate_control_mode": "vbr",
                            "crf_level": 21,
                            "gop_duration": "3s",
                            "vbv_size_bits": 2500000,
                            "vbv_fullness_bits": 2250000,
                            "entropy_coder": "cabac",
                            "profile": "high",
                            "preset": "veryfast",
                        },
                    },
                },
                {
                    "key": "audio-stream0",
                    "audio_stream": {
                        "codec": "aac",
                        "bitrate_bps": 64000,
                        "channel_count": 2,
                        "channel_layouts": [
                            "fl",
                            "fr",
                        ],
                        "sample_rate_hertz": 48000,
                    },
                },
            ],
            "mux_streams": [
                {
                    "key": "sd",
                    "file_name": "sd.mp4",
                    "container": "mp4",
                    "elementary_streams": [
                        "video-stream0",
                        "audio-stream0",
                    ],
                },
                {
                    "key": "hd",
                    "file_name": "hd.mp4",
                    "container": "mp4",
                    "elementary_streams": [
                        "video-stream1",
                        "audio-stream0",
                    ],
                },
            ],
            "pubsub_destination": {
                "topic": transcoder_notifications.id,
            },
        },
        labels={
            "label": "key",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/pubsub"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/transcoder"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		transcoderNotifications, err := pubsub.NewTopic(ctx, "transcoder_notifications", &pubsub.TopicArgs{
    			Name: pulumi.String("transcoder-notifications"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = transcoder.NewJobTemplate(ctx, "default", &transcoder.JobTemplateArgs{
    			JobTemplateId: pulumi.String("example-job-template"),
    			Location:      pulumi.String("us-central1"),
    			Config: &transcoder.JobTemplateConfigArgs{
    				Inputs: transcoder.JobTemplateConfigInputTypeArray{
    					&transcoder.JobTemplateConfigInputTypeArgs{
    						Key: pulumi.String("input0"),
    						Uri: pulumi.String("gs://example/example.mp4"),
    					},
    				},
    				Output: &transcoder.JobTemplateConfigOutputTypeArgs{
    					Uri: pulumi.String("gs://example/outputs/"),
    				},
    				EditLists: transcoder.JobTemplateConfigEditListArray{
    					&transcoder.JobTemplateConfigEditListArgs{
    						Key: pulumi.String("atom0"),
    						Inputs: pulumi.StringArray{
    							pulumi.String("input0"),
    						},
    						StartTimeOffset: pulumi.String("0s"),
    					},
    				},
    				AdBreaks: transcoder.JobTemplateConfigAdBreakArray{
    					&transcoder.JobTemplateConfigAdBreakArgs{
    						StartTimeOffset: pulumi.String("3.500s"),
    					},
    				},
    				ElementaryStreams: transcoder.JobTemplateConfigElementaryStreamArray{
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("video-stream0"),
    						VideoStream: &transcoder.JobTemplateConfigElementaryStreamVideoStreamArgs{
    							H264: &transcoder.JobTemplateConfigElementaryStreamVideoStreamH264Args{
    								WidthPixels:     pulumi.Int(640),
    								HeightPixels:    pulumi.Int(360),
    								BitrateBps:      pulumi.Int(550000),
    								FrameRate:       pulumi.Int(60),
    								PixelFormat:     pulumi.String("yuv420p"),
    								RateControlMode: pulumi.String("vbr"),
    								CrfLevel:        pulumi.Int(21),
    								GopDuration:     pulumi.String("3s"),
    								VbvSizeBits:     pulumi.Int(550000),
    								VbvFullnessBits: pulumi.Int(495000),
    								EntropyCoder:    pulumi.String("cabac"),
    								Profile:         pulumi.String("high"),
    								Preset:          pulumi.String("veryfast"),
    							},
    						},
    					},
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("video-stream1"),
    						VideoStream: &transcoder.JobTemplateConfigElementaryStreamVideoStreamArgs{
    							H264: &transcoder.JobTemplateConfigElementaryStreamVideoStreamH264Args{
    								WidthPixels:     pulumi.Int(1280),
    								HeightPixels:    pulumi.Int(720),
    								BitrateBps:      pulumi.Int(550000),
    								FrameRate:       pulumi.Int(60),
    								PixelFormat:     pulumi.String("yuv420p"),
    								RateControlMode: pulumi.String("vbr"),
    								CrfLevel:        pulumi.Int(21),
    								GopDuration:     pulumi.String("3s"),
    								VbvSizeBits:     pulumi.Int(2500000),
    								VbvFullnessBits: pulumi.Int(2250000),
    								EntropyCoder:    pulumi.String("cabac"),
    								Profile:         pulumi.String("high"),
    								Preset:          pulumi.String("veryfast"),
    							},
    						},
    					},
    					&transcoder.JobTemplateConfigElementaryStreamArgs{
    						Key: pulumi.String("audio-stream0"),
    						AudioStream: &transcoder.JobTemplateConfigElementaryStreamAudioStreamArgs{
    							Codec:        pulumi.String("aac"),
    							BitrateBps:   pulumi.Int(64000),
    							ChannelCount: pulumi.Int(2),
    							ChannelLayouts: pulumi.StringArray{
    								pulumi.String("fl"),
    								pulumi.String("fr"),
    							},
    							SampleRateHertz: pulumi.Int(48000),
    						},
    					},
    				},
    				MuxStreams: transcoder.JobTemplateConfigMuxStreamArray{
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("sd"),
    						FileName:  pulumi.String("sd.mp4"),
    						Container: pulumi.String("mp4"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("video-stream0"),
    							pulumi.String("audio-stream0"),
    						},
    					},
    					&transcoder.JobTemplateConfigMuxStreamArgs{
    						Key:       pulumi.String("hd"),
    						FileName:  pulumi.String("hd.mp4"),
    						Container: pulumi.String("mp4"),
    						ElementaryStreams: pulumi.StringArray{
    							pulumi.String("video-stream1"),
    							pulumi.String("audio-stream0"),
    						},
    					},
    				},
    				PubsubDestination: &transcoder.JobTemplateConfigPubsubDestinationArgs{
    					Topic: transcoderNotifications.ID(),
    				},
    			},
    			Labels: pulumi.StringMap{
    				"label": pulumi.String("key"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var transcoderNotifications = new Gcp.PubSub.Topic("transcoder_notifications", new()
        {
            Name = "transcoder-notifications",
        });
    
        var @default = new Gcp.Transcoder.JobTemplate("default", new()
        {
            JobTemplateId = "example-job-template",
            Location = "us-central1",
            Config = new Gcp.Transcoder.Inputs.JobTemplateConfigArgs
            {
                Inputs = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigInputArgs
                    {
                        Key = "input0",
                        Uri = "gs://example/example.mp4",
                    },
                },
                Output = new Gcp.Transcoder.Inputs.JobTemplateConfigOutputArgs
                {
                    Uri = "gs://example/outputs/",
                },
                EditLists = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigEditListArgs
                    {
                        Key = "atom0",
                        Inputs = new[]
                        {
                            "input0",
                        },
                        StartTimeOffset = "0s",
                    },
                },
                AdBreaks = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigAdBreakArgs
                    {
                        StartTimeOffset = "3.500s",
                    },
                },
                ElementaryStreams = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "video-stream0",
                        VideoStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamArgs
                        {
                            H264 = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamH264Args
                            {
                                WidthPixels = 640,
                                HeightPixels = 360,
                                BitrateBps = 550000,
                                FrameRate = 60,
                                PixelFormat = "yuv420p",
                                RateControlMode = "vbr",
                                CrfLevel = 21,
                                GopDuration = "3s",
                                VbvSizeBits = 550000,
                                VbvFullnessBits = 495000,
                                EntropyCoder = "cabac",
                                Profile = "high",
                                Preset = "veryfast",
                            },
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "video-stream1",
                        VideoStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamArgs
                        {
                            H264 = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamH264Args
                            {
                                WidthPixels = 1280,
                                HeightPixels = 720,
                                BitrateBps = 550000,
                                FrameRate = 60,
                                PixelFormat = "yuv420p",
                                RateControlMode = "vbr",
                                CrfLevel = 21,
                                GopDuration = "3s",
                                VbvSizeBits = 2500000,
                                VbvFullnessBits = 2250000,
                                EntropyCoder = "cabac",
                                Profile = "high",
                                Preset = "veryfast",
                            },
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                    {
                        Key = "audio-stream0",
                        AudioStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamAudioStreamArgs
                        {
                            Codec = "aac",
                            BitrateBps = 64000,
                            ChannelCount = 2,
                            ChannelLayouts = new[]
                            {
                                "fl",
                                "fr",
                            },
                            SampleRateHertz = 48000,
                        },
                    },
                },
                MuxStreams = new[]
                {
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "sd",
                        FileName = "sd.mp4",
                        Container = "mp4",
                        ElementaryStreams = new[]
                        {
                            "video-stream0",
                            "audio-stream0",
                        },
                    },
                    new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                    {
                        Key = "hd",
                        FileName = "hd.mp4",
                        Container = "mp4",
                        ElementaryStreams = new[]
                        {
                            "video-stream1",
                            "audio-stream0",
                        },
                    },
                },
                PubsubDestination = new Gcp.Transcoder.Inputs.JobTemplateConfigPubsubDestinationArgs
                {
                    Topic = transcoderNotifications.Id,
                },
            },
            Labels = 
            {
                { "label", "key" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.pubsub.Topic;
    import com.pulumi.gcp.pubsub.TopicArgs;
    import com.pulumi.gcp.transcoder.JobTemplate;
    import com.pulumi.gcp.transcoder.JobTemplateArgs;
    import com.pulumi.gcp.transcoder.inputs.JobTemplateConfigArgs;
    import com.pulumi.gcp.transcoder.inputs.JobTemplateConfigOutputArgs;
    import com.pulumi.gcp.transcoder.inputs.JobTemplateConfigPubsubDestinationArgs;
    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 transcoderNotifications = new Topic("transcoderNotifications", TopicArgs.builder()
                .name("transcoder-notifications")
                .build());
    
            var default_ = new JobTemplate("default", JobTemplateArgs.builder()
                .jobTemplateId("example-job-template")
                .location("us-central1")
                .config(JobTemplateConfigArgs.builder()
                    .inputs(JobTemplateConfigInputArgs.builder()
                        .key("input0")
                        .uri("gs://example/example.mp4")
                        .build())
                    .output(JobTemplateConfigOutputArgs.builder()
                        .uri("gs://example/outputs/")
                        .build())
                    .editLists(JobTemplateConfigEditListArgs.builder()
                        .key("atom0")
                        .inputs("input0")
                        .startTimeOffset("0s")
                        .build())
                    .adBreaks(JobTemplateConfigAdBreakArgs.builder()
                        .startTimeOffset("3.500s")
                        .build())
                    .elementaryStreams(                
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("video-stream0")
                            .videoStream(JobTemplateConfigElementaryStreamVideoStreamArgs.builder()
                                .h264(JobTemplateConfigElementaryStreamVideoStreamH264Args.builder()
                                    .widthPixels(640)
                                    .heightPixels(360)
                                    .bitrateBps(550000)
                                    .frameRate(60)
                                    .pixelFormat("yuv420p")
                                    .rateControlMode("vbr")
                                    .crfLevel(21)
                                    .gopDuration("3s")
                                    .vbvSizeBits(550000)
                                    .vbvFullnessBits(495000)
                                    .entropyCoder("cabac")
                                    .profile("high")
                                    .preset("veryfast")
                                    .build())
                                .build())
                            .build(),
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("video-stream1")
                            .videoStream(JobTemplateConfigElementaryStreamVideoStreamArgs.builder()
                                .h264(JobTemplateConfigElementaryStreamVideoStreamH264Args.builder()
                                    .widthPixels(1280)
                                    .heightPixels(720)
                                    .bitrateBps(550000)
                                    .frameRate(60)
                                    .pixelFormat("yuv420p")
                                    .rateControlMode("vbr")
                                    .crfLevel(21)
                                    .gopDuration("3s")
                                    .vbvSizeBits(2500000)
                                    .vbvFullnessBits(2250000)
                                    .entropyCoder("cabac")
                                    .profile("high")
                                    .preset("veryfast")
                                    .build())
                                .build())
                            .build(),
                        JobTemplateConfigElementaryStreamArgs.builder()
                            .key("audio-stream0")
                            .audioStream(JobTemplateConfigElementaryStreamAudioStreamArgs.builder()
                                .codec("aac")
                                .bitrateBps(64000)
                                .channelCount(2)
                                .channelLayouts(                            
                                    "fl",
                                    "fr")
                                .sampleRateHertz(48000)
                                .build())
                            .build())
                    .muxStreams(                
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("sd")
                            .fileName("sd.mp4")
                            .container("mp4")
                            .elementaryStreams(                        
                                "video-stream0",
                                "audio-stream0")
                            .build(),
                        JobTemplateConfigMuxStreamArgs.builder()
                            .key("hd")
                            .fileName("hd.mp4")
                            .container("mp4")
                            .elementaryStreams(                        
                                "video-stream1",
                                "audio-stream0")
                            .build())
                    .pubsubDestination(JobTemplateConfigPubsubDestinationArgs.builder()
                        .topic(transcoderNotifications.id())
                        .build())
                    .build())
                .labels(Map.of("label", "key"))
                .build());
    
        }
    }
    
    resources:
      transcoderNotifications:
        type: gcp:pubsub:Topic
        name: transcoder_notifications
        properties:
          name: transcoder-notifications
      default:
        type: gcp:transcoder:JobTemplate
        properties:
          jobTemplateId: example-job-template
          location: us-central1
          config:
            inputs:
              - key: input0
                uri: gs://example/example.mp4
            output:
              uri: gs://example/outputs/
            editLists:
              - key: atom0
                inputs:
                  - input0
                startTimeOffset: 0s
            adBreaks:
              - startTimeOffset: 3.500s
            elementaryStreams:
              - key: video-stream0
                videoStream:
                  h264:
                    widthPixels: 640
                    heightPixels: 360
                    bitrateBps: 550000
                    frameRate: 60
                    pixelFormat: yuv420p
                    rateControlMode: vbr
                    crfLevel: 21
                    gopDuration: 3s
                    vbvSizeBits: 550000
                    vbvFullnessBits: 495000
                    entropyCoder: cabac
                    profile: high
                    preset: veryfast
              - key: video-stream1
                videoStream:
                  h264:
                    widthPixels: 1280
                    heightPixels: 720
                    bitrateBps: 550000
                    frameRate: 60
                    pixelFormat: yuv420p
                    rateControlMode: vbr
                    crfLevel: 21
                    gopDuration: 3s
                    vbvSizeBits: 2.5e+06
                    vbvFullnessBits: 2.25e+06
                    entropyCoder: cabac
                    profile: high
                    preset: veryfast
              - key: audio-stream0
                audioStream:
                  codec: aac
                  bitrateBps: 64000
                  channelCount: 2
                  channelLayouts:
                    - fl
                    - fr
                  sampleRateHertz: 48000
            muxStreams:
              - key: sd
                fileName: sd.mp4
                container: mp4
                elementaryStreams:
                  - video-stream0
                  - audio-stream0
              - key: hd
                fileName: hd.mp4
                container: mp4
                elementaryStreams:
                  - video-stream1
                  - audio-stream0
            pubsubDestination:
              topic: ${transcoderNotifications.id}
          labels:
            label: key
    

    Create JobTemplate Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new JobTemplate(name: string, args: JobTemplateArgs, opts?: CustomResourceOptions);
    @overload
    def JobTemplate(resource_name: str,
                    args: JobTemplateArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def JobTemplate(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    job_template_id: Optional[str] = None,
                    location: Optional[str] = None,
                    config: Optional[JobTemplateConfigArgs] = None,
                    labels: Optional[Mapping[str, str]] = None,
                    project: Optional[str] = None)
    func NewJobTemplate(ctx *Context, name string, args JobTemplateArgs, opts ...ResourceOption) (*JobTemplate, error)
    public JobTemplate(string name, JobTemplateArgs args, CustomResourceOptions? opts = null)
    public JobTemplate(String name, JobTemplateArgs args)
    public JobTemplate(String name, JobTemplateArgs args, CustomResourceOptions options)
    
    type: gcp:transcoder:JobTemplate
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args JobTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args JobTemplateArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args JobTemplateArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args JobTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args JobTemplateArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var jobTemplateResource = new Gcp.Transcoder.JobTemplate("jobTemplateResource", new()
    {
        JobTemplateId = "string",
        Location = "string",
        Config = new Gcp.Transcoder.Inputs.JobTemplateConfigArgs
        {
            AdBreaks = new[]
            {
                new Gcp.Transcoder.Inputs.JobTemplateConfigAdBreakArgs
                {
                    StartTimeOffset = "string",
                },
            },
            EditLists = new[]
            {
                new Gcp.Transcoder.Inputs.JobTemplateConfigEditListArgs
                {
                    Inputs = new[]
                    {
                        "string",
                    },
                    Key = "string",
                    StartTimeOffset = "string",
                },
            },
            ElementaryStreams = new[]
            {
                new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamArgs
                {
                    AudioStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamAudioStreamArgs
                    {
                        BitrateBps = 0,
                        ChannelCount = 0,
                        ChannelLayouts = new[]
                        {
                            "string",
                        },
                        Codec = "string",
                        SampleRateHertz = 0,
                    },
                    Key = "string",
                    VideoStream = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamArgs
                    {
                        H264 = new Gcp.Transcoder.Inputs.JobTemplateConfigElementaryStreamVideoStreamH264Args
                        {
                            FrameRate = 0,
                            BitrateBps = 0,
                            Hlg = null,
                            EntropyCoder = "string",
                            GopDuration = "string",
                            HeightPixels = 0,
                            CrfLevel = 0,
                            PixelFormat = "string",
                            Preset = "string",
                            Profile = "string",
                            RateControlMode = "string",
                            Sdr = null,
                            VbvFullnessBits = 0,
                            VbvSizeBits = 0,
                            WidthPixels = 0,
                        },
                    },
                },
            },
            Encryptions = new[]
            {
                new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionArgs
                {
                    Id = "string",
                    Aes128 = null,
                    DrmSystems = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionDrmSystemsArgs
                    {
                        Clearkey = null,
                        Fairplay = null,
                        Playready = null,
                        Widevine = null,
                    },
                    MpegCenc = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionMpegCencArgs
                    {
                        Scheme = "string",
                    },
                    SampleAes = null,
                    SecretManagerKeySource = new Gcp.Transcoder.Inputs.JobTemplateConfigEncryptionSecretManagerKeySourceArgs
                    {
                        SecretVersion = "string",
                    },
                },
            },
            Inputs = new[]
            {
                new Gcp.Transcoder.Inputs.JobTemplateConfigInputArgs
                {
                    Key = "string",
                    Uri = "string",
                },
            },
            Manifests = new[]
            {
                new Gcp.Transcoder.Inputs.JobTemplateConfigManifestArgs
                {
                    FileName = "string",
                    MuxStreams = new[]
                    {
                        "string",
                    },
                    Type = "string",
                },
            },
            MuxStreams = new[]
            {
                new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamArgs
                {
                    Container = "string",
                    ElementaryStreams = new[]
                    {
                        "string",
                    },
                    EncryptionId = "string",
                    FileName = "string",
                    Key = "string",
                    SegmentSettings = new Gcp.Transcoder.Inputs.JobTemplateConfigMuxStreamSegmentSettingsArgs
                    {
                        SegmentDuration = "string",
                    },
                },
            },
            Output = new Gcp.Transcoder.Inputs.JobTemplateConfigOutputArgs
            {
                Uri = "string",
            },
            Overlays = new[]
            {
                new Gcp.Transcoder.Inputs.JobTemplateConfigOverlayArgs
                {
                    Animations = new[]
                    {
                        new Gcp.Transcoder.Inputs.JobTemplateConfigOverlayAnimationArgs
                        {
                            AnimationFade = new Gcp.Transcoder.Inputs.JobTemplateConfigOverlayAnimationAnimationFadeArgs
                            {
                                FadeType = "string",
                                EndTimeOffset = "string",
                                StartTimeOffset = "string",
                                Xy = new Gcp.Transcoder.Inputs.JobTemplateConfigOverlayAnimationAnimationFadeXyArgs
                                {
                                    X = 0,
                                    Y = 0,
                                },
                            },
                        },
                    },
                    Image = new Gcp.Transcoder.Inputs.JobTemplateConfigOverlayImageArgs
                    {
                        Uri = "string",
                    },
                },
            },
            PubsubDestination = new Gcp.Transcoder.Inputs.JobTemplateConfigPubsubDestinationArgs
            {
                Topic = "string",
            },
        },
        Labels = 
        {
            { "string", "string" },
        },
        Project = "string",
    });
    
    example, err := transcoder.NewJobTemplate(ctx, "jobTemplateResource", &transcoder.JobTemplateArgs{
    	JobTemplateId: pulumi.String("string"),
    	Location:      pulumi.String("string"),
    	Config: &transcoder.JobTemplateConfigArgs{
    		AdBreaks: transcoder.JobTemplateConfigAdBreakArray{
    			&transcoder.JobTemplateConfigAdBreakArgs{
    				StartTimeOffset: pulumi.String("string"),
    			},
    		},
    		EditLists: transcoder.JobTemplateConfigEditListArray{
    			&transcoder.JobTemplateConfigEditListArgs{
    				Inputs: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Key:             pulumi.String("string"),
    				StartTimeOffset: pulumi.String("string"),
    			},
    		},
    		ElementaryStreams: transcoder.JobTemplateConfigElementaryStreamArray{
    			&transcoder.JobTemplateConfigElementaryStreamArgs{
    				AudioStream: &transcoder.JobTemplateConfigElementaryStreamAudioStreamArgs{
    					BitrateBps:   pulumi.Int(0),
    					ChannelCount: pulumi.Int(0),
    					ChannelLayouts: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Codec:           pulumi.String("string"),
    					SampleRateHertz: pulumi.Int(0),
    				},
    				Key: pulumi.String("string"),
    				VideoStream: &transcoder.JobTemplateConfigElementaryStreamVideoStreamArgs{
    					H264: &transcoder.JobTemplateConfigElementaryStreamVideoStreamH264Args{
    						FrameRate:       pulumi.Int(0),
    						BitrateBps:      pulumi.Int(0),
    						Hlg:             &transcoder.JobTemplateConfigElementaryStreamVideoStreamH264HlgArgs{},
    						EntropyCoder:    pulumi.String("string"),
    						GopDuration:     pulumi.String("string"),
    						HeightPixels:    pulumi.Int(0),
    						CrfLevel:        pulumi.Int(0),
    						PixelFormat:     pulumi.String("string"),
    						Preset:          pulumi.String("string"),
    						Profile:         pulumi.String("string"),
    						RateControlMode: pulumi.String("string"),
    						Sdr:             &transcoder.JobTemplateConfigElementaryStreamVideoStreamH264SdrArgs{},
    						VbvFullnessBits: pulumi.Int(0),
    						VbvSizeBits:     pulumi.Int(0),
    						WidthPixels:     pulumi.Int(0),
    					},
    				},
    			},
    		},
    		Encryptions: transcoder.JobTemplateConfigEncryptionArray{
    			&transcoder.JobTemplateConfigEncryptionArgs{
    				Id:     pulumi.String("string"),
    				Aes128: &transcoder.JobTemplateConfigEncryptionAes128Args{},
    				DrmSystems: &transcoder.JobTemplateConfigEncryptionDrmSystemsArgs{
    					Clearkey:  &transcoder.JobTemplateConfigEncryptionDrmSystemsClearkeyArgs{},
    					Fairplay:  &transcoder.JobTemplateConfigEncryptionDrmSystemsFairplayArgs{},
    					Playready: &transcoder.JobTemplateConfigEncryptionDrmSystemsPlayreadyArgs{},
    					Widevine:  &transcoder.JobTemplateConfigEncryptionDrmSystemsWidevineArgs{},
    				},
    				MpegCenc: &transcoder.JobTemplateConfigEncryptionMpegCencArgs{
    					Scheme: pulumi.String("string"),
    				},
    				SampleAes: &transcoder.JobTemplateConfigEncryptionSampleAesArgs{},
    				SecretManagerKeySource: &transcoder.JobTemplateConfigEncryptionSecretManagerKeySourceArgs{
    					SecretVersion: pulumi.String("string"),
    				},
    			},
    		},
    		Inputs: transcoder.JobTemplateConfigInputTypeArray{
    			&transcoder.JobTemplateConfigInputTypeArgs{
    				Key: pulumi.String("string"),
    				Uri: pulumi.String("string"),
    			},
    		},
    		Manifests: transcoder.JobTemplateConfigManifestArray{
    			&transcoder.JobTemplateConfigManifestArgs{
    				FileName: pulumi.String("string"),
    				MuxStreams: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Type: pulumi.String("string"),
    			},
    		},
    		MuxStreams: transcoder.JobTemplateConfigMuxStreamArray{
    			&transcoder.JobTemplateConfigMuxStreamArgs{
    				Container: pulumi.String("string"),
    				ElementaryStreams: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				EncryptionId: pulumi.String("string"),
    				FileName:     pulumi.String("string"),
    				Key:          pulumi.String("string"),
    				SegmentSettings: &transcoder.JobTemplateConfigMuxStreamSegmentSettingsArgs{
    					SegmentDuration: pulumi.String("string"),
    				},
    			},
    		},
    		Output: &transcoder.JobTemplateConfigOutputTypeArgs{
    			Uri: pulumi.String("string"),
    		},
    		Overlays: transcoder.JobTemplateConfigOverlayArray{
    			&transcoder.JobTemplateConfigOverlayArgs{
    				Animations: transcoder.JobTemplateConfigOverlayAnimationArray{
    					&transcoder.JobTemplateConfigOverlayAnimationArgs{
    						AnimationFade: &transcoder.JobTemplateConfigOverlayAnimationAnimationFadeArgs{
    							FadeType:        pulumi.String("string"),
    							EndTimeOffset:   pulumi.String("string"),
    							StartTimeOffset: pulumi.String("string"),
    							Xy: &transcoder.JobTemplateConfigOverlayAnimationAnimationFadeXyArgs{
    								X: pulumi.Float64(0),
    								Y: pulumi.Float64(0),
    							},
    						},
    					},
    				},
    				Image: &transcoder.JobTemplateConfigOverlayImageArgs{
    					Uri: pulumi.String("string"),
    				},
    			},
    		},
    		PubsubDestination: &transcoder.JobTemplateConfigPubsubDestinationArgs{
    			Topic: pulumi.String("string"),
    		},
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Project: pulumi.String("string"),
    })
    
    var jobTemplateResource = new JobTemplate("jobTemplateResource", JobTemplateArgs.builder()
        .jobTemplateId("string")
        .location("string")
        .config(JobTemplateConfigArgs.builder()
            .adBreaks(JobTemplateConfigAdBreakArgs.builder()
                .startTimeOffset("string")
                .build())
            .editLists(JobTemplateConfigEditListArgs.builder()
                .inputs("string")
                .key("string")
                .startTimeOffset("string")
                .build())
            .elementaryStreams(JobTemplateConfigElementaryStreamArgs.builder()
                .audioStream(JobTemplateConfigElementaryStreamAudioStreamArgs.builder()
                    .bitrateBps(0)
                    .channelCount(0)
                    .channelLayouts("string")
                    .codec("string")
                    .sampleRateHertz(0)
                    .build())
                .key("string")
                .videoStream(JobTemplateConfigElementaryStreamVideoStreamArgs.builder()
                    .h264(JobTemplateConfigElementaryStreamVideoStreamH264Args.builder()
                        .frameRate(0)
                        .bitrateBps(0)
                        .hlg()
                        .entropyCoder("string")
                        .gopDuration("string")
                        .heightPixels(0)
                        .crfLevel(0)
                        .pixelFormat("string")
                        .preset("string")
                        .profile("string")
                        .rateControlMode("string")
                        .sdr()
                        .vbvFullnessBits(0)
                        .vbvSizeBits(0)
                        .widthPixels(0)
                        .build())
                    .build())
                .build())
            .encryptions(JobTemplateConfigEncryptionArgs.builder()
                .id("string")
                .aes128()
                .drmSystems(JobTemplateConfigEncryptionDrmSystemsArgs.builder()
                    .clearkey()
                    .fairplay()
                    .playready()
                    .widevine()
                    .build())
                .mpegCenc(JobTemplateConfigEncryptionMpegCencArgs.builder()
                    .scheme("string")
                    .build())
                .sampleAes()
                .secretManagerKeySource(JobTemplateConfigEncryptionSecretManagerKeySourceArgs.builder()
                    .secretVersion("string")
                    .build())
                .build())
            .inputs(JobTemplateConfigInputArgs.builder()
                .key("string")
                .uri("string")
                .build())
            .manifests(JobTemplateConfigManifestArgs.builder()
                .fileName("string")
                .muxStreams("string")
                .type("string")
                .build())
            .muxStreams(JobTemplateConfigMuxStreamArgs.builder()
                .container("string")
                .elementaryStreams("string")
                .encryptionId("string")
                .fileName("string")
                .key("string")
                .segmentSettings(JobTemplateConfigMuxStreamSegmentSettingsArgs.builder()
                    .segmentDuration("string")
                    .build())
                .build())
            .output(JobTemplateConfigOutputArgs.builder()
                .uri("string")
                .build())
            .overlays(JobTemplateConfigOverlayArgs.builder()
                .animations(JobTemplateConfigOverlayAnimationArgs.builder()
                    .animationFade(JobTemplateConfigOverlayAnimationAnimationFadeArgs.builder()
                        .fadeType("string")
                        .endTimeOffset("string")
                        .startTimeOffset("string")
                        .xy(JobTemplateConfigOverlayAnimationAnimationFadeXyArgs.builder()
                            .x(0)
                            .y(0)
                            .build())
                        .build())
                    .build())
                .image(JobTemplateConfigOverlayImageArgs.builder()
                    .uri("string")
                    .build())
                .build())
            .pubsubDestination(JobTemplateConfigPubsubDestinationArgs.builder()
                .topic("string")
                .build())
            .build())
        .labels(Map.of("string", "string"))
        .project("string")
        .build());
    
    job_template_resource = gcp.transcoder.JobTemplate("jobTemplateResource",
        job_template_id="string",
        location="string",
        config={
            "ad_breaks": [{
                "start_time_offset": "string",
            }],
            "edit_lists": [{
                "inputs": ["string"],
                "key": "string",
                "start_time_offset": "string",
            }],
            "elementary_streams": [{
                "audio_stream": {
                    "bitrate_bps": 0,
                    "channel_count": 0,
                    "channel_layouts": ["string"],
                    "codec": "string",
                    "sample_rate_hertz": 0,
                },
                "key": "string",
                "video_stream": {
                    "h264": {
                        "frame_rate": 0,
                        "bitrate_bps": 0,
                        "hlg": {},
                        "entropy_coder": "string",
                        "gop_duration": "string",
                        "height_pixels": 0,
                        "crf_level": 0,
                        "pixel_format": "string",
                        "preset": "string",
                        "profile": "string",
                        "rate_control_mode": "string",
                        "sdr": {},
                        "vbv_fullness_bits": 0,
                        "vbv_size_bits": 0,
                        "width_pixels": 0,
                    },
                },
            }],
            "encryptions": [{
                "id": "string",
                "aes128": {},
                "drm_systems": {
                    "clearkey": {},
                    "fairplay": {},
                    "playready": {},
                    "widevine": {},
                },
                "mpeg_cenc": {
                    "scheme": "string",
                },
                "sample_aes": {},
                "secret_manager_key_source": {
                    "secret_version": "string",
                },
            }],
            "inputs": [{
                "key": "string",
                "uri": "string",
            }],
            "manifests": [{
                "file_name": "string",
                "mux_streams": ["string"],
                "type": "string",
            }],
            "mux_streams": [{
                "container": "string",
                "elementary_streams": ["string"],
                "encryption_id": "string",
                "file_name": "string",
                "key": "string",
                "segment_settings": {
                    "segment_duration": "string",
                },
            }],
            "output": {
                "uri": "string",
            },
            "overlays": [{
                "animations": [{
                    "animation_fade": {
                        "fade_type": "string",
                        "end_time_offset": "string",
                        "start_time_offset": "string",
                        "xy": {
                            "x": 0,
                            "y": 0,
                        },
                    },
                }],
                "image": {
                    "uri": "string",
                },
            }],
            "pubsub_destination": {
                "topic": "string",
            },
        },
        labels={
            "string": "string",
        },
        project="string")
    
    const jobTemplateResource = new gcp.transcoder.JobTemplate("jobTemplateResource", {
        jobTemplateId: "string",
        location: "string",
        config: {
            adBreaks: [{
                startTimeOffset: "string",
            }],
            editLists: [{
                inputs: ["string"],
                key: "string",
                startTimeOffset: "string",
            }],
            elementaryStreams: [{
                audioStream: {
                    bitrateBps: 0,
                    channelCount: 0,
                    channelLayouts: ["string"],
                    codec: "string",
                    sampleRateHertz: 0,
                },
                key: "string",
                videoStream: {
                    h264: {
                        frameRate: 0,
                        bitrateBps: 0,
                        hlg: {},
                        entropyCoder: "string",
                        gopDuration: "string",
                        heightPixels: 0,
                        crfLevel: 0,
                        pixelFormat: "string",
                        preset: "string",
                        profile: "string",
                        rateControlMode: "string",
                        sdr: {},
                        vbvFullnessBits: 0,
                        vbvSizeBits: 0,
                        widthPixels: 0,
                    },
                },
            }],
            encryptions: [{
                id: "string",
                aes128: {},
                drmSystems: {
                    clearkey: {},
                    fairplay: {},
                    playready: {},
                    widevine: {},
                },
                mpegCenc: {
                    scheme: "string",
                },
                sampleAes: {},
                secretManagerKeySource: {
                    secretVersion: "string",
                },
            }],
            inputs: [{
                key: "string",
                uri: "string",
            }],
            manifests: [{
                fileName: "string",
                muxStreams: ["string"],
                type: "string",
            }],
            muxStreams: [{
                container: "string",
                elementaryStreams: ["string"],
                encryptionId: "string",
                fileName: "string",
                key: "string",
                segmentSettings: {
                    segmentDuration: "string",
                },
            }],
            output: {
                uri: "string",
            },
            overlays: [{
                animations: [{
                    animationFade: {
                        fadeType: "string",
                        endTimeOffset: "string",
                        startTimeOffset: "string",
                        xy: {
                            x: 0,
                            y: 0,
                        },
                    },
                }],
                image: {
                    uri: "string",
                },
            }],
            pubsubDestination: {
                topic: "string",
            },
        },
        labels: {
            string: "string",
        },
        project: "string",
    });
    
    type: gcp:transcoder:JobTemplate
    properties:
        config:
            adBreaks:
                - startTimeOffset: string
            editLists:
                - inputs:
                    - string
                  key: string
                  startTimeOffset: string
            elementaryStreams:
                - audioStream:
                    bitrateBps: 0
                    channelCount: 0
                    channelLayouts:
                        - string
                    codec: string
                    sampleRateHertz: 0
                  key: string
                  videoStream:
                    h264:
                        bitrateBps: 0
                        crfLevel: 0
                        entropyCoder: string
                        frameRate: 0
                        gopDuration: string
                        heightPixels: 0
                        hlg: {}
                        pixelFormat: string
                        preset: string
                        profile: string
                        rateControlMode: string
                        sdr: {}
                        vbvFullnessBits: 0
                        vbvSizeBits: 0
                        widthPixels: 0
            encryptions:
                - aes128: {}
                  drmSystems:
                    clearkey: {}
                    fairplay: {}
                    playready: {}
                    widevine: {}
                  id: string
                  mpegCenc:
                    scheme: string
                  sampleAes: {}
                  secretManagerKeySource:
                    secretVersion: string
            inputs:
                - key: string
                  uri: string
            manifests:
                - fileName: string
                  muxStreams:
                    - string
                  type: string
            muxStreams:
                - container: string
                  elementaryStreams:
                    - string
                  encryptionId: string
                  fileName: string
                  key: string
                  segmentSettings:
                    segmentDuration: string
            output:
                uri: string
            overlays:
                - animations:
                    - animationFade:
                        endTimeOffset: string
                        fadeType: string
                        startTimeOffset: string
                        xy:
                            x: 0
                            "y": 0
                  image:
                    uri: string
            pubsubDestination:
                topic: string
        jobTemplateId: string
        labels:
            string: string
        location: string
        project: string
    

    JobTemplate Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The JobTemplate resource accepts the following input properties:

    JobTemplateId string
    ID to use for the Transcoding job template.
    Location string
    The location of the transcoding job template resource.


    Config JobTemplateConfig
    The configuration for this template. Structure is documented below.
    Labels Dictionary<string, string>

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    JobTemplateId string
    ID to use for the Transcoding job template.
    Location string
    The location of the transcoding job template resource.


    Config JobTemplateConfigArgs
    The configuration for this template. Structure is documented below.
    Labels map[string]string

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    jobTemplateId String
    ID to use for the Transcoding job template.
    location String
    The location of the transcoding job template resource.


    config JobTemplateConfig
    The configuration for this template. Structure is documented below.
    labels Map<String,String>

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    jobTemplateId string
    ID to use for the Transcoding job template.
    location string
    The location of the transcoding job template resource.


    config JobTemplateConfig
    The configuration for this template. Structure is documented below.
    labels {[key: string]: string}

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    job_template_id str
    ID to use for the Transcoding job template.
    location str
    The location of the transcoding job template resource.


    config JobTemplateConfigArgs
    The configuration for this template. Structure is documented below.
    labels Mapping[str, str]

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    jobTemplateId String
    ID to use for the Transcoding job template.
    location String
    The location of the transcoding job template resource.


    config Property Map
    The configuration for this template. Structure is documented below.
    labels Map<String>

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the JobTemplate resource produces the following output properties:

    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The resource name of the job template.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The resource name of the job template.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The resource name of the job template.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The resource name of the job template.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The resource name of the job template.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The resource name of the job template.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.

    Look up Existing JobTemplate Resource

    Get an existing JobTemplate resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: JobTemplateState, opts?: CustomResourceOptions): JobTemplate
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            config: Optional[JobTemplateConfigArgs] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            job_template_id: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None) -> JobTemplate
    func GetJobTemplate(ctx *Context, name string, id IDInput, state *JobTemplateState, opts ...ResourceOption) (*JobTemplate, error)
    public static JobTemplate Get(string name, Input<string> id, JobTemplateState? state, CustomResourceOptions? opts = null)
    public static JobTemplate get(String name, Output<String> id, JobTemplateState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Config JobTemplateConfig
    The configuration for this template. Structure is documented below.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    JobTemplateId string
    ID to use for the Transcoding job template.
    Labels Dictionary<string, string>

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Location string
    The location of the transcoding job template resource.


    Name string
    The resource name of the job template.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Config JobTemplateConfigArgs
    The configuration for this template. Structure is documented below.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    JobTemplateId string
    ID to use for the Transcoding job template.
    Labels map[string]string

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Location string
    The location of the transcoding job template resource.


    Name string
    The resource name of the job template.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    config JobTemplateConfig
    The configuration for this template. Structure is documented below.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    jobTemplateId String
    ID to use for the Transcoding job template.
    labels Map<String,String>

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    location String
    The location of the transcoding job template resource.


    name String
    The resource name of the job template.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    config JobTemplateConfig
    The configuration for this template. Structure is documented below.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    jobTemplateId string
    ID to use for the Transcoding job template.
    labels {[key: string]: string}

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    location string
    The location of the transcoding job template resource.


    name string
    The resource name of the job template.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    config JobTemplateConfigArgs
    The configuration for this template. Structure is documented below.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    job_template_id str
    ID to use for the Transcoding job template.
    labels Mapping[str, str]

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    location str
    The location of the transcoding job template resource.


    name str
    The resource name of the job template.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    config Property Map
    The configuration for this template. Structure is documented below.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    jobTemplateId String
    ID to use for the Transcoding job template.
    labels Map<String>

    The labels associated with this job template. You can use these to organize and group your job templates.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    location String
    The location of the transcoding job template resource.


    name String
    The resource name of the job template.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.

    Supporting Types

    JobTemplateConfig, JobTemplateConfigArgs

    AdBreaks List<JobTemplateConfigAdBreak>
    Ad break. Structure is documented below.
    EditLists List<JobTemplateConfigEditList>
    List of input assets stored in Cloud Storage. Structure is documented below.
    ElementaryStreams List<JobTemplateConfigElementaryStream>
    List of input assets stored in Cloud Storage. Structure is documented below.
    Encryptions List<JobTemplateConfigEncryption>
    List of encryption configurations for the content. Structure is documented below.
    Inputs List<JobTemplateConfigInput>
    List of input assets stored in Cloud Storage. Structure is documented below.
    Manifests List<JobTemplateConfigManifest>
    Manifest configuration. Structure is documented below.
    MuxStreams List<JobTemplateConfigMuxStream>
    Multiplexing settings for output stream. Structure is documented below.
    Output JobTemplateConfigOutput
    Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
    Overlays List<JobTemplateConfigOverlay>
    List of overlays on the output video, in descending Z-order. Structure is documented below.
    PubsubDestination JobTemplateConfigPubsubDestination
    Pub/Sub destination. Structure is documented below.
    AdBreaks []JobTemplateConfigAdBreak
    Ad break. Structure is documented below.
    EditLists []JobTemplateConfigEditList
    List of input assets stored in Cloud Storage. Structure is documented below.
    ElementaryStreams []JobTemplateConfigElementaryStream
    List of input assets stored in Cloud Storage. Structure is documented below.
    Encryptions []JobTemplateConfigEncryption
    List of encryption configurations for the content. Structure is documented below.
    Inputs []JobTemplateConfigInputType
    List of input assets stored in Cloud Storage. Structure is documented below.
    Manifests []JobTemplateConfigManifest
    Manifest configuration. Structure is documented below.
    MuxStreams []JobTemplateConfigMuxStream
    Multiplexing settings for output stream. Structure is documented below.
    Output JobTemplateConfigOutputType
    Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
    Overlays []JobTemplateConfigOverlay
    List of overlays on the output video, in descending Z-order. Structure is documented below.
    PubsubDestination JobTemplateConfigPubsubDestination
    Pub/Sub destination. Structure is documented below.
    adBreaks List<JobTemplateConfigAdBreak>
    Ad break. Structure is documented below.
    editLists List<JobTemplateConfigEditList>
    List of input assets stored in Cloud Storage. Structure is documented below.
    elementaryStreams List<JobTemplateConfigElementaryStream>
    List of input assets stored in Cloud Storage. Structure is documented below.
    encryptions List<JobTemplateConfigEncryption>
    List of encryption configurations for the content. Structure is documented below.
    inputs List<JobTemplateConfigInput>
    List of input assets stored in Cloud Storage. Structure is documented below.
    manifests List<JobTemplateConfigManifest>
    Manifest configuration. Structure is documented below.
    muxStreams List<JobTemplateConfigMuxStream>
    Multiplexing settings for output stream. Structure is documented below.
    output JobTemplateConfigOutput
    Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
    overlays List<JobTemplateConfigOverlay>
    List of overlays on the output video, in descending Z-order. Structure is documented below.
    pubsubDestination JobTemplateConfigPubsubDestination
    Pub/Sub destination. Structure is documented below.
    adBreaks JobTemplateConfigAdBreak[]
    Ad break. Structure is documented below.
    editLists JobTemplateConfigEditList[]
    List of input assets stored in Cloud Storage. Structure is documented below.
    elementaryStreams JobTemplateConfigElementaryStream[]
    List of input assets stored in Cloud Storage. Structure is documented below.
    encryptions JobTemplateConfigEncryption[]
    List of encryption configurations for the content. Structure is documented below.
    inputs JobTemplateConfigInput[]
    List of input assets stored in Cloud Storage. Structure is documented below.
    manifests JobTemplateConfigManifest[]
    Manifest configuration. Structure is documented below.
    muxStreams JobTemplateConfigMuxStream[]
    Multiplexing settings for output stream. Structure is documented below.
    output JobTemplateConfigOutput
    Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
    overlays JobTemplateConfigOverlay[]
    List of overlays on the output video, in descending Z-order. Structure is documented below.
    pubsubDestination JobTemplateConfigPubsubDestination
    Pub/Sub destination. Structure is documented below.
    ad_breaks Sequence[JobTemplateConfigAdBreak]
    Ad break. Structure is documented below.
    edit_lists Sequence[JobTemplateConfigEditList]
    List of input assets stored in Cloud Storage. Structure is documented below.
    elementary_streams Sequence[JobTemplateConfigElementaryStream]
    List of input assets stored in Cloud Storage. Structure is documented below.
    encryptions Sequence[JobTemplateConfigEncryption]
    List of encryption configurations for the content. Structure is documented below.
    inputs Sequence[JobTemplateConfigInput]
    List of input assets stored in Cloud Storage. Structure is documented below.
    manifests Sequence[JobTemplateConfigManifest]
    Manifest configuration. Structure is documented below.
    mux_streams Sequence[JobTemplateConfigMuxStream]
    Multiplexing settings for output stream. Structure is documented below.
    output JobTemplateConfigOutput
    Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
    overlays Sequence[JobTemplateConfigOverlay]
    List of overlays on the output video, in descending Z-order. Structure is documented below.
    pubsub_destination JobTemplateConfigPubsubDestination
    Pub/Sub destination. Structure is documented below.
    adBreaks List<Property Map>
    Ad break. Structure is documented below.
    editLists List<Property Map>
    List of input assets stored in Cloud Storage. Structure is documented below.
    elementaryStreams List<Property Map>
    List of input assets stored in Cloud Storage. Structure is documented below.
    encryptions List<Property Map>
    List of encryption configurations for the content. Structure is documented below.
    inputs List<Property Map>
    List of input assets stored in Cloud Storage. Structure is documented below.
    manifests List<Property Map>
    Manifest configuration. Structure is documented below.
    muxStreams List<Property Map>
    Multiplexing settings for output stream. Structure is documented below.
    output Property Map
    Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
    overlays List<Property Map>
    List of overlays on the output video, in descending Z-order. Structure is documented below.
    pubsubDestination Property Map
    Pub/Sub destination. Structure is documented below.

    JobTemplateConfigAdBreak, JobTemplateConfigAdBreakArgs

    StartTimeOffset string
    Start time in seconds for the ad break, relative to the output file timeline
    StartTimeOffset string
    Start time in seconds for the ad break, relative to the output file timeline
    startTimeOffset String
    Start time in seconds for the ad break, relative to the output file timeline
    startTimeOffset string
    Start time in seconds for the ad break, relative to the output file timeline
    start_time_offset str
    Start time in seconds for the ad break, relative to the output file timeline
    startTimeOffset String
    Start time in seconds for the ad break, relative to the output file timeline

    JobTemplateConfigEditList, JobTemplateConfigEditListArgs

    Inputs List<string>
    List of values identifying files that should be used in this atom.
    Key string
    A unique key for this atom.
    StartTimeOffset string
    Start time in seconds for the atom, relative to the input file timeline. The default is 0s.
    Inputs []string
    List of values identifying files that should be used in this atom.
    Key string
    A unique key for this atom.
    StartTimeOffset string
    Start time in seconds for the atom, relative to the input file timeline. The default is 0s.
    inputs List<String>
    List of values identifying files that should be used in this atom.
    key String
    A unique key for this atom.
    startTimeOffset String
    Start time in seconds for the atom, relative to the input file timeline. The default is 0s.
    inputs string[]
    List of values identifying files that should be used in this atom.
    key string
    A unique key for this atom.
    startTimeOffset string
    Start time in seconds for the atom, relative to the input file timeline. The default is 0s.
    inputs Sequence[str]
    List of values identifying files that should be used in this atom.
    key str
    A unique key for this atom.
    start_time_offset str
    Start time in seconds for the atom, relative to the input file timeline. The default is 0s.
    inputs List<String>
    List of values identifying files that should be used in this atom.
    key String
    A unique key for this atom.
    startTimeOffset String
    Start time in seconds for the atom, relative to the input file timeline. The default is 0s.

    JobTemplateConfigElementaryStream, JobTemplateConfigElementaryStreamArgs

    AudioStream JobTemplateConfigElementaryStreamAudioStream
    Encoding of an audio stream. Structure is documented below.
    Key string
    A unique key for this atom.
    VideoStream JobTemplateConfigElementaryStreamVideoStream
    Encoding of a video stream. Structure is documented below.
    AudioStream JobTemplateConfigElementaryStreamAudioStream
    Encoding of an audio stream. Structure is documented below.
    Key string
    A unique key for this atom.
    VideoStream JobTemplateConfigElementaryStreamVideoStream
    Encoding of a video stream. Structure is documented below.
    audioStream JobTemplateConfigElementaryStreamAudioStream
    Encoding of an audio stream. Structure is documented below.
    key String
    A unique key for this atom.
    videoStream JobTemplateConfigElementaryStreamVideoStream
    Encoding of a video stream. Structure is documented below.
    audioStream JobTemplateConfigElementaryStreamAudioStream
    Encoding of an audio stream. Structure is documented below.
    key string
    A unique key for this atom.
    videoStream JobTemplateConfigElementaryStreamVideoStream
    Encoding of a video stream. Structure is documented below.
    audio_stream JobTemplateConfigElementaryStreamAudioStream
    Encoding of an audio stream. Structure is documented below.
    key str
    A unique key for this atom.
    video_stream JobTemplateConfigElementaryStreamVideoStream
    Encoding of a video stream. Structure is documented below.
    audioStream Property Map
    Encoding of an audio stream. Structure is documented below.
    key String
    A unique key for this atom.
    videoStream Property Map
    Encoding of a video stream. Structure is documented below.

    JobTemplateConfigElementaryStreamAudioStream, JobTemplateConfigElementaryStreamAudioStreamArgs

    BitrateBps int
    Audio bitrate in bits per second.
    ChannelCount int
    Number of audio channels. The default is 2.
    ChannelLayouts List<string>
    A list of channel names specifying layout of the audio channels. The default is ["fl", "fr"].
    Codec string
    The codec for this audio stream. The default is aac.
    SampleRateHertz int
    The audio sample rate in Hertz. The default is 48000.
    BitrateBps int
    Audio bitrate in bits per second.
    ChannelCount int
    Number of audio channels. The default is 2.
    ChannelLayouts []string
    A list of channel names specifying layout of the audio channels. The default is ["fl", "fr"].
    Codec string
    The codec for this audio stream. The default is aac.
    SampleRateHertz int
    The audio sample rate in Hertz. The default is 48000.
    bitrateBps Integer
    Audio bitrate in bits per second.
    channelCount Integer
    Number of audio channels. The default is 2.
    channelLayouts List<String>
    A list of channel names specifying layout of the audio channels. The default is ["fl", "fr"].
    codec String
    The codec for this audio stream. The default is aac.
    sampleRateHertz Integer
    The audio sample rate in Hertz. The default is 48000.
    bitrateBps number
    Audio bitrate in bits per second.
    channelCount number
    Number of audio channels. The default is 2.
    channelLayouts string[]
    A list of channel names specifying layout of the audio channels. The default is ["fl", "fr"].
    codec string
    The codec for this audio stream. The default is aac.
    sampleRateHertz number
    The audio sample rate in Hertz. The default is 48000.
    bitrate_bps int
    Audio bitrate in bits per second.
    channel_count int
    Number of audio channels. The default is 2.
    channel_layouts Sequence[str]
    A list of channel names specifying layout of the audio channels. The default is ["fl", "fr"].
    codec str
    The codec for this audio stream. The default is aac.
    sample_rate_hertz int
    The audio sample rate in Hertz. The default is 48000.
    bitrateBps Number
    Audio bitrate in bits per second.
    channelCount Number
    Number of audio channels. The default is 2.
    channelLayouts List<String>
    A list of channel names specifying layout of the audio channels. The default is ["fl", "fr"].
    codec String
    The codec for this audio stream. The default is aac.
    sampleRateHertz Number
    The audio sample rate in Hertz. The default is 48000.

    JobTemplateConfigElementaryStreamVideoStream, JobTemplateConfigElementaryStreamVideoStreamArgs

    H264 JobTemplateConfigElementaryStreamVideoStreamH264

    H264 codec settings Structure is documented below.

    The h264 block supports:

    H264 JobTemplateConfigElementaryStreamVideoStreamH264

    H264 codec settings Structure is documented below.

    The h264 block supports:

    h264 JobTemplateConfigElementaryStreamVideoStreamH264

    H264 codec settings Structure is documented below.

    The h264 block supports:

    h264 JobTemplateConfigElementaryStreamVideoStreamH264

    H264 codec settings Structure is documented below.

    The h264 block supports:

    h264 JobTemplateConfigElementaryStreamVideoStreamH264

    H264 codec settings Structure is documented below.

    The h264 block supports:

    h264 Property Map

    H264 codec settings Structure is documented below.

    The h264 block supports:

    JobTemplateConfigElementaryStreamVideoStreamH264, JobTemplateConfigElementaryStreamVideoStreamH264Args

    BitrateBps int
    The video bitrate in bits per second.
    FrameRate int
    The target video frame rate in frames per second (FPS).
    CrfLevel int
    Target CRF level. The default is '21'.
    EntropyCoder string
    The entropy coder to use. The default is 'cabac'.
    GopDuration string
    Select the GOP size based on the specified duration. The default is '3s'.
    HeightPixels int
    The height of the video in pixels.
    Hlg JobTemplateConfigElementaryStreamVideoStreamH264Hlg
    HLG color format setting for H264.
    PixelFormat string
    Pixel format to use. The default is 'yuv420p'.
    Preset string
    Enforces the specified codec preset. The default is 'veryfast'.
    Profile string
    Enforces the specified codec profile.
    RateControlMode string
    Specify the mode. The default is 'vbr'.
    Sdr JobTemplateConfigElementaryStreamVideoStreamH264Sdr
    SDR color format setting for H264.
    VbvFullnessBits int
    Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
    VbvSizeBits int
    Size of the Video Buffering Verifier (VBV) buffer in bits.
    WidthPixels int
    The width of the video in pixels.
    BitrateBps int
    The video bitrate in bits per second.
    FrameRate int
    The target video frame rate in frames per second (FPS).
    CrfLevel int
    Target CRF level. The default is '21'.
    EntropyCoder string
    The entropy coder to use. The default is 'cabac'.
    GopDuration string
    Select the GOP size based on the specified duration. The default is '3s'.
    HeightPixels int
    The height of the video in pixels.
    Hlg JobTemplateConfigElementaryStreamVideoStreamH264Hlg
    HLG color format setting for H264.
    PixelFormat string
    Pixel format to use. The default is 'yuv420p'.
    Preset string
    Enforces the specified codec preset. The default is 'veryfast'.
    Profile string
    Enforces the specified codec profile.
    RateControlMode string
    Specify the mode. The default is 'vbr'.
    Sdr JobTemplateConfigElementaryStreamVideoStreamH264Sdr
    SDR color format setting for H264.
    VbvFullnessBits int
    Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
    VbvSizeBits int
    Size of the Video Buffering Verifier (VBV) buffer in bits.
    WidthPixels int
    The width of the video in pixels.
    bitrateBps Integer
    The video bitrate in bits per second.
    frameRate Integer
    The target video frame rate in frames per second (FPS).
    crfLevel Integer
    Target CRF level. The default is '21'.
    entropyCoder String
    The entropy coder to use. The default is 'cabac'.
    gopDuration String
    Select the GOP size based on the specified duration. The default is '3s'.
    heightPixels Integer
    The height of the video in pixels.
    hlg JobTemplateConfigElementaryStreamVideoStreamH264Hlg
    HLG color format setting for H264.
    pixelFormat String
    Pixel format to use. The default is 'yuv420p'.
    preset String
    Enforces the specified codec preset. The default is 'veryfast'.
    profile String
    Enforces the specified codec profile.
    rateControlMode String
    Specify the mode. The default is 'vbr'.
    sdr JobTemplateConfigElementaryStreamVideoStreamH264Sdr
    SDR color format setting for H264.
    vbvFullnessBits Integer
    Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
    vbvSizeBits Integer
    Size of the Video Buffering Verifier (VBV) buffer in bits.
    widthPixels Integer
    The width of the video in pixels.
    bitrateBps number
    The video bitrate in bits per second.
    frameRate number
    The target video frame rate in frames per second (FPS).
    crfLevel number
    Target CRF level. The default is '21'.
    entropyCoder string
    The entropy coder to use. The default is 'cabac'.
    gopDuration string
    Select the GOP size based on the specified duration. The default is '3s'.
    heightPixels number
    The height of the video in pixels.
    hlg JobTemplateConfigElementaryStreamVideoStreamH264Hlg
    HLG color format setting for H264.
    pixelFormat string
    Pixel format to use. The default is 'yuv420p'.
    preset string
    Enforces the specified codec preset. The default is 'veryfast'.
    profile string
    Enforces the specified codec profile.
    rateControlMode string
    Specify the mode. The default is 'vbr'.
    sdr JobTemplateConfigElementaryStreamVideoStreamH264Sdr
    SDR color format setting for H264.
    vbvFullnessBits number
    Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
    vbvSizeBits number
    Size of the Video Buffering Verifier (VBV) buffer in bits.
    widthPixels number
    The width of the video in pixels.
    bitrate_bps int
    The video bitrate in bits per second.
    frame_rate int
    The target video frame rate in frames per second (FPS).
    crf_level int
    Target CRF level. The default is '21'.
    entropy_coder str
    The entropy coder to use. The default is 'cabac'.
    gop_duration str
    Select the GOP size based on the specified duration. The default is '3s'.
    height_pixels int
    The height of the video in pixels.
    hlg JobTemplateConfigElementaryStreamVideoStreamH264Hlg
    HLG color format setting for H264.
    pixel_format str
    Pixel format to use. The default is 'yuv420p'.
    preset str
    Enforces the specified codec preset. The default is 'veryfast'.
    profile str
    Enforces the specified codec profile.
    rate_control_mode str
    Specify the mode. The default is 'vbr'.
    sdr JobTemplateConfigElementaryStreamVideoStreamH264Sdr
    SDR color format setting for H264.
    vbv_fullness_bits int
    Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
    vbv_size_bits int
    Size of the Video Buffering Verifier (VBV) buffer in bits.
    width_pixels int
    The width of the video in pixels.
    bitrateBps Number
    The video bitrate in bits per second.
    frameRate Number
    The target video frame rate in frames per second (FPS).
    crfLevel Number
    Target CRF level. The default is '21'.
    entropyCoder String
    The entropy coder to use. The default is 'cabac'.
    gopDuration String
    Select the GOP size based on the specified duration. The default is '3s'.
    heightPixels Number
    The height of the video in pixels.
    hlg Property Map
    HLG color format setting for H264.
    pixelFormat String
    Pixel format to use. The default is 'yuv420p'.
    preset String
    Enforces the specified codec preset. The default is 'veryfast'.
    profile String
    Enforces the specified codec profile.
    rateControlMode String
    Specify the mode. The default is 'vbr'.
    sdr Property Map
    SDR color format setting for H264.
    vbvFullnessBits Number
    Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
    vbvSizeBits Number
    Size of the Video Buffering Verifier (VBV) buffer in bits.
    widthPixels Number
    The width of the video in pixels.

    JobTemplateConfigEncryption, JobTemplateConfigEncryptionArgs

    Id string
    Identifier for this set of encryption options.
    Aes128 JobTemplateConfigEncryptionAes128
    Configuration for AES-128 encryption.
    DrmSystems JobTemplateConfigEncryptionDrmSystems
    DRM system(s) to use; at least one must be specified. If a DRM system is omitted, it is considered disabled. Structure is documented below.
    MpegCenc JobTemplateConfigEncryptionMpegCenc
    Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
    SampleAes JobTemplateConfigEncryptionSampleAes
    Configuration for SAMPLE-AES encryption.
    SecretManagerKeySource JobTemplateConfigEncryptionSecretManagerKeySource
    Configuration for secrets stored in Google Secret Manager. Structure is documented below.
    Id string
    Identifier for this set of encryption options.
    Aes128 JobTemplateConfigEncryptionAes128
    Configuration for AES-128 encryption.
    DrmSystems JobTemplateConfigEncryptionDrmSystems
    DRM system(s) to use; at least one must be specified. If a DRM system is omitted, it is considered disabled. Structure is documented below.
    MpegCenc JobTemplateConfigEncryptionMpegCenc
    Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
    SampleAes JobTemplateConfigEncryptionSampleAes
    Configuration for SAMPLE-AES encryption.
    SecretManagerKeySource JobTemplateConfigEncryptionSecretManagerKeySource
    Configuration for secrets stored in Google Secret Manager. Structure is documented below.
    id String
    Identifier for this set of encryption options.
    aes128 JobTemplateConfigEncryptionAes128
    Configuration for AES-128 encryption.
    drmSystems JobTemplateConfigEncryptionDrmSystems
    DRM system(s) to use; at least one must be specified. If a DRM system is omitted, it is considered disabled. Structure is documented below.
    mpegCenc JobTemplateConfigEncryptionMpegCenc
    Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
    sampleAes JobTemplateConfigEncryptionSampleAes
    Configuration for SAMPLE-AES encryption.
    secretManagerKeySource JobTemplateConfigEncryptionSecretManagerKeySource
    Configuration for secrets stored in Google Secret Manager. Structure is documented below.
    id string
    Identifier for this set of encryption options.
    aes128 JobTemplateConfigEncryptionAes128
    Configuration for AES-128 encryption.
    drmSystems JobTemplateConfigEncryptionDrmSystems
    DRM system(s) to use; at least one must be specified. If a DRM system is omitted, it is considered disabled. Structure is documented below.
    mpegCenc JobTemplateConfigEncryptionMpegCenc
    Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
    sampleAes JobTemplateConfigEncryptionSampleAes
    Configuration for SAMPLE-AES encryption.
    secretManagerKeySource JobTemplateConfigEncryptionSecretManagerKeySource
    Configuration for secrets stored in Google Secret Manager. Structure is documented below.
    id str
    Identifier for this set of encryption options.
    aes128 JobTemplateConfigEncryptionAes128
    Configuration for AES-128 encryption.
    drm_systems JobTemplateConfigEncryptionDrmSystems
    DRM system(s) to use; at least one must be specified. If a DRM system is omitted, it is considered disabled. Structure is documented below.
    mpeg_cenc JobTemplateConfigEncryptionMpegCenc
    Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
    sample_aes JobTemplateConfigEncryptionSampleAes
    Configuration for SAMPLE-AES encryption.
    secret_manager_key_source JobTemplateConfigEncryptionSecretManagerKeySource
    Configuration for secrets stored in Google Secret Manager. Structure is documented below.
    id String
    Identifier for this set of encryption options.
    aes128 Property Map
    Configuration for AES-128 encryption.
    drmSystems Property Map
    DRM system(s) to use; at least one must be specified. If a DRM system is omitted, it is considered disabled. Structure is documented below.
    mpegCenc Property Map
    Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
    sampleAes Property Map
    Configuration for SAMPLE-AES encryption.
    secretManagerKeySource Property Map
    Configuration for secrets stored in Google Secret Manager. Structure is documented below.

    JobTemplateConfigEncryptionDrmSystems, JobTemplateConfigEncryptionDrmSystemsArgs

    clearkey Property Map
    Clearkey configuration.
    fairplay Property Map
    Fairplay configuration.
    playready Property Map
    Playready configuration.
    widevine Property Map
    Widevine configuration.

    JobTemplateConfigEncryptionMpegCenc, JobTemplateConfigEncryptionMpegCencArgs

    Scheme string
    Specify the encryption scheme.
    Scheme string
    Specify the encryption scheme.
    scheme String
    Specify the encryption scheme.
    scheme string
    Specify the encryption scheme.
    scheme str
    Specify the encryption scheme.
    scheme String
    Specify the encryption scheme.

    JobTemplateConfigEncryptionSecretManagerKeySource, JobTemplateConfigEncryptionSecretManagerKeySourceArgs

    SecretVersion string
    The name of the Secret Version containing the encryption key in the following format: projects/{project}/secrets/{secret_id}/versions/{version_number}.
    SecretVersion string
    The name of the Secret Version containing the encryption key in the following format: projects/{project}/secrets/{secret_id}/versions/{version_number}.
    secretVersion String
    The name of the Secret Version containing the encryption key in the following format: projects/{project}/secrets/{secret_id}/versions/{version_number}.
    secretVersion string
    The name of the Secret Version containing the encryption key in the following format: projects/{project}/secrets/{secret_id}/versions/{version_number}.
    secret_version str
    The name of the Secret Version containing the encryption key in the following format: projects/{project}/secrets/{secret_id}/versions/{version_number}.
    secretVersion String
    The name of the Secret Version containing the encryption key in the following format: projects/{project}/secrets/{secret_id}/versions/{version_number}.

    JobTemplateConfigInput, JobTemplateConfigInputArgs

    Key string
    A unique key for this input. Must be specified when using advanced mapping and edit lists.
    Uri string
    URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, gs://bucket/inputs/file.mp4). If empty, the value is populated from Job.input_uri.
    Key string
    A unique key for this input. Must be specified when using advanced mapping and edit lists.
    Uri string
    URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, gs://bucket/inputs/file.mp4). If empty, the value is populated from Job.input_uri.
    key String
    A unique key for this input. Must be specified when using advanced mapping and edit lists.
    uri String
    URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, gs://bucket/inputs/file.mp4). If empty, the value is populated from Job.input_uri.
    key string
    A unique key for this input. Must be specified when using advanced mapping and edit lists.
    uri string
    URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, gs://bucket/inputs/file.mp4). If empty, the value is populated from Job.input_uri.
    key str
    A unique key for this input. Must be specified when using advanced mapping and edit lists.
    uri str
    URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, gs://bucket/inputs/file.mp4). If empty, the value is populated from Job.input_uri.
    key String
    A unique key for this input. Must be specified when using advanced mapping and edit lists.
    uri String
    URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, gs://bucket/inputs/file.mp4). If empty, the value is populated from Job.input_uri.

    JobTemplateConfigManifest, JobTemplateConfigManifestArgs

    FileName string
    The name of the generated file. The default is manifest.
    MuxStreams List<string>
    List of user supplied MuxStream.key values that should appear in this manifest.
    Type string
    Type of the manifest. Possible values are: MANIFEST_TYPE_UNSPECIFIED, HLS, DASH.
    FileName string
    The name of the generated file. The default is manifest.
    MuxStreams []string
    List of user supplied MuxStream.key values that should appear in this manifest.
    Type string
    Type of the manifest. Possible values are: MANIFEST_TYPE_UNSPECIFIED, HLS, DASH.
    fileName String
    The name of the generated file. The default is manifest.
    muxStreams List<String>
    List of user supplied MuxStream.key values that should appear in this manifest.
    type String
    Type of the manifest. Possible values are: MANIFEST_TYPE_UNSPECIFIED, HLS, DASH.
    fileName string
    The name of the generated file. The default is manifest.
    muxStreams string[]
    List of user supplied MuxStream.key values that should appear in this manifest.
    type string
    Type of the manifest. Possible values are: MANIFEST_TYPE_UNSPECIFIED, HLS, DASH.
    file_name str
    The name of the generated file. The default is manifest.
    mux_streams Sequence[str]
    List of user supplied MuxStream.key values that should appear in this manifest.
    type str
    Type of the manifest. Possible values are: MANIFEST_TYPE_UNSPECIFIED, HLS, DASH.
    fileName String
    The name of the generated file. The default is manifest.
    muxStreams List<String>
    List of user supplied MuxStream.key values that should appear in this manifest.
    type String
    Type of the manifest. Possible values are: MANIFEST_TYPE_UNSPECIFIED, HLS, DASH.

    JobTemplateConfigMuxStream, JobTemplateConfigMuxStreamArgs

    Container string
    The container format. The default is mp4.
    ElementaryStreams List<string>
    List of ElementaryStream.key values multiplexed in this stream.
    EncryptionId string
    Identifier of the encryption configuration to use.
    FileName string
    The name of the generated file.
    Key string
    A unique key for this multiplexed stream.
    SegmentSettings JobTemplateConfigMuxStreamSegmentSettings
    Segment settings for ts, fmp4 and vtt. Structure is documented below.
    Container string
    The container format. The default is mp4.
    ElementaryStreams []string
    List of ElementaryStream.key values multiplexed in this stream.
    EncryptionId string
    Identifier of the encryption configuration to use.
    FileName string
    The name of the generated file.
    Key string
    A unique key for this multiplexed stream.
    SegmentSettings JobTemplateConfigMuxStreamSegmentSettings
    Segment settings for ts, fmp4 and vtt. Structure is documented below.
    container String
    The container format. The default is mp4.
    elementaryStreams List<String>
    List of ElementaryStream.key values multiplexed in this stream.
    encryptionId String
    Identifier of the encryption configuration to use.
    fileName String
    The name of the generated file.
    key String
    A unique key for this multiplexed stream.
    segmentSettings JobTemplateConfigMuxStreamSegmentSettings
    Segment settings for ts, fmp4 and vtt. Structure is documented below.
    container string
    The container format. The default is mp4.
    elementaryStreams string[]
    List of ElementaryStream.key values multiplexed in this stream.
    encryptionId string
    Identifier of the encryption configuration to use.
    fileName string
    The name of the generated file.
    key string
    A unique key for this multiplexed stream.
    segmentSettings JobTemplateConfigMuxStreamSegmentSettings
    Segment settings for ts, fmp4 and vtt. Structure is documented below.
    container str
    The container format. The default is mp4.
    elementary_streams Sequence[str]
    List of ElementaryStream.key values multiplexed in this stream.
    encryption_id str
    Identifier of the encryption configuration to use.
    file_name str
    The name of the generated file.
    key str
    A unique key for this multiplexed stream.
    segment_settings JobTemplateConfigMuxStreamSegmentSettings
    Segment settings for ts, fmp4 and vtt. Structure is documented below.
    container String
    The container format. The default is mp4.
    elementaryStreams List<String>
    List of ElementaryStream.key values multiplexed in this stream.
    encryptionId String
    Identifier of the encryption configuration to use.
    fileName String
    The name of the generated file.
    key String
    A unique key for this multiplexed stream.
    segmentSettings Property Map
    Segment settings for ts, fmp4 and vtt. Structure is documented below.

    JobTemplateConfigMuxStreamSegmentSettings, JobTemplateConfigMuxStreamSegmentSettingsArgs

    SegmentDuration string
    Duration of the segments in seconds. The default is 6.0s.
    SegmentDuration string
    Duration of the segments in seconds. The default is 6.0s.
    segmentDuration String
    Duration of the segments in seconds. The default is 6.0s.
    segmentDuration string
    Duration of the segments in seconds. The default is 6.0s.
    segment_duration str
    Duration of the segments in seconds. The default is 6.0s.
    segmentDuration String
    Duration of the segments in seconds. The default is 6.0s.

    JobTemplateConfigOutput, JobTemplateConfigOutputArgs

    Uri string
    URI for the output file(s). For example, gs://my-bucket/outputs/.
    Uri string
    URI for the output file(s). For example, gs://my-bucket/outputs/.
    uri String
    URI for the output file(s). For example, gs://my-bucket/outputs/.
    uri string
    URI for the output file(s). For example, gs://my-bucket/outputs/.
    uri str
    URI for the output file(s). For example, gs://my-bucket/outputs/.
    uri String
    URI for the output file(s). For example, gs://my-bucket/outputs/.

    JobTemplateConfigOverlay, JobTemplateConfigOverlayArgs

    Animations List<JobTemplateConfigOverlayAnimation>
    List of animations. The list should be chronological, without any time overlap. Structure is documented below.
    Image JobTemplateConfigOverlayImage
    Image overlay. Structure is documented below.
    Animations []JobTemplateConfigOverlayAnimation
    List of animations. The list should be chronological, without any time overlap. Structure is documented below.
    Image JobTemplateConfigOverlayImage
    Image overlay. Structure is documented below.
    animations List<JobTemplateConfigOverlayAnimation>
    List of animations. The list should be chronological, without any time overlap. Structure is documented below.
    image JobTemplateConfigOverlayImage
    Image overlay. Structure is documented below.
    animations JobTemplateConfigOverlayAnimation[]
    List of animations. The list should be chronological, without any time overlap. Structure is documented below.
    image JobTemplateConfigOverlayImage
    Image overlay. Structure is documented below.
    animations Sequence[JobTemplateConfigOverlayAnimation]
    List of animations. The list should be chronological, without any time overlap. Structure is documented below.
    image JobTemplateConfigOverlayImage
    Image overlay. Structure is documented below.
    animations List<Property Map>
    List of animations. The list should be chronological, without any time overlap. Structure is documented below.
    image Property Map
    Image overlay. Structure is documented below.

    JobTemplateConfigOverlayAnimation, JobTemplateConfigOverlayAnimationArgs

    AnimationFade JobTemplateConfigOverlayAnimationAnimationFade
    Display overlay object with fade animation. Structure is documented below.
    AnimationFade JobTemplateConfigOverlayAnimationAnimationFade
    Display overlay object with fade animation. Structure is documented below.
    animationFade JobTemplateConfigOverlayAnimationAnimationFade
    Display overlay object with fade animation. Structure is documented below.
    animationFade JobTemplateConfigOverlayAnimationAnimationFade
    Display overlay object with fade animation. Structure is documented below.
    animation_fade JobTemplateConfigOverlayAnimationAnimationFade
    Display overlay object with fade animation. Structure is documented below.
    animationFade Property Map
    Display overlay object with fade animation. Structure is documented below.

    JobTemplateConfigOverlayAnimationAnimationFade, JobTemplateConfigOverlayAnimationAnimationFadeArgs

    FadeType string
    Required. Type of fade animation: FADE_IN or FADE_OUT. The possible values are:

    • FADE_TYPE_UNSPECIFIED: The fade type is not specified.
    • FADE_IN: Fade the overlay object into view.
    • FADE_OUT: Fade the overlay object out of view. Possible values are: FADE_TYPE_UNSPECIFIED, FADE_IN, FADE_OUT.
    EndTimeOffset string
    The time to end the fade animation, in seconds.
    StartTimeOffset string
    The time to start the fade animation, in seconds.
    Xy JobTemplateConfigOverlayAnimationAnimationFadeXy
    Normalized coordinates based on output video resolution. Structure is documented below.
    FadeType string
    Required. Type of fade animation: FADE_IN or FADE_OUT. The possible values are:

    • FADE_TYPE_UNSPECIFIED: The fade type is not specified.
    • FADE_IN: Fade the overlay object into view.
    • FADE_OUT: Fade the overlay object out of view. Possible values are: FADE_TYPE_UNSPECIFIED, FADE_IN, FADE_OUT.
    EndTimeOffset string
    The time to end the fade animation, in seconds.
    StartTimeOffset string
    The time to start the fade animation, in seconds.
    Xy JobTemplateConfigOverlayAnimationAnimationFadeXy
    Normalized coordinates based on output video resolution. Structure is documented below.
    fadeType String
    Required. Type of fade animation: FADE_IN or FADE_OUT. The possible values are:

    • FADE_TYPE_UNSPECIFIED: The fade type is not specified.
    • FADE_IN: Fade the overlay object into view.
    • FADE_OUT: Fade the overlay object out of view. Possible values are: FADE_TYPE_UNSPECIFIED, FADE_IN, FADE_OUT.
    endTimeOffset String
    The time to end the fade animation, in seconds.
    startTimeOffset String
    The time to start the fade animation, in seconds.
    xy JobTemplateConfigOverlayAnimationAnimationFadeXy
    Normalized coordinates based on output video resolution. Structure is documented below.
    fadeType string
    Required. Type of fade animation: FADE_IN or FADE_OUT. The possible values are:

    • FADE_TYPE_UNSPECIFIED: The fade type is not specified.
    • FADE_IN: Fade the overlay object into view.
    • FADE_OUT: Fade the overlay object out of view. Possible values are: FADE_TYPE_UNSPECIFIED, FADE_IN, FADE_OUT.
    endTimeOffset string
    The time to end the fade animation, in seconds.
    startTimeOffset string
    The time to start the fade animation, in seconds.
    xy JobTemplateConfigOverlayAnimationAnimationFadeXy
    Normalized coordinates based on output video resolution. Structure is documented below.
    fade_type str
    Required. Type of fade animation: FADE_IN or FADE_OUT. The possible values are:

    • FADE_TYPE_UNSPECIFIED: The fade type is not specified.
    • FADE_IN: Fade the overlay object into view.
    • FADE_OUT: Fade the overlay object out of view. Possible values are: FADE_TYPE_UNSPECIFIED, FADE_IN, FADE_OUT.
    end_time_offset str
    The time to end the fade animation, in seconds.
    start_time_offset str
    The time to start the fade animation, in seconds.
    xy JobTemplateConfigOverlayAnimationAnimationFadeXy
    Normalized coordinates based on output video resolution. Structure is documented below.
    fadeType String
    Required. Type of fade animation: FADE_IN or FADE_OUT. The possible values are:

    • FADE_TYPE_UNSPECIFIED: The fade type is not specified.
    • FADE_IN: Fade the overlay object into view.
    • FADE_OUT: Fade the overlay object out of view. Possible values are: FADE_TYPE_UNSPECIFIED, FADE_IN, FADE_OUT.
    endTimeOffset String
    The time to end the fade animation, in seconds.
    startTimeOffset String
    The time to start the fade animation, in seconds.
    xy Property Map
    Normalized coordinates based on output video resolution. Structure is documented below.

    JobTemplateConfigOverlayAnimationAnimationFadeXy, JobTemplateConfigOverlayAnimationAnimationFadeXyArgs

    X double
    Normalized x coordinate.
    Y double
    Normalized y coordinate.
    X float64
    Normalized x coordinate.
    Y float64
    Normalized y coordinate.
    x Double
    Normalized x coordinate.
    y Double
    Normalized y coordinate.
    x number
    Normalized x coordinate.
    y number
    Normalized y coordinate.
    x float
    Normalized x coordinate.
    y float
    Normalized y coordinate.
    x Number
    Normalized x coordinate.
    y Number
    Normalized y coordinate.

    JobTemplateConfigOverlayImage, JobTemplateConfigOverlayImageArgs

    Uri string
    URI of the image in Cloud Storage. For example, gs://bucket/inputs/image.png.
    Uri string
    URI of the image in Cloud Storage. For example, gs://bucket/inputs/image.png.
    uri String
    URI of the image in Cloud Storage. For example, gs://bucket/inputs/image.png.
    uri string
    URI of the image in Cloud Storage. For example, gs://bucket/inputs/image.png.
    uri str
    URI of the image in Cloud Storage. For example, gs://bucket/inputs/image.png.
    uri String
    URI of the image in Cloud Storage. For example, gs://bucket/inputs/image.png.

    JobTemplateConfigPubsubDestination, JobTemplateConfigPubsubDestinationArgs

    Topic string
    The name of the Pub/Sub topic to publish job completion notification to. For example: projects/{project}/topics/{topic}.
    Topic string
    The name of the Pub/Sub topic to publish job completion notification to. For example: projects/{project}/topics/{topic}.
    topic String
    The name of the Pub/Sub topic to publish job completion notification to. For example: projects/{project}/topics/{topic}.
    topic string
    The name of the Pub/Sub topic to publish job completion notification to. For example: projects/{project}/topics/{topic}.
    topic str
    The name of the Pub/Sub topic to publish job completion notification to. For example: projects/{project}/topics/{topic}.
    topic String
    The name of the Pub/Sub topic to publish job completion notification to. For example: projects/{project}/topics/{topic}.

    Import

    JobTemplate can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/jobTemplates/{{job_template_id}}

    • {{project}}/{{location}}/{{job_template_id}}

    • {{location}}/{{job_template_id}}

    When using the pulumi import command, JobTemplate can be imported using one of the formats above. For example:

    $ pulumi import gcp:transcoder/jobTemplate:JobTemplate default projects/{{project}}/locations/{{location}}/jobTemplates/{{job_template_id}}
    
    $ pulumi import gcp:transcoder/jobTemplate:JobTemplate default {{project}}/{{location}}/{{job_template_id}}
    
    $ pulumi import gcp:transcoder/jobTemplate:JobTemplate default {{location}}/{{job_template_id}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi