MediaGraph

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 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" },
},
},
});
});
package main
import (
media "github.com/pulumi/pulumi-azure-native/sdk/go/azure/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
})
}
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());
}
}

Create or update a Media Graph with an encrypted RTSP Source

using System.Collections.Generic;
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" },
},
},
});
});
package main
import (
media "github.com/pulumi/pulumi-azure-native/sdk/go/azure/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
})
}
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());
}
}

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}

Properties

Link copied to clipboard
val created: Output<String>

Date the Media Graph was created.

Link copied to clipboard
val description: Output<String>?

Media Graph description.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val lastModified: Output<String>

Date the Media Graph was last modified.

Link copied to clipboard
val name: Output<String>

The name of the resource.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Media Graph sinks.

Link copied to clipboard

Media Graph sources.

Link copied to clipboard
val state: Output<String>

Media Graph state which indicates the resource allocation status for running the media graph pipeline.

Link copied to clipboard
val type: Output<String>

The type of the resource.

Link copied to clipboard
val urn: Output<String>