Streaming Policy Args
    data class StreamingPolicyArgs(val accountName: Output<String>? = null, val commonEncryptionCbcs: Output<CommonEncryptionCbcsArgs>? = null, val commonEncryptionCenc: Output<CommonEncryptionCencArgs>? = null, val defaultContentKeyPolicyName: Output<String>? = null, val envelopeEncryption: Output<EnvelopeEncryptionArgs>? = null, val noEncryption: Output<NoEncryptionArgs>? = null, val resourceGroupName: Output<String>? = null, val streamingPolicyName: Output<String>? = null) : ConvertibleToJava<StreamingPolicyArgs> 
A Streaming Policy resource Azure REST API version: 2023-01-01. Prior API version in Azure Native 1.x: 2020-05-01.
Example Usage
Creates a Streaming Policy with ClearKey encryption in commonEncryptionCbcs.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var streamingPolicy = new AzureNative.Media.StreamingPolicy("streamingPolicy", new()
    {
        AccountName = "contosomedia",
        CommonEncryptionCbcs = new AzureNative.Media.Inputs.CommonEncryptionCbcsArgs
        {
            ClearKeyEncryptionConfiguration = new AzureNative.Media.Inputs.ClearKeyEncryptionConfigurationArgs
            {
                CustomKeysAcquisitionUrlTemplate = "https://contoso.com/{AlternativeMediaId}/clearkey/",
            },
            ContentKeys = new AzureNative.Media.Inputs.StreamingPolicyContentKeysArgs
            {
                DefaultKey = new AzureNative.Media.Inputs.DefaultKeyArgs
                {
                    Label = "cbcsDefaultKey",
                },
            },
            EnabledProtocols = new AzureNative.Media.Inputs.EnabledProtocolsArgs
            {
                Dash = false,
                Download = false,
                Hls = true,
                SmoothStreaming = false,
            },
        },
        DefaultContentKeyPolicyName = "PolicyWithMultipleOptions",
        ResourceGroupName = "contosorg",
        StreamingPolicyName = "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly",
    });
});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.NewStreamingPolicy(ctx, "streamingPolicy", &media.StreamingPolicyArgs{
AccountName: pulumi.String("contosomedia"),
CommonEncryptionCbcs: media.CommonEncryptionCbcsResponse{
ClearKeyEncryptionConfiguration: &media.ClearKeyEncryptionConfigurationArgs{
CustomKeysAcquisitionUrlTemplate: pulumi.String("https://contoso.com/{AlternativeMediaId}/clearkey/"),
},
ContentKeys: interface{}{
DefaultKey: &media.DefaultKeyArgs{
Label: pulumi.String("cbcsDefaultKey"),
},
},
EnabledProtocols: &media.EnabledProtocolsArgs{
Dash: pulumi.Bool(false),
Download: pulumi.Bool(false),
Hls: pulumi.Bool(true),
SmoothStreaming: pulumi.Bool(false),
},
},
DefaultContentKeyPolicyName: pulumi.String("PolicyWithMultipleOptions"),
ResourceGroupName: pulumi.String("contosorg"),
StreamingPolicyName: pulumi.String("UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly"),
})
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.StreamingPolicy;
import com.pulumi.azurenative.media.StreamingPolicyArgs;
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 streamingPolicy = new StreamingPolicy("streamingPolicy", StreamingPolicyArgs.builder()
            .accountName("contosomedia")
            .commonEncryptionCbcs(Map.ofEntries(
                Map.entry("clearKeyEncryptionConfiguration", Map.of("customKeysAcquisitionUrlTemplate", "https://contoso.com/{AlternativeMediaId}/clearkey/")),
                Map.entry("contentKeys", Map.of("defaultKey", Map.of("label", "cbcsDefaultKey"))),
                Map.entry("enabledProtocols", Map.ofEntries(
                    Map.entry("dash", false),
                    Map.entry("download", false),
                    Map.entry("hls", true),
                    Map.entry("smoothStreaming", false)
                ))
            ))
            .defaultContentKeyPolicyName("PolicyWithMultipleOptions")
            .resourceGroupName("contosorg")
            .streamingPolicyName("UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly")
            .build());
    }
}Content copied to clipboard
Creates a Streaming Policy with ClearKey encryption in commonEncryptionCenc.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var streamingPolicy = new AzureNative.Media.StreamingPolicy("streamingPolicy", new()
    {
        AccountName = "contosomedia",
        CommonEncryptionCenc = new AzureNative.Media.Inputs.CommonEncryptionCencArgs
        {
            ClearKeyEncryptionConfiguration = new AzureNative.Media.Inputs.ClearKeyEncryptionConfigurationArgs
            {
                CustomKeysAcquisitionUrlTemplate = "https://contoso.com/{AlternativeMediaId}/clearkey/",
            },
            ClearTracks = new[]
            {
                new AzureNative.Media.Inputs.TrackSelectionArgs
                {
                    TrackSelections = new[]
                    {
                        new AzureNative.Media.Inputs.TrackPropertyConditionArgs
                        {
                            Operation = "Equal",
                            Property = "FourCC",
                            Value = "hev1",
                        },
                    },
                },
            },
            ContentKeys = new AzureNative.Media.Inputs.StreamingPolicyContentKeysArgs
            {
                DefaultKey = new AzureNative.Media.Inputs.DefaultKeyArgs
                {
                    Label = "cencDefaultKey",
                },
            },
            EnabledProtocols = new AzureNative.Media.Inputs.EnabledProtocolsArgs
            {
                Dash = true,
                Download = false,
                Hls = false,
                SmoothStreaming = true,
            },
        },
        DefaultContentKeyPolicyName = "PolicyWithPlayReadyOptionAndOpenRestriction",
        ResourceGroupName = "contosorg",
        StreamingPolicyName = "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly",
    });
});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.NewStreamingPolicy(ctx, "streamingPolicy", &media.StreamingPolicyArgs{
AccountName: pulumi.String("contosomedia"),
CommonEncryptionCenc: media.CommonEncryptionCencResponse{
ClearKeyEncryptionConfiguration: &media.ClearKeyEncryptionConfigurationArgs{
CustomKeysAcquisitionUrlTemplate: pulumi.String("https://contoso.com/{AlternativeMediaId}/clearkey/"),
},
ClearTracks: media.TrackSelectionArray{
interface{}{
TrackSelections: media.TrackPropertyConditionArray{
&media.TrackPropertyConditionArgs{
Operation: pulumi.String("Equal"),
Property: pulumi.String("FourCC"),
Value: pulumi.String("hev1"),
},
},
},
},
ContentKeys: interface{}{
DefaultKey: &media.DefaultKeyArgs{
Label: pulumi.String("cencDefaultKey"),
},
},
EnabledProtocols: &media.EnabledProtocolsArgs{
Dash: pulumi.Bool(true),
Download: pulumi.Bool(false),
Hls: pulumi.Bool(false),
SmoothStreaming: pulumi.Bool(true),
},
},
DefaultContentKeyPolicyName: pulumi.String("PolicyWithPlayReadyOptionAndOpenRestriction"),
ResourceGroupName: pulumi.String("contosorg"),
StreamingPolicyName: pulumi.String("UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly"),
})
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.StreamingPolicy;
import com.pulumi.azurenative.media.StreamingPolicyArgs;
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 streamingPolicy = new StreamingPolicy("streamingPolicy", StreamingPolicyArgs.builder()
            .accountName("contosomedia")
            .commonEncryptionCenc(Map.ofEntries(
                Map.entry("clearKeyEncryptionConfiguration", Map.of("customKeysAcquisitionUrlTemplate", "https://contoso.com/{AlternativeMediaId}/clearkey/")),
                Map.entry("clearTracks", Map.of("trackSelections", Map.ofEntries(
                    Map.entry("operation", "Equal"),
                    Map.entry("property", "FourCC"),
                    Map.entry("value", "hev1")
                ))),
                Map.entry("contentKeys", Map.of("defaultKey", Map.of("label", "cencDefaultKey"))),
                Map.entry("enabledProtocols", Map.ofEntries(
                    Map.entry("dash", true),
                    Map.entry("download", false),
                    Map.entry("hls", false),
                    Map.entry("smoothStreaming", true)
                ))
            ))
            .defaultContentKeyPolicyName("PolicyWithPlayReadyOptionAndOpenRestriction")
            .resourceGroupName("contosorg")
            .streamingPolicyName("UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly")
            .build());
    }
}Content copied to clipboard
Creates a Streaming Policy with clear streaming
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var streamingPolicy = new AzureNative.Media.StreamingPolicy("streamingPolicy", new()
    {
        AccountName = "contosomedia",
        NoEncryption = new AzureNative.Media.Inputs.NoEncryptionArgs
        {
            EnabledProtocols = new AzureNative.Media.Inputs.EnabledProtocolsArgs
            {
                Dash = true,
                Download = true,
                Hls = true,
                SmoothStreaming = true,
            },
        },
        ResourceGroupName = "contosorg",
        StreamingPolicyName = "clearStreamingPolicy",
    });
});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.NewStreamingPolicy(ctx, "streamingPolicy", &media.StreamingPolicyArgs{
			AccountName: pulumi.String("contosomedia"),
			NoEncryption: media.NoEncryptionResponse{
				EnabledProtocols: &media.EnabledProtocolsArgs{
					Dash:            pulumi.Bool(true),
					Download:        pulumi.Bool(true),
					Hls:             pulumi.Bool(true),
					SmoothStreaming: pulumi.Bool(true),
				},
			},
			ResourceGroupName:   pulumi.String("contosorg"),
			StreamingPolicyName: pulumi.String("clearStreamingPolicy"),
		})
		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.StreamingPolicy;
