Media Graph
The Media Graph. API Version: 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 (
media "github.com/pulumi/pulumi-azure-native-sdk/media"
"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 (
media "github.com/pulumi/pulumi-azure-native-sdk/media"
"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-----\nMIIDhTCCAm2gAwIBAgIUajvPKmoO+8qaO89/ZGATl7ZYnTswDQYJKoZIhvcNAQEL\nBQAwUTESMBAGA1UECgwJTWljcm9zb2Z0MRQwEgYDVQQLDAtBenVyZSBNZWRpYTEl\nMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBDZXJ0aWZpY2F0ZTAgFw0yMDAyMDYy\nMTI5MTlaGA8zMDE5MDYwOTIxMjkxOVowUTESMBAGA1UECgwJTWljcm9zb2Z0MRQw\nEgYDVQQLDAtBenVyZSBNZWRpYTElMCMGA1UEAwwcKFVudHJ1c3RlZCkgVGVzdCBD\nZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2lg5ff\n7xXPaBZXHl/zrTukdiBtu7BNIOchHba51eloruPRzpvQx7Pedk3CVTut7LYinijf\nuol0EwkQ2FLt2i2jOqiva9nXR95ujIZHcKsEeMC4RSNSP4++k6SpP8FgyYVdv5ru\nf8GC+HyYQ4j0TqpR/cJs53l/LGRSldaFZ6fcDde1jeyca4VivAbAH1/WDIOvmjzo\n9XIGxZ10VSS5l5+DIgdkJZ+mDMLJIuVZ0YVF16ZGEB3beq1trk5lItvmSjQLTllH\nqMFm9UGY8jKZSo/BY8ewHEtnGSAFQK0TVuRx1HhUWwu6C9jk+2zmRS2090BNpQWa\nJMKFJrSPzFDPRX8CAwEAAaNTMFEwHQYDVR0OBBYEFIumbhu0lYk0EFDThEg0yyIn\n/wZZMB8GA1UdIwQYMBaAFIumbhu0lYk0EFDThEg0yyIn/wZZMA8GA1UdEwEB/wQF\nMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADUNw+/NGNVtigq9tMJKqlk39MTpDn1s\nZ1BVIAuAWSQjlevYZJeDIPUiWNWFhRe+xN7oOLnn2+NIXEKKeMSyuPoZYbN0mBkB\n99oS3XVipSANpmDvIepNdCrOnjfqDFIifRF1Dqjtb6i1hb6v/qYKVPLQvcrgGur7\nPKKkAu9p4YRZ3RBdwwaUuMgojrj/l6DGbeJY6IRVnVMY39rryMnZjA5xUlhCu55n\noB3t/jsJLwnQN+JbAjLAeuqgOWtgARsEFzvpt+VvDsaj0YLOJPhyJwTvHgaa/slB\nnECzd3TuyFKYeGssSni/QQ1e7yZcLapQqz66g5otdriw0IRdOfDxm5M=\n-----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