MediaGraphArgs

data class MediaGraphArgs(val accountName: Output<String>? = null, val description: Output<String>? = null, val mediaGraphName: Output<String>? = null, val resourceGroupName: Output<String>? = null, val sinks: Output<List<MediaGraphAssetSinkArgs>>? = null, val sources: Output<List<MediaGraphRtspSourceArgs>>? = null) : ConvertibleToJava<MediaGraphArgs>

The Media Graph. Uses Azure REST API version 2020-02-01-preview. In version 1.x of the Azure Native provider, it used 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[]
{
new AzureNative.Media.Inputs.MediaGraphAssetSinkArgs
{
AssetName = "SampleAsset",
Inputs = new[]
{
"rtspSource",
},
Name = "AssetSink",
OdataType = "#Microsoft.Media.MediaGraphAssetSink",
},
},
Sources = new[]
{
new AzureNative.Media.Inputs.MediaGraphRtspSourceArgs
{
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 = AzureNative.Media.MediaGraphRtspTransport.Http,
},
},
});
});
package main
import (
media "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.MediaGraphAssetSinkArray{
&media.MediaGraphAssetSinkArgs{
AssetName: pulumi.String("SampleAsset"),
Inputs: pulumi.StringArray{
pulumi.String("rtspSource"),
},
Name: pulumi.String("AssetSink"),
OdataType: pulumi.String("#Microsoft.Media.MediaGraphAssetSink"),
},
},
Sources: media.MediaGraphRtspSourceArray{
&media.MediaGraphRtspSourceArgs{
Endpoint: media.MediaGraphClearEndpoint{
Credentials: media.MediaGraphUsernamePasswordCredentials{
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(media.MediaGraphRtspTransportHttp),
},
},
})
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 com.pulumi.azurenative.media.inputs.MediaGraphAssetSinkArgs;
import com.pulumi.azurenative.media.inputs.MediaGraphRtspSourceArgs;
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(MediaGraphAssetSinkArgs.builder()
.assetName("SampleAsset")
.inputs("rtspSource")
.name("AssetSink")
.odataType("#Microsoft.Media.MediaGraphAssetSink")
.build())
.sources(MediaGraphRtspSourceArgs.builder()
.endpoint(MediaGraphClearEndpointArgs.builder()
.credentials(MediaGraphUsernamePasswordCredentialsArgs.builder()
.odataType("#Microsoft.Media.MediaGraphUsernamePasswordCredentials")
.password("examplepassword")
.username("exampleusername")
.build())
.odataType("#Microsoft.Media.MediaGraphClearEndpoint")
.url("rtsp://contoso.com:554/stream1")
.build())
.name("rtspSource")
.odataType("#Microsoft.Media.MediaGraphRtspSource")
.transport("Http")
.build())
.build());
}
}

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[]
{
new AzureNative.Media.Inputs.MediaGraphAssetSinkArgs
{
AssetName = "SampleAsset",
Inputs = new[]
{
"rtspSource",
},
Name = "AssetSink",
OdataType = "#Microsoft.Media.MediaGraphAssetSink",
},
},
Sources = new[]
{
new AzureNative.Media.Inputs.MediaGraphRtspSourceArgs
{
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 = AzureNative.Media.MediaGraphRtspTransport.Http,
},
},
});
});
package main
import (
media "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.MediaGraphAssetSinkArray{
&media.MediaGraphAssetSinkArgs{
AssetName: pulumi.String("SampleAsset"),
Inputs: pulumi.StringArray{
pulumi.String("rtspSource"),
},
Name: pulumi.String("AssetSink"),
OdataType: pulumi.String("#Microsoft.Media.MediaGraphAssetSink"),
},
},
Sources: media.MediaGraphRtspSourceArray{
&media.MediaGraphRtspSourceArgs{
Endpoint: media.MediaGraphTlsEndpoint{
Credentials: media.MediaGraphUsernamePasswordCredentials{
OdataType: "#Microsoft.Media.MediaGraphUsernamePasswordCredentials",
Password: "examplepassword",
Username: "exampleusername",
},
OdataType: "#Microsoft.Media.MediaGraphTlsEndpoint",
TrustedCertificates: media.MediaGraphPemCertificateList{
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: media.MediaGraphTlsValidationOptions{
IgnoreHostname: true,
IgnoreSignature: false,
},
},
Name: pulumi.String("rtspSource"),
OdataType: pulumi.String("#Microsoft.Media.MediaGraphRtspSource"),
Transport: pulumi.String(media.MediaGraphRtspTransportHttp),
},
},
})
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 com.pulumi.azurenative.media.inputs.MediaGraphAssetSinkArgs;
import com.pulumi.azurenative.media.inputs.MediaGraphRtspSourceArgs;
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(MediaGraphAssetSinkArgs.builder()
.assetName("SampleAsset")
.inputs("rtspSource")
.name("AssetSink")
.odataType("#Microsoft.Media.MediaGraphAssetSink")
.build())
.sources(MediaGraphRtspSourceArgs.builder()
.endpoint(MediaGraphClearEndpointArgs.builder()
.credentials(MediaGraphUsernamePasswordCredentialsArgs.builder()
.odataType("#Microsoft.Media.MediaGraphUsernamePasswordCredentials")
.password("examplepassword")
.username("exampleusername")
.build())
.odataType("#Microsoft.Media.MediaGraphTlsEndpoint")
.trustedCertificates(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.url("rtsps://contoso.com:443/stream1")
.validationOptions(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build())
.name("rtspSource")
.odataType("#Microsoft.Media.MediaGraphRtspSource")
.transport("Http")
.build())
.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}

Constructors

Link copied to clipboard
constructor(accountName: Output<String>? = null, description: Output<String>? = null, mediaGraphName: Output<String>? = null, resourceGroupName: Output<String>? = null, sinks: Output<List<MediaGraphAssetSinkArgs>>? = null, sources: Output<List<MediaGraphRtspSourceArgs>>? = null)

Properties

Link copied to clipboard
val accountName: Output<String>? = null

The Media Services account name.

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

Media Graph description.

Link copied to clipboard
val mediaGraphName: Output<String>? = null

The Media Graph name.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group within the Azure subscription.

Link copied to clipboard
val sinks: Output<List<MediaGraphAssetSinkArgs>>? = null

Media Graph sinks.

Link copied to clipboard
val sources: Output<List<MediaGraphRtspSourceArgs>>? = null

Media Graph sources.

Functions

Link copied to clipboard
open override fun toJava(): MediaGraphArgs