gcp.transcoder.JobTemplate
Explore with Pulumi AI
Transcoding Job Template Resource
To get more information about JobTemplate, see:
- API documentation
- How-to Guides
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:
- JobTemplate stringId 
- ID to use for the Transcoding job template.
- Location string
- The location of the transcoding job template resource.
- Config
JobTemplate Config 
- 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_labelsfor 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.
- JobTemplate stringId 
- ID to use for the Transcoding job template.
- Location string
- The location of the transcoding job template resource.
- Config
JobTemplate Config Args 
- 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_labelsfor 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.
- jobTemplate StringId 
- ID to use for the Transcoding job template.
- location String
- The location of the transcoding job template resource.
- config
JobTemplate Config 
- 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_labelsfor 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.
- jobTemplate stringId 
- ID to use for the Transcoding job template.
- location string
- The location of the transcoding job template resource.
- config
JobTemplate Config 
- 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_labelsfor 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_ strid 
- ID to use for the Transcoding job template.
- location str
- The location of the transcoding job template resource.
- config
JobTemplate Config Args 
- 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_labelsfor 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.
- jobTemplate StringId 
- 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_labelsfor 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) -> JobTemplatefunc 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)resources:  _:    type: gcp:transcoder:JobTemplate    get:      id: ${id}- 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.
- Config
JobTemplate Config 
- 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.
- JobTemplate stringId 
- 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_labelsfor 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
JobTemplate Config Args 
- 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.
- JobTemplate stringId 
- 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_labelsfor 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
JobTemplate Config 
- 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.
- jobTemplate StringId 
- 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_labelsfor 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
JobTemplate Config 
- 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.
- jobTemplate stringId 
- 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_labelsfor 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
JobTemplate Config Args 
- 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_ strid 
- 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_labelsfor 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.
- jobTemplate StringId 
- 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_labelsfor 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<JobTemplate Config Ad Break> 
- Ad break. Structure is documented below.
- EditLists List<JobTemplate Config Edit List> 
- List of input assets stored in Cloud Storage. Structure is documented below.
- ElementaryStreams List<JobTemplate Config Elementary Stream> 
- List of input assets stored in Cloud Storage. Structure is documented below.
- Encryptions
List<JobTemplate Config Encryption> 
- List of encryption configurations for the content. Structure is documented below.
- Inputs
List<JobTemplate Config Input> 
- List of input assets stored in Cloud Storage. Structure is documented below.
- Manifests
List<JobTemplate Config Manifest> 
- Manifest configuration. Structure is documented below.
- MuxStreams List<JobTemplate Config Mux Stream> 
- Multiplexing settings for output stream. Structure is documented below.
- Output
JobTemplate Config Output 
- Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
- Overlays
List<JobTemplate Config Overlay> 
- List of overlays on the output video, in descending Z-order. Structure is documented below.
- PubsubDestination JobTemplate Config Pubsub Destination 
- Pub/Sub destination. Structure is documented below.
- AdBreaks []JobTemplate Config Ad Break 
- Ad break. Structure is documented below.
- EditLists []JobTemplate Config Edit List 
- List of input assets stored in Cloud Storage. Structure is documented below.
- ElementaryStreams []JobTemplate Config Elementary Stream 
- List of input assets stored in Cloud Storage. Structure is documented below.
- Encryptions
[]JobTemplate Config Encryption 
- List of encryption configurations for the content. Structure is documented below.
- Inputs
[]JobTemplate Config Input Type 
- List of input assets stored in Cloud Storage. Structure is documented below.
- Manifests
[]JobTemplate Config Manifest 
- Manifest configuration. Structure is documented below.
- MuxStreams []JobTemplate Config Mux Stream 
- Multiplexing settings for output stream. Structure is documented below.
- Output
JobTemplate Config Output Type 
- Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
- Overlays
[]JobTemplate Config Overlay 
- List of overlays on the output video, in descending Z-order. Structure is documented below.
- PubsubDestination JobTemplate Config Pubsub Destination 
- Pub/Sub destination. Structure is documented below.
- adBreaks List<JobTemplate Config Ad Break> 
- Ad break. Structure is documented below.
- editLists List<JobTemplate Config Edit List> 
- List of input assets stored in Cloud Storage. Structure is documented below.
- elementaryStreams List<JobTemplate Config Elementary Stream> 
- List of input assets stored in Cloud Storage. Structure is documented below.
- encryptions
List<JobTemplate Config Encryption> 
- List of encryption configurations for the content. Structure is documented below.
- inputs
List<JobTemplate Config Input> 
- List of input assets stored in Cloud Storage. Structure is documented below.
- manifests
List<JobTemplate Config Manifest> 
- Manifest configuration. Structure is documented below.
- muxStreams List<JobTemplate Config Mux Stream> 
- Multiplexing settings for output stream. Structure is documented below.
- output
JobTemplate Config Output 
- Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
- overlays
List<JobTemplate Config Overlay> 
- List of overlays on the output video, in descending Z-order. Structure is documented below.
- pubsubDestination JobTemplate Config Pubsub Destination 
- Pub/Sub destination. Structure is documented below.
- adBreaks JobTemplate Config Ad Break[] 
- Ad break. Structure is documented below.
- editLists JobTemplate Config Edit List[] 
- List of input assets stored in Cloud Storage. Structure is documented below.
- elementaryStreams JobTemplate Config Elementary Stream[] 
- List of input assets stored in Cloud Storage. Structure is documented below.
- encryptions
JobTemplate Config Encryption[] 
- List of encryption configurations for the content. Structure is documented below.
- inputs
JobTemplate Config Input[] 
- List of input assets stored in Cloud Storage. Structure is documented below.
- manifests
JobTemplate Config Manifest[] 
- Manifest configuration. Structure is documented below.
- muxStreams JobTemplate Config Mux Stream[] 
- Multiplexing settings for output stream. Structure is documented below.
- output
JobTemplate Config Output 
- Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
- overlays
JobTemplate Config Overlay[] 
- List of overlays on the output video, in descending Z-order. Structure is documented below.
- pubsubDestination JobTemplate Config Pubsub Destination 
- Pub/Sub destination. Structure is documented below.
- ad_breaks Sequence[JobTemplate Config Ad Break] 
- Ad break. Structure is documented below.
- edit_lists Sequence[JobTemplate Config Edit List] 
- List of input assets stored in Cloud Storage. Structure is documented below.
- elementary_streams Sequence[JobTemplate Config Elementary Stream] 
- List of input assets stored in Cloud Storage. Structure is documented below.
- encryptions
Sequence[JobTemplate Config Encryption] 
- List of encryption configurations for the content. Structure is documented below.
- inputs
Sequence[JobTemplate Config Input] 
- List of input assets stored in Cloud Storage. Structure is documented below.
- manifests
Sequence[JobTemplate Config Manifest] 
- Manifest configuration. Structure is documented below.
- mux_streams Sequence[JobTemplate Config Mux Stream] 
- Multiplexing settings for output stream. Structure is documented below.
- output
JobTemplate Config Output 
- Location of output file(s) in a Cloud Storage bucket. Structure is documented below.
- overlays
Sequence[JobTemplate Config Overlay] 
- List of overlays on the output video, in descending Z-order. Structure is documented below.
- pubsub_destination JobTemplate Config Pubsub Destination 
- 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          
- StartTime stringOffset 
- Start time in seconds for the ad break, relative to the output file timeline
- StartTime stringOffset 
- Start time in seconds for the ad break, relative to the output file timeline
- startTime StringOffset 
- Start time in seconds for the ad break, relative to the output file timeline
- startTime stringOffset 
- Start time in seconds for the ad break, relative to the output file timeline
- start_time_ stroffset 
- Start time in seconds for the ad break, relative to the output file timeline
- startTime StringOffset 
- 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.
- StartTime stringOffset 
- 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.
- StartTime stringOffset 
- 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.
- startTime StringOffset 
- 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.
- startTime stringOffset 
- 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_ stroffset 
- 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.
- startTime StringOffset 
- Start time in seconds for the atom, relative to the input file timeline. The default is 0s.
JobTemplateConfigElementaryStream, JobTemplateConfigElementaryStreamArgs          
- AudioStream JobTemplate Config Elementary Stream Audio Stream 
- Encoding of an audio stream. Structure is documented below.
- Key string
- A unique key for this atom.
- VideoStream JobTemplate Config Elementary Stream Video Stream 
- Encoding of a video stream. Structure is documented below.
- AudioStream JobTemplate Config Elementary Stream Audio Stream 
- Encoding of an audio stream. Structure is documented below.
- Key string
- A unique key for this atom.
- VideoStream JobTemplate Config Elementary Stream Video Stream 
- Encoding of a video stream. Structure is documented below.
- audioStream JobTemplate Config Elementary Stream Audio Stream 
- Encoding of an audio stream. Structure is documented below.
- key String
- A unique key for this atom.
- videoStream JobTemplate Config Elementary Stream Video Stream 
- Encoding of a video stream. Structure is documented below.
- audioStream JobTemplate Config Elementary Stream Audio Stream 
- Encoding of an audio stream. Structure is documented below.
- key string
- A unique key for this atom.
- videoStream JobTemplate Config Elementary Stream Video Stream 
- Encoding of a video stream. Structure is documented below.
- audio_stream JobTemplate Config Elementary Stream Audio Stream 
- Encoding of an audio stream. Structure is documented below.
- key str
- A unique key for this atom.
- video_stream JobTemplate Config Elementary Stream Video Stream 
- 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.
- SampleRate intHertz 
- 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.
- SampleRate intHertz 
- 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.
- sampleRate IntegerHertz 
- 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.
- sampleRate numberHertz 
- 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_ inthertz 
- 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.
- sampleRate NumberHertz 
- The audio sample rate in Hertz. The default is 48000.
JobTemplateConfigElementaryStreamVideoStream, JobTemplateConfigElementaryStreamVideoStreamArgs              
- H264
JobTemplate Config Elementary Stream Video Stream H264 
- H264 codec settings Structure is documented below. - The - h264block supports:
- H264
JobTemplate Config Elementary Stream Video Stream H264 
- H264 codec settings Structure is documented below. - The - h264block supports:
- h264
JobTemplate Config Elementary Stream Video Stream H264 
- H264 codec settings Structure is documented below. - The - h264block supports:
- h264
JobTemplate Config Elementary Stream Video Stream H264 
- H264 codec settings Structure is documented below. - The - h264block supports:
- h264
JobTemplate Config Elementary Stream Video Stream H264 
- H264 codec settings Structure is documented below. - The - h264block supports:
- h264 Property Map
- H264 codec settings Structure is documented below. - The - h264block 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
JobTemplate Config Elementary Stream Video Stream H264Hlg 
- 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.
- RateControl stringMode 
- Specify the mode. The default is 'vbr'.
- Sdr
JobTemplate Config Elementary Stream Video Stream H264Sdr 
- SDR color format setting for H264.
- VbvFullness intBits 
- Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
- VbvSize intBits 
- 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
JobTemplate Config Elementary Stream Video Stream H264Hlg 
- 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.
- RateControl stringMode 
- Specify the mode. The default is 'vbr'.
- Sdr
JobTemplate Config Elementary Stream Video Stream H264Sdr 
- SDR color format setting for H264.
- VbvFullness intBits 
- Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
- VbvSize intBits 
- 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
JobTemplate Config Elementary Stream Video Stream H264Hlg 
- 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.
- rateControl StringMode 
- Specify the mode. The default is 'vbr'.
- sdr
JobTemplate Config Elementary Stream Video Stream H264Sdr 
- SDR color format setting for H264.
- vbvFullness IntegerBits 
- Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
- vbvSize IntegerBits 
- 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
JobTemplate Config Elementary Stream Video Stream H264Hlg 
- 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.
- rateControl stringMode 
- Specify the mode. The default is 'vbr'.
- sdr
JobTemplate Config Elementary Stream Video Stream H264Sdr 
- SDR color format setting for H264.
- vbvFullness numberBits 
- Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
- vbvSize numberBits 
- 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
JobTemplate Config Elementary Stream Video Stream H264Hlg 
- 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_ strmode 
- Specify the mode. The default is 'vbr'.
- sdr
JobTemplate Config Elementary Stream Video Stream H264Sdr 
- SDR color format setting for H264.
- vbv_fullness_ intbits 
- Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
- vbv_size_ intbits 
- 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.
- rateControl StringMode 
- Specify the mode. The default is 'vbr'.
- sdr Property Map
- SDR color format setting for H264.
- vbvFullness NumberBits 
- Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
- vbvSize NumberBits 
- 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
JobTemplate Config Encryption Aes128 
- Configuration for AES-128 encryption.
- DrmSystems JobTemplate Config Encryption Drm Systems 
- 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 JobTemplate Config Encryption Mpeg Cenc 
- Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
- SampleAes JobTemplate Config Encryption Sample Aes 
- Configuration for SAMPLE-AES encryption.
- SecretManager JobKey Source Template Config Encryption Secret Manager Key Source 
- Configuration for secrets stored in Google Secret Manager. Structure is documented below.
- Id string
- Identifier for this set of encryption options.
- Aes128
JobTemplate Config Encryption Aes128 
- Configuration for AES-128 encryption.
- DrmSystems JobTemplate Config Encryption Drm Systems 
- 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 JobTemplate Config Encryption Mpeg Cenc 
- Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
- SampleAes JobTemplate Config Encryption Sample Aes 
- Configuration for SAMPLE-AES encryption.
- SecretManager JobKey Source Template Config Encryption Secret Manager Key Source 
- Configuration for secrets stored in Google Secret Manager. Structure is documented below.
- id String
- Identifier for this set of encryption options.
- aes128
JobTemplate Config Encryption Aes128 
- Configuration for AES-128 encryption.
- drmSystems JobTemplate Config Encryption Drm Systems 
- 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 JobTemplate Config Encryption Mpeg Cenc 
- Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
- sampleAes JobTemplate Config Encryption Sample Aes 
- Configuration for SAMPLE-AES encryption.
- secretManager JobKey Source Template Config Encryption Secret Manager Key Source 
- Configuration for secrets stored in Google Secret Manager. Structure is documented below.
- id string
- Identifier for this set of encryption options.
- aes128
JobTemplate Config Encryption Aes128 
- Configuration for AES-128 encryption.
- drmSystems JobTemplate Config Encryption Drm Systems 
- 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 JobTemplate Config Encryption Mpeg Cenc 
- Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
- sampleAes JobTemplate Config Encryption Sample Aes 
- Configuration for SAMPLE-AES encryption.
- secretManager JobKey Source Template Config Encryption Secret Manager Key Source 
- Configuration for secrets stored in Google Secret Manager. Structure is documented below.
- id str
- Identifier for this set of encryption options.
- aes128
JobTemplate Config Encryption Aes128 
- Configuration for AES-128 encryption.
- drm_systems JobTemplate Config Encryption Drm Systems 
- 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 JobTemplate Config Encryption Mpeg Cenc 
- Configuration for MPEG Common Encryption (MPEG-CENC). Structure is documented below.
- sample_aes JobTemplate Config Encryption Sample Aes 
- Configuration for SAMPLE-AES encryption.
- secret_manager_ Jobkey_ source Template Config Encryption Secret Manager Key Source 
- 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.
- secretManager Property MapKey Source 
- Configuration for secrets stored in Google Secret Manager. Structure is documented below.
JobTemplateConfigEncryptionDrmSystems, JobTemplateConfigEncryptionDrmSystemsArgs            
- Clearkey
JobTemplate Config Encryption Drm Systems Clearkey 
- Clearkey configuration.
- Fairplay
JobTemplate Config Encryption Drm Systems Fairplay 
- Fairplay configuration.
- Playready
JobTemplate Config Encryption Drm Systems Playready 
- Playready configuration.
- Widevine
JobTemplate Config Encryption Drm Systems Widevine 
- Widevine configuration.
- Clearkey
JobTemplate Config Encryption Drm Systems Clearkey 
- Clearkey configuration.
- Fairplay
JobTemplate Config Encryption Drm Systems Fairplay 
- Fairplay configuration.
- Playready
JobTemplate Config Encryption Drm Systems Playready 
- Playready configuration.
- Widevine
JobTemplate Config Encryption Drm Systems Widevine 
- Widevine configuration.
- clearkey
JobTemplate Config Encryption Drm Systems Clearkey 
- Clearkey configuration.
- fairplay
JobTemplate Config Encryption Drm Systems Fairplay 
- Fairplay configuration.
- playready
JobTemplate Config Encryption Drm Systems Playready 
- Playready configuration.
- widevine
JobTemplate Config Encryption Drm Systems Widevine 
- Widevine configuration.
- clearkey
JobTemplate Config Encryption Drm Systems Clearkey 
- Clearkey configuration.
- fairplay
JobTemplate Config Encryption Drm Systems Fairplay 
- Fairplay configuration.
- playready
JobTemplate Config Encryption Drm Systems Playready 
- Playready configuration.
- widevine
JobTemplate Config Encryption Drm Systems Widevine 
- Widevine configuration.
- clearkey
JobTemplate Config Encryption Drm Systems Clearkey 
- Clearkey configuration.
- fairplay
JobTemplate Config Encryption Drm Systems Fairplay 
- Fairplay configuration.
- playready
JobTemplate Config Encryption Drm Systems Playready 
- Playready configuration.
- widevine
JobTemplate Config Encryption Drm Systems Widevine 
- Widevine configuration.
- 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 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 JobTemplate Config Mux Stream Segment Settings 
- 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 JobTemplate Config Mux Stream Segment Settings 
- 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 JobTemplate Config Mux Stream Segment Settings 
- 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 JobTemplate Config Mux Stream Segment Settings 
- 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 JobTemplate Config Mux Stream Segment Settings 
- 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<JobTemplate Config Overlay Animation> 
- List of animations. The list should be chronological, without any time overlap. Structure is documented below.
- Image
JobTemplate Config Overlay Image 
- Image overlay. Structure is documented below.
- Animations
[]JobTemplate Config Overlay Animation 
- List of animations. The list should be chronological, without any time overlap. Structure is documented below.
- Image
JobTemplate Config Overlay Image 
- Image overlay. Structure is documented below.
- animations
List<JobTemplate Config Overlay Animation> 
- List of animations. The list should be chronological, without any time overlap. Structure is documented below.
- image
JobTemplate Config Overlay Image 
- Image overlay. Structure is documented below.
- animations
JobTemplate Config Overlay Animation[] 
- List of animations. The list should be chronological, without any time overlap. Structure is documented below.
- image
JobTemplate Config Overlay Image 
- Image overlay. Structure is documented below.
- animations
Sequence[JobTemplate Config Overlay Animation] 
- List of animations. The list should be chronological, without any time overlap. Structure is documented below.
- image
JobTemplate Config Overlay Image 
- 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 JobTemplate Config Overlay Animation Animation Fade 
- Display overlay object with fade animation. Structure is documented below.
- AnimationFade JobTemplate Config Overlay Animation Animation Fade 
- Display overlay object with fade animation. Structure is documented below.
- animationFade JobTemplate Config Overlay Animation Animation Fade 
- Display overlay object with fade animation. Structure is documented below.
- animationFade JobTemplate Config Overlay Animation Animation Fade 
- Display overlay object with fade animation. Structure is documented below.
- animation_fade JobTemplate Config Overlay Animation Animation Fade 
- 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_INorFADE_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.
 
