Media Graph Args
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,
},
},
});
});
Content copied to clipboard
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
})
}
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 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());
}
}
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[]
{
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,
},
},
});
});
Content copied to clipboard
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
})
}
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 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());
}
}
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
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
The Media Services account name.
Link copied to clipboard
Media Graph description.
Link copied to clipboard
The Media Graph name.
Link copied to clipboard
The name of the resource group within the Azure subscription.
Link copied to clipboard
Media Graph sinks.
Link copied to clipboard
Media Graph sources.