import com.pulumi.azurenative.media.StreamingPolicyArgs;
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 streamingPolicy = new StreamingPolicy("streamingPolicy", StreamingPolicyArgs.builder()
            .accountName("contosomedia")
            .noEncryption(Map.of("enabledProtocols", Map.ofEntries(
                Map.entry("dash", true),
                Map.entry("download", true),
                Map.entry("hls", true),
                Map.entry("smoothStreaming", true)
            )))
            .resourceGroupName("contosorg")
            .streamingPolicyName("clearStreamingPolicy")
            .build());
    }
}Content copied to clipboard
Creates a Streaming Policy with commonEncryptionCbcs only
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var streamingPolicy = new AzureNative.Media.StreamingPolicy("streamingPolicy", new()
    {
        AccountName = "contosomedia",
        CommonEncryptionCbcs = new AzureNative.Media.Inputs.CommonEncryptionCbcsArgs
        {
            ContentKeys = new AzureNative.Media.Inputs.StreamingPolicyContentKeysArgs
            {
                DefaultKey = new AzureNative.Media.Inputs.DefaultKeyArgs
                {
                    Label = "cbcsDefaultKey",
                },
            },
            Drm = new AzureNative.Media.Inputs.CbcsDrmConfigurationArgs
            {
                FairPlay = new AzureNative.Media.Inputs.StreamingPolicyFairPlayConfigurationArgs
                {
                    AllowPersistentLicense = true,
                    CustomLicenseAcquisitionUrlTemplate = "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}",
                },
            },
            EnabledProtocols = new AzureNative.Media.Inputs.EnabledProtocolsArgs
            {
                Dash = false,
                Download = false,
                Hls = true,
                SmoothStreaming = false,
            },
        },
        DefaultContentKeyPolicyName = "PolicyWithMultipleOptions",
        ResourceGroupName = "contosorg",
        StreamingPolicyName = "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly",
    });
});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.NewStreamingPolicy(ctx, "streamingPolicy", &media.StreamingPolicyArgs{
AccountName: pulumi.String("contosomedia"),
CommonEncryptionCbcs: media.CommonEncryptionCbcsResponse{
ContentKeys: interface{}{
DefaultKey: &media.DefaultKeyArgs{
Label: pulumi.String("cbcsDefaultKey"),
},
},
Drm: interface{}{
FairPlay: &media.StreamingPolicyFairPlayConfigurationArgs{
AllowPersistentLicense: pulumi.Bool(true),
CustomLicenseAcquisitionUrlTemplate: pulumi.String("https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}"),
},
},
EnabledProtocols: &media.EnabledProtocolsArgs{
Dash: pulumi.Bool(false),
Download: pulumi.Bool(false),
Hls: pulumi.Bool(true),
SmoothStreaming: pulumi.Bool(false),
},
},
DefaultContentKeyPolicyName: pulumi.String("PolicyWithMultipleOptions"),
ResourceGroupName: pulumi.String("contosorg"),
StreamingPolicyName: pulumi.String("UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly"),
})
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.StreamingPolicy;
import com.pulumi.azurenative.media.StreamingPolicyArgs;
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 streamingPolicy = new StreamingPolicy("streamingPolicy", StreamingPolicyArgs.builder()
            .accountName("contosomedia")
            .commonEncryptionCbcs(Map.ofEntries(
                Map.entry("contentKeys", Map.of("defaultKey", Map.of("label", "cbcsDefaultKey"))),
                Map.entry("drm", Map.of("fairPlay", Map.ofEntries(
                    Map.entry("allowPersistentLicense", true),
                    Map.entry("customLicenseAcquisitionUrlTemplate", "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}")
                ))),
                Map.entry("enabledProtocols", Map.ofEntries(
                    Map.entry("dash", false),
                    Map.entry("download", false),
                    Map.entry("hls", true),
                    Map.entry("smoothStreaming", false)
                ))
            ))
            .defaultContentKeyPolicyName("PolicyWithMultipleOptions")
            .resourceGroupName("contosorg")
            .streamingPolicyName("UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly")
            .build());
    }
}Content copied to clipboard
Creates a Streaming Policy with commonEncryptionCenc only
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var streamingPolicy = new AzureNative.Media.StreamingPolicy("streamingPolicy", new()
    {
        AccountName = "contosomedia",
        CommonEncryptionCenc = new AzureNative.Media.Inputs.CommonEncryptionCencArgs
        {
            ClearTracks = new[]
            {
                new AzureNative.Media.Inputs.TrackSelectionArgs
                {
                    TrackSelections = new[]
                    {
                        new AzureNative.Media.Inputs.TrackPropertyConditionArgs
                        {
                            Operation = "Equal",
                            Property = "FourCC",
                            Value = "hev1",
                        },
                    },
                },
            },
            ContentKeys = new AzureNative.Media.Inputs.StreamingPolicyContentKeysArgs
            {
                DefaultKey = new AzureNative.Media.Inputs.DefaultKeyArgs
                {
                    Label = "cencDefaultKey",
                },
            },
            Drm = new AzureNative.Media.Inputs.CencDrmConfigurationArgs
            {
                PlayReady = new AzureNative.Media.Inputs.StreamingPolicyPlayReadyConfigurationArgs
                {
                    CustomLicenseAcquisitionUrlTemplate = "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}",
                    PlayReadyCustomAttributes = "PlayReady CustomAttributes",
                },
                Widevine = new AzureNative.Media.Inputs.StreamingPolicyWidevineConfigurationArgs
                {
                    CustomLicenseAcquisitionUrlTemplate = "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId",
                },
            },
            EnabledProtocols = new AzureNative.Media.Inputs.EnabledProtocolsArgs
            {
                Dash = true,
                Download = false,
                Hls = false,
                SmoothStreaming = true,
            },
        },
        DefaultContentKeyPolicyName = "PolicyWithPlayReadyOptionAndOpenRestriction",
        ResourceGroupName = "contosorg",
        StreamingPolicyName = "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly",
    });
});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.NewStreamingPolicy(ctx, "streamingPolicy", &media.StreamingPolicyArgs{
AccountName: pulumi.String("contosomedia"),
CommonEncryptionCenc: media.CommonEncryptionCencResponse{
ClearTracks: media.TrackSelectionArray{
interface{}{
TrackSelections: media.TrackPropertyConditionArray{
&media.TrackPropertyConditionArgs{
Operation: pulumi.String("Equal"),
Property: pulumi.String("FourCC"),
Value: pulumi.String("hev1"),
},
},
},
},
ContentKeys: interface{}{
DefaultKey: &media.DefaultKeyArgs{
Label: pulumi.String("cencDefaultKey"),
},
},
Drm: interface{}{
PlayReady: &media.StreamingPolicyPlayReadyConfigurationArgs{
CustomLicenseAcquisitionUrlTemplate: pulumi.String("https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}"),
PlayReadyCustomAttributes: pulumi.String("PlayReady CustomAttributes"),
},
Widevine: &media.StreamingPolicyWidevineConfigurationArgs{
CustomLicenseAcquisitionUrlTemplate: pulumi.String("https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId"),
},
},
EnabledProtocols: &media.EnabledProtocolsArgs{
Dash: pulumi.Bool(true),
Download: pulumi.Bool(false),
Hls: pulumi.Bool(false),
SmoothStreaming: pulumi.Bool(true),
},
},
DefaultContentKeyPolicyName: pulumi.String("PolicyWithPlayReadyOptionAndOpenRestriction"),
ResourceGroupName: pulumi.String("contosorg"),
StreamingPolicyName: pulumi.String("UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly"),
})
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.StreamingPolicy;
import com.pulumi.azurenative.media.StreamingPolicyArgs;
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 streamingPolicy = new StreamingPolicy("streamingPolicy", StreamingPolicyArgs.builder()
            .accountName("contosomedia")
            .commonEncryptionCenc(Map.ofEntries(
                Map.entry("clearTracks", Map.of("trackSelections", Map.ofEntries(
                    Map.entry("operation", "Equal"),
                    Map.entry("property", "FourCC"),
                    Map.entry("value", "hev1")
                ))),
                Map.entry("contentKeys", Map.of("defaultKey", Map.of("label", "cencDefaultKey"))),
                Map.entry("drm", Map.ofEntries(
                    Map.entry("playReady", Map.ofEntries(
                        Map.entry("customLicenseAcquisitionUrlTemplate", "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}"),
                        Map.entry("playReadyCustomAttributes", "PlayReady CustomAttributes")
                    )),
                    Map.entry("widevine", Map.of("customLicenseAcquisitionUrlTemplate", "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId"))
                )),
                Map.entry("enabledProtocols", Map.ofEntries(
                    Map.entry("dash", true),
                    Map.entry("download", false),
                    Map.entry("hls", false),
                    Map.entry("smoothStreaming", true)
                ))
            ))
            .defaultContentKeyPolicyName("PolicyWithPlayReadyOptionAndOpenRestriction")
            .resourceGroupName("contosorg")
            .streamingPolicyName("UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly")
            .build());
    }
}Content copied to clipboard
Creates a Streaming Policy with envelopeEncryption only
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var streamingPolicy = new AzureNative.Media.StreamingPolicy("streamingPolicy", new()
    {
        AccountName = "contosomedia",
        DefaultContentKeyPolicyName = "PolicyWithClearKeyOptionAndTokenRestriction",
        EnvelopeEncryption = new AzureNative.Media.Inputs.EnvelopeEncryptionArgs
        {
            ContentKeys = new AzureNative.Media.Inputs.StreamingPolicyContentKeysArgs
            {
                DefaultKey = new AzureNative.Media.Inputs.DefaultKeyArgs
                {
                    Label = "aesDefaultKey",
                },
            },
            CustomKeyAcquisitionUrlTemplate = "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}",
            EnabledProtocols = new AzureNative.Media.Inputs.EnabledProtocolsArgs
            {
                Dash = true,
                Download = false,
                Hls = true,
                SmoothStreaming = true,
            },
        },
        ResourceGroupName = "contosorg",
        StreamingPolicyName = "UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly",
    });
});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.NewStreamingPolicy(ctx, "streamingPolicy", &media.StreamingPolicyArgs{
AccountName: pulumi.String("contosomedia"),
DefaultContentKeyPolicyName: pulumi.String("PolicyWithClearKeyOptionAndTokenRestriction"),
EnvelopeEncryption: media.EnvelopeEncryptionResponse{
ContentKeys: interface{}{
DefaultKey: &media.DefaultKeyArgs{
Label: pulumi.String("aesDefaultKey"),
},
},
CustomKeyAcquisitionUrlTemplate: pulumi.String("https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}"),
EnabledProtocols: &media.EnabledProtocolsArgs{
Dash: pulumi.Bool(true),
Download: pulumi.Bool(false),
Hls: pulumi.Bool(true),
SmoothStreaming: pulumi.Bool(true),
},
},
ResourceGroupName: pulumi.String("contosorg"),
StreamingPolicyName: pulumi.String("UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly"),
})
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.StreamingPolicy;
import com.pulumi.azurenative.media.StreamingPolicyArgs;
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 streamingPolicy = new StreamingPolicy("streamingPolicy", StreamingPolicyArgs.builder()
            .accountName("contosomedia")
            .defaultContentKeyPolicyName("PolicyWithClearKeyOptionAndTokenRestriction")
            .envelopeEncryption(Map.ofEntries(
                Map.entry("contentKeys", Map.of("defaultKey", Map.of("label", "aesDefaultKey"))),
                Map.entry("customKeyAcquisitionUrlTemplate", "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}"),
                Map.entry("enabledProtocols", Map.ofEntries(
                    Map.entry("dash", true),
                    Map.entry("download", false),
                    Map.entry("hls", true),
                    Map.entry("smoothStreaming", true)
                ))
            ))
            .resourceGroupName("contosorg")
            .streamingPolicyName("UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly")
            .build());
    }
}Content copied to clipboard
Creates a Streaming Policy with secure streaming
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var streamingPolicy = new AzureNative.Media.StreamingPolicy("streamingPolicy", new()
    {
        AccountName = "contosomedia",
        CommonEncryptionCbcs = new AzureNative.Media.Inputs.CommonEncryptionCbcsArgs
        {
            ContentKeys = new AzureNative.Media.Inputs.StreamingPolicyContentKeysArgs
            {
                DefaultKey = new AzureNative.Media.Inputs.DefaultKeyArgs
                {
                    Label = "cbcsDefaultKey",
                },
            },
            Drm = new AzureNative.Media.Inputs.CbcsDrmConfigurationArgs
            {
                FairPlay = new AzureNative.Media.Inputs.StreamingPolicyFairPlayConfigurationArgs
                {
                    AllowPersistentLicense = true,
                    CustomLicenseAcquisitionUrlTemplate = "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}",
                },
            },
            EnabledProtocols = new AzureNative.Media.Inputs.EnabledProtocolsArgs
            {
                Dash = false,
                Download = false,
                Hls = true,
                SmoothStreaming = false,
            },
        },
        CommonEncryptionCenc = new AzureNative.Media.Inputs.CommonEncryptionCencArgs
        {
            ClearTracks = new[]
            {
                new AzureNative.Media.Inputs.TrackSelectionArgs
                {
                    TrackSelections = new[]
                    {
                        new AzureNative.Media.Inputs.TrackPropertyConditionArgs
                        {
                            Operation = "Equal",
                            Property = "FourCC",
                            Value = "hev1",
                        },
                    },
                },
            },
            ContentKeys = new AzureNative.Media.Inputs.StreamingPolicyContentKeysArgs
            {
                DefaultKey = new AzureNative.Media.Inputs.DefaultKeyArgs
                {
                    Label = "cencDefaultKey",
                },
            },
            Drm = new AzureNative.Media.Inputs.CencDrmConfigurationArgs
            {
                PlayReady = new AzureNative.Media.Inputs.StreamingPolicyPlayReadyConfigurationArgs
                {
                    CustomLicenseAcquisitionUrlTemplate = "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}",
                    PlayReadyCustomAttributes = "PlayReady CustomAttributes",
                },
                Widevine = new AzureNative.Media.Inputs.StreamingPolicyWidevineConfigurationArgs
                {
                    CustomLicenseAcquisitionUrlTemplate = "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId",
                },
            },
            EnabledProtocols = new AzureNative.Media.Inputs.EnabledProtocolsArgs
            {
                Dash = true,
                Download = false,
                Hls = false,
                SmoothStreaming = true,
            },
        },
        DefaultContentKeyPolicyName = "PolicyWithMultipleOptions",
        EnvelopeEncryption = new AzureNative.Media.Inputs.EnvelopeEncryptionArgs
        {
            ContentKeys = new AzureNative.Media.Inputs.StreamingPolicyContentKeysArgs
            {
                DefaultKey = new AzureNative.Media.Inputs.DefaultKeyArgs
                {
                    Label = "aesDefaultKey",
                },
            },
            CustomKeyAcquisitionUrlTemplate = "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}",
            EnabledProtocols = new AzureNative.Media.Inputs.EnabledProtocolsArgs
            {
                Dash = true,
                Download = false,
                Hls = true,
                SmoothStreaming = true,
            },
        },
        ResourceGroupName = "contosorg",
        StreamingPolicyName = "UserCreatedSecureStreamingPolicy",
    });
});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.NewStreamingPolicy(ctx, "streamingPolicy", &media.StreamingPolicyArgs{
AccountName: pulumi.String("contosomedia"),
CommonEncryptionCbcs: media.CommonEncryptionCbcsResponse{
ContentKeys: interface{}{
DefaultKey: &media.DefaultKeyArgs{
Label: pulumi.String("cbcsDefaultKey"),
},
},
Drm: interface{}{
FairPlay: &media.StreamingPolicyFairPlayConfigurationArgs{
AllowPersistentLicense: pulumi.Bool(true),
CustomLicenseAcquisitionUrlTemplate: pulumi.String("https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}"),
},
},
EnabledProtocols: &media.EnabledProtocolsArgs{
Dash: pulumi.Bool(false),
Download: pulumi.Bool(false),
Hls: pulumi.Bool(true),
SmoothStreaming: pulumi.Bool(false),
},
},
CommonEncryptionCenc: media.CommonEncryptionCencResponse{
ClearTracks: media.TrackSelectionArray{
interface{}{
TrackSelections: media.TrackPropertyConditionArray{
&media.TrackPropertyConditionArgs{
Operation: pulumi.String("Equal"),
Property: pulumi.String("FourCC"),
Value: pulumi.String("hev1"),
},
},
},
},
ContentKeys: interface{}{
DefaultKey: &media.DefaultKeyArgs{
Label: pulumi.String("cencDefaultKey"),
},
},
Drm: interface{}{
PlayReady: &media.StreamingPolicyPlayReadyConfigurationArgs{
CustomLicenseAcquisitionUrlTemplate: pulumi.String("https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}"),
PlayReadyCustomAttributes: pulumi.String("PlayReady CustomAttributes"),
},
Widevine: &media.StreamingPolicyWidevineConfigurationArgs{
CustomLicenseAcquisitionUrlTemplate: pulumi.String("https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId"),
},
},
EnabledProtocols: &media.EnabledProtocolsArgs{
Dash: pulumi.Bool(true),
Download: pulumi.Bool(false),
Hls: pulumi.Bool(false),
SmoothStreaming: pulumi.Bool(true),
},
},
DefaultContentKeyPolicyName: pulumi.String("PolicyWithMultipleOptions"),
EnvelopeEncryption: media.EnvelopeEncryptionResponse{
ContentKeys: interface{}{
DefaultKey: &media.DefaultKeyArgs{
Label: pulumi.String("aesDefaultKey"),
},
},
CustomKeyAcquisitionUrlTemplate: pulumi.String("https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}"),
EnabledProtocols: &media.EnabledProtocolsArgs{
Dash: pulumi.Bool(true),
Download: pulumi.Bool(false),
Hls: pulumi.Bool(true),
SmoothStreaming: pulumi.Bool(true),
},
},
ResourceGroupName: pulumi.String("contosorg"),
StreamingPolicyName: pulumi.String("UserCreatedSecureStreamingPolicy"),
})
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.StreamingPolicy;
import com.pulumi.azurenative.media.StreamingPolicyArgs;
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 streamingPolicy = new StreamingPolicy("streamingPolicy", StreamingPolicyArgs.builder()
            .accountName("contosomedia")
            .commonEncryptionCbcs(Map.ofEntries(
                Map.entry("contentKeys", Map.of("defaultKey", Map.of("label", "cbcsDefaultKey"))),
                Map.entry("drm", Map.of("fairPlay", Map.ofEntries(
                    Map.entry("allowPersistentLicense", true),
                    Map.entry("customLicenseAcquisitionUrlTemplate", "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}")
                ))),
                Map.entry("enabledProtocols", Map.ofEntries(
                    Map.entry("dash", false),
                    Map.entry("download", false),
                    Map.entry("hls", true),
                    Map.entry("smoothStreaming", false)
                ))
            ))
            .commonEncryptionCenc(Map.ofEntries(
                Map.entry("clearTracks", Map.of("trackSelections", Map.ofEntries(
                    Map.entry("operation", "Equal"),
                    Map.entry("property", "FourCC"),
                    Map.entry("value", "hev1")
                ))),
                Map.entry("contentKeys", Map.of("defaultKey", Map.of("label", "cencDefaultKey"))),
                Map.entry("drm", Map.ofEntries(
                    Map.entry("playReady", Map.ofEntries(
                        Map.entry("customLicenseAcquisitionUrlTemplate", "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}"),
                        Map.entry("playReadyCustomAttributes", "PlayReady CustomAttributes")
                    )),
                    Map.entry("widevine", Map.of("customLicenseAcquisitionUrlTemplate", "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId"))
                )),
                Map.entry("enabledProtocols", Map.ofEntries(
                    Map.entry("dash", true),
                    Map.entry("download", false),
                    Map.entry("hls", false),
                    Map.entry("smoothStreaming", true)
                ))
            ))
            .defaultContentKeyPolicyName("PolicyWithMultipleOptions")
            .envelopeEncryption(Map.ofEntries(
                Map.entry("contentKeys", Map.of("defaultKey", Map.of("label", "aesDefaultKey"))),
                Map.entry("customKeyAcquisitionUrlTemplate", "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}"),
                Map.entry("enabledProtocols", Map.ofEntries(
                    Map.entry("dash", true),
                    Map.entry("download", false),
                    Map.entry("hls", true),
                    Map.entry("smoothStreaming", true)
                ))
            ))
            .resourceGroupName("contosorg")
            .streamingPolicyName("UserCreatedSecureStreamingPolicy")
            .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:StreamingPolicy UserCreatedSecureStreamingPolicy /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}Content copied to clipboard
Constructors
Link copied to clipboard
                fun StreamingPolicyArgs(accountName: Output<String>? = null, commonEncryptionCbcs: Output<CommonEncryptionCbcsArgs>? = null, commonEncryptionCenc: Output<CommonEncryptionCencArgs>? = null, defaultContentKeyPolicyName: Output<String>? = null, envelopeEncryption: Output<EnvelopeEncryptionArgs>? = null, noEncryption: Output<NoEncryptionArgs>? = null, resourceGroupName: Output<String>? = null, streamingPolicyName: Output<String>? = null)