- EndTime stringOffset 
- The time to end the fade animation, in seconds.
- StartTime stringOffset 
- The time to start the fade animation, in seconds.
- Xy
JobTemplate Config Overlay Animation Animation Fade Xy 
- Normalized coordinates based on output video resolution. Structure is documented below.
- FadeType string
- Required. Type of fade animation: FADE_INorFADE_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.
 
- EndTime stringOffset 
- The time to end the fade animation, in seconds.
- StartTime stringOffset 
- The time to start the fade animation, in seconds.
- Xy
JobTemplate Config Overlay Animation Animation Fade Xy 
- Normalized coordinates based on output video resolution. Structure is documented below.
- fadeType String
- Required. Type of fade animation: FADE_INorFADE_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.
 
- endTime StringOffset 
- The time to end the fade animation, in seconds.
- startTime StringOffset 
- The time to start the fade animation, in seconds.
- xy
JobTemplate Config Overlay Animation Animation Fade Xy 
- Normalized coordinates based on output video resolution. Structure is documented below.
- fadeType string
- Required. Type of fade animation: FADE_INorFADE_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.
 
- endTime stringOffset 
- The time to end the fade animation, in seconds.
- startTime stringOffset 
- The time to start the fade animation, in seconds.
- xy
JobTemplate Config Overlay Animation Animation Fade Xy 
- Normalized coordinates based on output video resolution. Structure is documented below.
- fade_type str
- Required. Type of fade animation: FADE_INorFADE_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_ stroffset 
- The time to end the fade animation, in seconds.
- start_time_ stroffset 
- The time to start the fade animation, in seconds.
- xy
JobTemplate Config Overlay Animation Animation Fade Xy 
- Normalized coordinates based on output video resolution. Structure is documented below.
- fadeType String
- Required. Type of fade animation: FADE_INorFADE_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.
 
- endTime StringOffset 
- The time to end the fade animation, in seconds.
- startTime StringOffset 
- 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                
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-betaTerraform Provider.