Media Graph
    The Media Graph. Azure REST API version: 2020-02-01-preview. Prior API version in Azure Native 1.x: 2020-02-01-preview.
Example Usage
Create or update a Media Graph with a clear RTSP Source
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var mediaGraph = new AzureNative.Media.MediaGraph("mediaGraph", new()
    {
        AccountName = "contosomedia",
        Description = "updated description",
        MediaGraphName = "SampleMediaGraph",
        ResourceGroupName = "contoso",
        Sinks = new[]
        {
            {
                { "assetName", "SampleAsset" },
                { "inputs", new[]
                {
                    "rtspSource",
                } },
                { "name", "AssetSink" },
                { "odataType", "#Microsoft.Media.MediaGraphAssetSink" },
            },
        },
        Sources = new[]
        {
            {
                { "endpoint", new AzureNative.Media.Inputs.MediaGraphClearEndpointArgs
                {
                    Credentials = new AzureNative.Media.Inputs.MediaGraphUsernamePasswordCredentialsArgs
                    {
                        OdataType = "#Microsoft.Media.MediaGraphUsernamePasswordCredentials",
                        Password = "examplepassword",
                        Username = "exampleusername",
                    },
                    OdataType = "#Microsoft.Media.MediaGraphClearEndpoint",
                    Url = "rtsp://contoso.com:554/stream1",
                } },
                { "name", "rtspSource" },
                { "odataType", "#Microsoft.Media.MediaGraphRtspSource" },
                { "transport", "Http" },
            },
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/media/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := media.NewMediaGraph(ctx, "mediaGraph", &media.MediaGraphArgs{
			AccountName:       pulumi.String("contosomedia"),
			Description:       pulumi.String("updated description"),
			MediaGraphName:    pulumi.String("SampleMediaGraph"),
			ResourceGroupName: pulumi.String("contoso"),
			Sinks: []media.MediaGraphAssetSinkArgs{
				{
					AssetName: pulumi.String("SampleAsset"),
					Inputs: pulumi.StringArray{
						pulumi.String("rtspSource"),
					},
					Name:      pulumi.String("AssetSink"),
					OdataType: pulumi.String("#Microsoft.Media.MediaGraphAssetSink"),
				},
			},
			Sources: []media.MediaGraphRtspSourceArgs{
				{
					Endpoint: {
						Credentials: {
							OdataType: "#Microsoft.Media.MediaGraphUsernamePasswordCredentials",
							Password:  "examplepassword",
							Username:  "exampleusername",
						},
						OdataType: "#Microsoft.Media.MediaGraphClearEndpoint",
						Url:       "rtsp://contoso.com:554/stream1",
					},
					Name:      pulumi.String("rtspSource"),
					OdataType: pulumi.String("#Microsoft.Media.MediaGraphRtspSource"),
					Transport: pulumi.String("Http"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.media.MediaGraph;
import com.pulumi.azurenative.media.MediaGraphArgs;
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 mediaGraph = new MediaGraph("mediaGraph", MediaGraphArgs.builder()
            .accountName("contosomedia")
            .description("updated description")
            .mediaGraphName("SampleMediaGraph")
            .resourceGroupName("contoso")
            .sinks(Map.ofEntries(
                Map.entry("assetName", "SampleAsset"),
                Map.entry("inputs", "rtspSource"),
                Map.entry("name", "AssetSink"),
                Map.entry("odataType", "#Microsoft.Media.MediaGraphAssetSink")
            ))
            .sources(Map.ofEntries(
                Map.entry("endpoint", Map.ofEntries(
                    Map.entry("credentials", Map.ofEntries(
                        Map.entry("odataType", "#Microsoft.Media.MediaGraphUsernamePasswordCredentials"),
                        Map.entry("password", "examplepassword"),
                        Map.entry("username", "exampleusername")
                    )),
                    Map.entry("odataType", "#Microsoft.Media.MediaGraphClearEndpoint"),
                    Map.entry("url", "rtsp://contoso.com:554/stream1")
                )),
                Map.entry("name", "rtspSource"),
                Map.entry("odataType", "#Microsoft.Media.MediaGraphRtspSource"),
                Map.entry("transport", "Http")
            ))
            .build());
    }
}Content copied to clipboard
Create or update a Media Graph with an encrypted RTSP Source
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var mediaGraph = new AzureNative.Media.MediaGraph("mediaGraph", new()
    {
        AccountName = "contosomedia",
        Description = "updated description",
        MediaGraphName = "SampleMediaGraph",
        ResourceGroupName = "contoso",
        Sinks = new[]
        {
            {
                { "assetName", "SampleAsset" },
                { "inputs", new[]
                {
                    "rtspSource",
                } },
                { "name", "AssetSink" },
                { "odataType", "#Microsoft.Media.MediaGraphAssetSink" },
            },
        },
        Sources = new[]
        {
            {
                { "endpoint", new AzureNative.Media.Inputs.MediaGraphTlsEndpointArgs
                {
                    Credentials = new AzureNative.Media.Inputs.MediaGraphUsernamePasswordCredentialsArgs
                    {
                        OdataType = "#Microsoft.Media.MediaGraphUsernamePasswordCredentials",
                        Password = "examplepassword",
                        Username = "exampleusername",
                    },
                    OdataType = "#Microsoft.Media.MediaGraphTlsEndpoint",
                    TrustedCertificates = new AzureNative.Media.Inputs.MediaGraphPemCertificateListArgs
                    {
                        Certificates = new[]
                        {
                            @"-----BEGIN CERTIFICATE-----
MIIDhTCCAm2gAwIBAgIUajvPKmoO+8qaO89/ZGATl7ZYnTswDQYJKoZIhvcNAQEL
BQAwUTESMBAGA1UECgwJTWljcm9zb2Z0MRQwEgYDVQQLDAtBenVyZSBNZWRpYTEl
MCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBDZXJ0aWZpY2F0ZTAgFw0yMDAyMDYy
MTI5MTlaGA8zMDE5MDYwOTIxMjkxOVowUTESMBAGA1UECgwJTWljcm9zb2Z0MRQw
EgYDVQQLDAtBenVyZSBNZWRpYTElMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBD
ZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2lg5ff
7xXPaBZXHl/zrTukdiBtu7BNIOchHba51eloruPRzpvQx7Pedk3CVTut7LYinijf
uol0EwkQ2FLt2i2jOqiva9nXR95ujIZHcKsEeMC4RSNSP4++k6SpP8FgyYVdv5ru
f8GC+HyYQ4j0TqpR/cJs53l/LGRSldaFZ6fcDde1jeyca4VivAbAH1/WDIOvmjzo
9XIGxZ10VSS5l5+DIgdkJZ+mDMLJIuVZ0YVF16ZGEB3beq1trk5lItvmSjQLTllH
qMFm9UGY8jKZSo/BY8ewHEtnGSAFQK0TVuRx1HhUWwu6C9jk+2zmRS2090BNpQWa
JMKFJrSPzFDPRX8CAwEAAaNTMFEwHQYDVR0OBBYEFIumbhu0lYk0EFDThEg0yyIn
/wZZMB8GA1UdIwQYMBaAFIumbhu0lYk0EFDThEg0yyIn/wZZMA8GA1UdEwEB/wQF
MAMBAf8wDQYJKoZIhvcNAQELBQADggEBADUNw+/NGNVtigq9tMJKqlk39MTpDn1s
Z1BVIAuAWSQjlevYZJeDIPUiWNWFhRe+xN7oOLnn2+NIXEKKeMSyuPoZYbN0mBkB
99oS3XVipSANpmDvIepNdCrOnjfqDFIifRF1Dqjtb6i1hb6v/qYKVPLQvcrgGur7
PKKkAu9p4YRZ3RBdwwaUuMgojrj/l6DGbeJY6IRVnVMY39rryMnZjA5xUlhCu55n
oB3t/jsJLwnQN+JbAjLAeuqgOWtgARsEFzvpt+VvDsaj0YLOJPhyJwTvHgaa/slB
nECzd3TuyFKYeGssSni/QQ1e7yZcLapQqz66g5otdriw0IRdOfDxm5M=
-----END CERTIFICATE-----",
                        },
                        OdataType = "#Microsoft.Media.MediaGraphPemCertificateList",
                    },
                    Url = "rtsps://contoso.com:443/stream1",
                    ValidationOptions = new AzureNative.Media.Inputs.MediaGraphTlsValidationOptionsArgs
                    {
                        IgnoreHostname = true,
                        IgnoreSignature = false,
                    },
                } },
                { "name", "rtspSource" },
                { "odataType", "#Microsoft.Media.MediaGraphRtspSource" },
                { "transport", "Http" },
            },
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/media/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := media.NewMediaGraph(ctx, "mediaGraph", &media.MediaGraphArgs{
			AccountName:       pulumi.String("contosomedia"),
			Description:       pulumi.String("updated description"),
			MediaGraphName:    pulumi.String("SampleMediaGraph"),
			ResourceGroupName: pulumi.String("contoso"),
			Sinks: []media.MediaGraphAssetSinkArgs{
				{
					AssetName: pulumi.String("SampleAsset"),
					Inputs: pulumi.StringArray{
						pulumi.String("rtspSource"),
					},
					Name:      pulumi.String("AssetSink"),
					OdataType: pulumi.String("#Microsoft.Media.MediaGraphAssetSink"),
				},
			},
			Sources: []media.MediaGraphRtspSourceArgs{
				{
					Endpoint: {
						Credentials: {
							OdataType: "#Microsoft.Media.MediaGraphUsernamePasswordCredentials",
							Password:  "examplepassword",
							Username:  "exampleusername",
						},
						OdataType: "#Microsoft.Media.MediaGraphTlsEndpoint",
						TrustedCertificates: {
							Certificates: []string{
								`-----BEGIN CERTIFICATE-----
MIIDhTCCAm2gAwIBAgIUajvPKmoO+8qaO89/ZGATl7ZYnTswDQYJKoZIhvcNAQEL
BQAwUTESMBAGA1UECgwJTWljcm9zb2Z0MRQwEgYDVQQLDAtBenVyZSBNZWRpYTEl
MCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBDZXJ0aWZpY2F0ZTAgFw0yMDAyMDYy
MTI5MTlaGA8zMDE5MDYwOTIxMjkxOVowUTESMBAGA1UECgwJTWljcm9zb2Z0MRQw
EgYDVQQLDAtBenVyZSBNZWRpYTElMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBD
ZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2lg5ff
7xXPaBZXHl/zrTukdiBtu7BNIOchHba51eloruPRzpvQx7Pedk3CVTut7LYinijf
uol0EwkQ2FLt2i2jOqiva9nXR95ujIZHcKsEeMC4RSNSP4++k6SpP8FgyYVdv5ru
f8GC+HyYQ4j0TqpR/cJs53l/LGRSldaFZ6fcDde1jeyca4VivAbAH1/WDIOvmjzo
9XIGxZ10VSS5l5+DIgdkJZ+mDMLJIuVZ0YVF16ZGEB3beq1trk5lItvmSjQLTllH
qMFm9UGY8jKZSo/BY8ewHEtnGSAFQK0TVuRx1HhUWwu6C9jk+2zmRS2090BNpQWa
JMKFJrSPzFDPRX8CAwEAAaNTMFEwHQYDVR0OBBYEFIumbhu0lYk0EFDThEg0yyIn
/wZZMB8GA1UdIwQYMBaAFIumbhu0lYk0EFDThEg0yyIn/wZZMA8GA1UdEwEB/wQF
MAMBAf8wDQYJKoZIhvcNAQELBQADggEBADUNw+/NGNVtigq9tMJKqlk39MTpDn1s
Z1BVIAuAWSQjlevYZJeDIPUiWNWFhRe+xN7oOLnn2+NIXEKKeMSyuPoZYbN0mBkB
99oS3XVipSANpmDvIepNdCrOnjfqDFIifRF1Dqjtb6i1hb6v/qYKVPLQvcrgGur7
PKKkAu9p4YRZ3RBdwwaUuMgojrj/l6DGbeJY6IRVnVMY39rryMnZjA5xUlhCu55n
oB3t/jsJLwnQN+JbAjLAeuqgOWtgARsEFzvpt+VvDsaj0YLOJPhyJwTvHgaa/slB
nECzd3TuyFKYeGssSni/QQ1e7yZcLapQqz66g5otdriw0IRdOfDxm5M=
-----END CERTIFICATE-----`,
							},
							OdataType: "#Microsoft.Media.MediaGraphPemCertificateList",
						},
						Url: "rtsps://contoso.com:443/stream1",
						ValidationOptions: {
							IgnoreHostname:  true,
							IgnoreSignature: false,
						},
					},
					Name:      pulumi.String("rtspSource"),
					OdataType: pulumi.String("#Microsoft.Media.MediaGraphRtspSource"),
					Transport: pulumi.String("Http"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.media.MediaGraph;
import com.pulumi.azurenative.media.MediaGraphArgs;
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 mediaGraph = new MediaGraph("mediaGraph", MediaGraphArgs.builder()
            .accountName("contosomedia")
            .description("updated description")
            .mediaGraphName("SampleMediaGraph")
            .resourceGroupName("contoso")
            .sinks(Map.ofEntries(
                Map.entry("assetName", "SampleAsset"),
                Map.entry("inputs", "rtspSource"),
                Map.entry("name", "AssetSink"),
                Map.entry("odataType", "#Microsoft.Media.MediaGraphAssetSink")
            ))
            .sources(Map.ofEntries(
                Map.entry("endpoint", Map.ofEntries(
                    Map.entry("credentials", Map.ofEntries(
                        Map.entry("odataType", "#Microsoft.Media.MediaGraphUsernamePasswordCredentials"),
                        Map.entry("password", "examplepassword"),
                        Map.entry("username", "exampleusername")
                    )),
                    Map.entry("odataType", "#Microsoft.Media.MediaGraphTlsEndpoint"),
                    Map.entry("trustedCertificates", Map.ofEntries(
                        Map.entry("certificates", """
-----BEGIN CERTIFICATE-----
MIIDhTCCAm2gAwIBAgIUajvPKmoO+8qaO89/ZGATl7ZYnTswDQYJKoZIhvcNAQEL
BQAwUTESMBAGA1UECgwJTWljcm9zb2Z0MRQwEgYDVQQLDAtBenVyZSBNZWRpYTEl
MCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBDZXJ0aWZpY2F0ZTAgFw0yMDAyMDYy
MTI5MTlaGA8zMDE5MDYwOTIxMjkxOVowUTESMBAGA1UECgwJTWljcm9zb2Z0MRQw
EgYDVQQLDAtBenVyZSBNZWRpYTElMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBD
ZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2lg5ff
7xXPaBZXHl/zrTukdiBtu7BNIOchHba51eloruPRzpvQx7Pedk3CVTut7LYinijf
uol0EwkQ2FLt2i2jOqiva9nXR95ujIZHcKsEeMC4RSNSP4++k6SpP8FgyYVdv5ru
f8GC+HyYQ4j0TqpR/cJs53l/LGRSldaFZ6fcDde1jeyca4VivAbAH1/WDIOvmjzo
9XIGxZ10VSS5l5+DIgdkJZ+mDMLJIuVZ0YVF16ZGEB3beq1trk5lItvmSjQLTllH
qMFm9UGY8jKZSo/BY8ewHEtnGSAFQK0TVuRx1HhUWwu6C9jk+2zmRS2090BNpQWa
JMKFJrSPzFDPRX8CAwEAAaNTMFEwHQYDVR0OBBYEFIumbhu0lYk0EFDThEg0yyIn
/wZZMB8GA1UdIwQYMBaAFIumbhu0lYk0EFDThEg0yyIn/wZZMA8GA1UdEwEB/wQF
MAMBAf8wDQYJKoZIhvcNAQELBQADggEBADUNw+/NGNVtigq9tMJKqlk39MTpDn1s
Z1BVIAuAWSQjlevYZJeDIPUiWNWFhRe+xN7oOLnn2+NIXEKKeMSyuPoZYbN0mBkB
99oS3XVipSANpmDvIepNdCrOnjfqDFIifRF1Dqjtb6i1hb6v/qYKVPLQvcrgGur7
PKKkAu9p4YRZ3RBdwwaUuMgojrj/l6DGbeJY6IRVnVMY39rryMnZjA5xUlhCu55n
oB3t/jsJLwnQN+JbAjLAeuqgOWtgARsEFzvpt+VvDsaj0YLOJPhyJwTvHgaa/slB
nECzd3TuyFKYeGssSni/QQ1e7yZcLapQqz66g5otdriw0IRdOfDxm5M=
-----END CERTIFICATE-----                        """),
                        Map.entry("odataType", "#Microsoft.Media.MediaGraphPemCertificateList")
                    )),
                    Map.entry("url", "rtsps://contoso.com:443/stream1"),
                    Map.entry("validationOptions", Map.ofEntries(
                        Map.entry("ignoreHostname", true),
                        Map.entry("ignoreSignature", false)
                    ))
                )),
                Map.entry("name", "rtspSource"),
                Map.entry("odataType", "#Microsoft.Media.MediaGraphRtspSource"),
                Map.entry("transport", "Http")
            ))
            .build());
    }
}Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:media:MediaGraph SampleMediaGraph /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/mediaGraphs/{mediaGraphName}Content copied to clipboard