StreamingEndpointArgs

data class StreamingEndpointArgs(val accessControl: Output<StreamingEndpointAccessControlArgs>? = null, val autoStartEnabled: Output<Boolean>? = null, val cdnEnabled: Output<Boolean>? = null, val cdnProfile: Output<String>? = null, val cdnProvider: Output<String>? = null, val crossSiteAccessPolicy: Output<StreamingEndpointCrossSiteAccessPolicyArgs>? = null, val customHostNames: Output<List<String>>? = null, val description: Output<String>? = null, val location: Output<String>? = null, val maxCacheAgeSeconds: Output<Int>? = null, val mediaServicesAccountName: Output<String>? = null, val name: Output<String>? = null, val resourceGroupName: Output<String>? = null, val scaleUnits: Output<Int>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<StreamingEndpointArgs>

Manages a Streaming Endpoint.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "media-resources",
location: "West Europe",
});
const exampleAccount = new azure.storage.Account("example", {
name: "examplestoracc",
resourceGroupName: example.name,
location: example.location,
accountTier: "Standard",
accountReplicationType: "GRS",
});
const exampleServiceAccount = new azure.media.ServiceAccount("example", {
name: "examplemediaacc",
location: example.location,
resourceGroupName: example.name,
storageAccounts: [{
id: exampleAccount.id,
isPrimary: true,
}],
});
const exampleStreamingEndpoint = new azure.media.StreamingEndpoint("example", {
name: "endpoint1",
resourceGroupName: example.name,
location: example.location,
mediaServicesAccountName: exampleServiceAccount.name,
scaleUnits: 2,
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="media-resources",
location="West Europe")
example_account = azure.storage.Account("example",
name="examplestoracc",
resource_group_name=example.name,
location=example.location,
account_tier="Standard",
account_replication_type="GRS")
example_service_account = azure.media.ServiceAccount("example",
name="examplemediaacc",
location=example.location,
resource_group_name=example.name,
storage_accounts=[{
"id": example_account.id,
"is_primary": True,
}])
example_streaming_endpoint = azure.media.StreamingEndpoint("example",
name="endpoint1",
resource_group_name=example.name,
location=example.location,
media_services_account_name=example_service_account.name,
scale_units=2)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "media-resources",
Location = "West Europe",
});
var exampleAccount = new Azure.Storage.Account("example", new()
{
Name = "examplestoracc",
ResourceGroupName = example.Name,
Location = example.Location,
AccountTier = "Standard",
AccountReplicationType = "GRS",
});
var exampleServiceAccount = new Azure.Media.ServiceAccount("example", new()
{
Name = "examplemediaacc",
Location = example.Location,
ResourceGroupName = example.Name,
StorageAccounts = new[]
{
new Azure.Media.Inputs.ServiceAccountStorageAccountArgs
{
Id = exampleAccount.Id,
IsPrimary = true,
},
},
});
var exampleStreamingEndpoint = new Azure.Media.StreamingEndpoint("example", new()
{
Name = "endpoint1",
ResourceGroupName = example.Name,
Location = example.Location,
MediaServicesAccountName = exampleServiceAccount.Name,
ScaleUnits = 2,
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/media"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("media-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
Name: pulumi.String("examplestoracc"),
ResourceGroupName: example.Name,
Location: example.Location,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("GRS"),
})
if err != nil {
return err
}
exampleServiceAccount, err := media.NewServiceAccount(ctx, "example", &media.ServiceAccountArgs{
Name: pulumi.String("examplemediaacc"),
Location: example.Location,
ResourceGroupName: example.Name,
StorageAccounts: media.ServiceAccountStorageAccountArray{
&media.ServiceAccountStorageAccountArgs{
Id: exampleAccount.ID(),
IsPrimary: pulumi.Bool(true),
},
},
})
if err != nil {
return err
}
_, err = media.NewStreamingEndpoint(ctx, "example", &media.StreamingEndpointArgs{
Name: pulumi.String("endpoint1"),
ResourceGroupName: example.Name,
Location: example.Location,
MediaServicesAccountName: exampleServiceAccount.Name,
ScaleUnits: pulumi.Int(2),
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.media.ServiceAccount;
import com.pulumi.azure.media.ServiceAccountArgs;
import com.pulumi.azure.media.inputs.ServiceAccountStorageAccountArgs;
import com.pulumi.azure.media.StreamingEndpoint;
import com.pulumi.azure.media.StreamingEndpointArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("media-resources")
.location("West Europe")
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.name("examplestoracc")
.resourceGroupName(example.name())
.location(example.location())
.accountTier("Standard")
.accountReplicationType("GRS")
.build());
var exampleServiceAccount = new ServiceAccount("exampleServiceAccount", ServiceAccountArgs.builder()
.name("examplemediaacc")
.location(example.location())
.resourceGroupName(example.name())
.storageAccounts(ServiceAccountStorageAccountArgs.builder()
.id(exampleAccount.id())
.isPrimary(true)
.build())
.build());
var exampleStreamingEndpoint = new StreamingEndpoint("exampleStreamingEndpoint", StreamingEndpointArgs.builder()
.name("endpoint1")
.resourceGroupName(example.name())
.location(example.location())
.mediaServicesAccountName(exampleServiceAccount.name())
.scaleUnits(2)
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: media-resources
location: West Europe
exampleAccount:
type: azure:storage:Account
name: example
properties:
name: examplestoracc
resourceGroupName: ${example.name}
location: ${example.location}
accountTier: Standard
accountReplicationType: GRS
exampleServiceAccount:
type: azure:media:ServiceAccount
name: example
properties:
name: examplemediaacc
location: ${example.location}
resourceGroupName: ${example.name}
storageAccounts:
- id: ${exampleAccount.id}
isPrimary: true
exampleStreamingEndpoint:
type: azure:media:StreamingEndpoint
name: example
properties:
name: endpoint1
resourceGroupName: ${example.name}
location: ${example.location}
mediaServicesAccountName: ${exampleServiceAccount.name}
scaleUnits: 2

With Access Control

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "media-resources",
location: "West Europe",
});
const exampleAccount = new azure.storage.Account("example", {
name: "examplestoracc",
resourceGroupName: example.name,
location: example.location,
accountTier: "Standard",
accountReplicationType: "GRS",
});
const exampleServiceAccount = new azure.media.ServiceAccount("example", {
name: "examplemediaacc",
location: example.location,
resourceGroupName: example.name,
storageAccounts: [{
id: exampleAccount.id,
isPrimary: true,
}],
});
const exampleStreamingEndpoint = new azure.media.StreamingEndpoint("example", {
name: "endpoint1",
resourceGroupName: example.name,
location: example.location,
mediaServicesAccountName: exampleServiceAccount.name,
scaleUnits: 2,
accessControl: {
ipAllows: [
{
name: "AllowedIP",
address: "192.168.1.1",
},
{
name: "AnotherIp",
address: "192.168.1.2",
},
],
akamaiSignatureHeaderAuthenticationKeys: [
{
identifier: "id1",
expiration: "2030-12-31T16:00:00Z",
base64Key: "dGVzdGlkMQ==",
},
{
identifier: "id2",
expiration: "2032-01-28T16:00:00Z",
base64Key: "dGVzdGlkMQ==",
},
],
},
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="media-resources",
location="West Europe")
example_account = azure.storage.Account("example",
name="examplestoracc",
resource_group_name=example.name,
location=example.location,
account_tier="Standard",
account_replication_type="GRS")
example_service_account = azure.media.ServiceAccount("example",
name="examplemediaacc",
location=example.location,
resource_group_name=example.name,
storage_accounts=[{
"id": example_account.id,
"is_primary": True,
}])
example_streaming_endpoint = azure.media.StreamingEndpoint("example",
name="endpoint1",
resource_group_name=example.name,
location=example.location,
media_services_account_name=example_service_account.name,
scale_units=2,
access_control={
"ip_allows": [
{
"name": "AllowedIP",
"address": "192.168.1.1",
},
{
"name": "AnotherIp",
"address": "192.168.1.2",
},
],
"akamai_signature_header_authentication_keys": [
{
"identifier": "id1",
"expiration": "2030-12-31T16:00:00Z",
"base64_key": "dGVzdGlkMQ==",
},
{
"identifier": "id2",
"expiration": "2032-01-28T16:00:00Z",
"base64_key": "dGVzdGlkMQ==",
},
],
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "media-resources",
Location = "West Europe",
});
var exampleAccount = new Azure.Storage.Account("example", new()
{
Name = "examplestoracc",
ResourceGroupName = example.Name,
Location = example.Location,
AccountTier = "Standard",
AccountReplicationType = "GRS",
});
var exampleServiceAccount = new Azure.Media.ServiceAccount("example", new()
{
Name = "examplemediaacc",
Location = example.Location,
ResourceGroupName = example.Name,
StorageAccounts = new[]
{
new Azure.Media.Inputs.ServiceAccountStorageAccountArgs
{
Id = exampleAccount.Id,
IsPrimary = true,
},
},
});
var exampleStreamingEndpoint = new Azure.Media.StreamingEndpoint("example", new()
{
Name = "endpoint1",
ResourceGroupName = example.Name,
Location = example.Location,
MediaServicesAccountName = exampleServiceAccount.Name,
ScaleUnits = 2,
AccessControl = new Azure.Media.Inputs.StreamingEndpointAccessControlArgs
{
IpAllows = new[]
{
new Azure.Media.Inputs.StreamingEndpointAccessControlIpAllowArgs
{
Name = "AllowedIP",
Address = "192.168.1.1",
},
new Azure.Media.Inputs.StreamingEndpointAccessControlIpAllowArgs
{
Name = "AnotherIp",
Address = "192.168.1.2",
},
},
AkamaiSignatureHeaderAuthenticationKeys = new[]
{
new Azure.Media.Inputs.StreamingEndpointAccessControlAkamaiSignatureHeaderAuthenticationKeyArgs
{
Identifier = "id1",
Expiration = "2030-12-31T16:00:00Z",
Base64Key = "dGVzdGlkMQ==",
},
new Azure.Media.Inputs.StreamingEndpointAccessControlAkamaiSignatureHeaderAuthenticationKeyArgs
{
Identifier = "id2",
Expiration = "2032-01-28T16:00:00Z",
Base64Key = "dGVzdGlkMQ==",
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/media"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("media-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
Name: pulumi.String("examplestoracc"),
ResourceGroupName: example.Name,
Location: example.Location,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("GRS"),
})
if err != nil {
return err
}
exampleServiceAccount, err := media.NewServiceAccount(ctx, "example", &media.ServiceAccountArgs{
Name: pulumi.String("examplemediaacc"),
Location: example.Location,
ResourceGroupName: example.Name,
StorageAccounts: media.ServiceAccountStorageAccountArray{
&media.ServiceAccountStorageAccountArgs{
Id: exampleAccount.ID(),
IsPrimary: pulumi.Bool(true),
},
},
})
if err != nil {
return err
}
_, err = media.NewStreamingEndpoint(ctx, "example", &media.StreamingEndpointArgs{
Name: pulumi.String("endpoint1"),
ResourceGroupName: example.Name,
Location: example.Location,
MediaServicesAccountName: exampleServiceAccount.Name,
ScaleUnits: pulumi.Int(2),
AccessControl: &media.StreamingEndpointAccessControlArgs{
IpAllows: media.StreamingEndpointAccessControlIpAllowArray{
&media.StreamingEndpointAccessControlIpAllowArgs{
Name: pulumi.String("AllowedIP"),
Address: pulumi.String("192.168.1.1"),
},
&media.StreamingEndpointAccessControlIpAllowArgs{
Name: pulumi.String("AnotherIp"),
Address: pulumi.String("192.168.1.2"),
},
},
AkamaiSignatureHeaderAuthenticationKeys: media.StreamingEndpointAccessControlAkamaiSignatureHeaderAuthenticationKeyArray{
&media.StreamingEndpointAccessControlAkamaiSignatureHeaderAuthenticationKeyArgs{
Identifier: pulumi.String("id1"),
Expiration: pulumi.String("2030-12-31T16:00:00Z"),
Base64Key: pulumi.String("dGVzdGlkMQ=="),
},
&media.StreamingEndpointAccessControlAkamaiSignatureHeaderAuthenticationKeyArgs{
Identifier: pulumi.String("id2"),
Expiration: pulumi.String("2032-01-28T16:00:00Z"),
Base64Key: pulumi.String("dGVzdGlkMQ=="),
},
},
},
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.media.ServiceAccount;
import com.pulumi.azure.media.ServiceAccountArgs;
import com.pulumi.azure.media.inputs.ServiceAccountStorageAccountArgs;
import com.pulumi.azure.media.StreamingEndpoint;
import com.pulumi.azure.media.StreamingEndpointArgs;
import com.pulumi.azure.media.inputs.StreamingEndpointAccessControlArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("media-resources")
.location("West Europe")
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.name("examplestoracc")
.resourceGroupName(example.name())
.location(example.location())
.accountTier("Standard")
.accountReplicationType("GRS")
.build());
var exampleServiceAccount = new ServiceAccount("exampleServiceAccount", ServiceAccountArgs.builder()
.name("examplemediaacc")
.location(example.location())
.resourceGroupName(example.name())
.storageAccounts(ServiceAccountStorageAccountArgs.builder()
.id(exampleAccount.id())
.isPrimary(true)
.build())
.build());
var exampleStreamingEndpoint = new StreamingEndpoint("exampleStreamingEndpoint", StreamingEndpointArgs.builder()
.name("endpoint1")
.resourceGroupName(example.name())
.location(example.location())
.mediaServicesAccountName(exampleServiceAccount.name())
.scaleUnits(2)
.accessControl(StreamingEndpointAccessControlArgs.builder()
.ipAllows(
StreamingEndpointAccessControlIpAllowArgs.builder()
.name("AllowedIP")
.address("192.168.1.1")
.build(),
StreamingEndpointAccessControlIpAllowArgs.builder()
.name("AnotherIp")
.address("192.168.1.2")
.build())
.akamaiSignatureHeaderAuthenticationKeys(
StreamingEndpointAccessControlAkamaiSignatureHeaderAuthenticationKeyArgs.builder()
.identifier("id1")
.expiration("2030-12-31T16:00:00Z")
.base64Key("dGVzdGlkMQ==")
.build(),
StreamingEndpointAccessControlAkamaiSignatureHeaderAuthenticationKeyArgs.builder()
.identifier("id2")
.expiration("2032-01-28T16:00:00Z")
.base64Key("dGVzdGlkMQ==")
.build())
.build())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: media-resources
location: West Europe
exampleAccount:
type: azure:storage:Account
name: example
properties:
name: examplestoracc
resourceGroupName: ${example.name}
location: ${example.location}
accountTier: Standard
accountReplicationType: GRS
exampleServiceAccount:
type: azure:media:ServiceAccount
name: example
properties:
name: examplemediaacc
location: ${example.location}
resourceGroupName: ${example.name}
storageAccounts:
- id: ${exampleAccount.id}
isPrimary: true
exampleStreamingEndpoint:
type: azure:media:StreamingEndpoint
name: example
properties:
name: endpoint1
resourceGroupName: ${example.name}
location: ${example.location}
mediaServicesAccountName: ${exampleServiceAccount.name}
scaleUnits: 2
accessControl:
ipAllows:
- name: AllowedIP
address: 192.168.1.1
- name: AnotherIp
address: 192.168.1.2
akamaiSignatureHeaderAuthenticationKeys:
- identifier: id1
expiration: 2030-12-31T16:00:00Z
base64Key: dGVzdGlkMQ==
- identifier: id2
expiration: 2032-01-28T16:00:00Z
base64Key: dGVzdGlkMQ==

Import

Streaming Endpoints can be imported using the resource id, e.g.

$ pulumi import azure:media/streamingEndpoint:StreamingEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Media/mediaServices/service1/streamingEndpoints/endpoint1

Constructors

Link copied to clipboard
constructor(accessControl: Output<StreamingEndpointAccessControlArgs>? = null, autoStartEnabled: Output<Boolean>? = null, cdnEnabled: Output<Boolean>? = null, cdnProfile: Output<String>? = null, cdnProvider: Output<String>? = null, crossSiteAccessPolicy: Output<StreamingEndpointCrossSiteAccessPolicyArgs>? = null, customHostNames: Output<List<String>>? = null, description: Output<String>? = null, location: Output<String>? = null, maxCacheAgeSeconds: Output<Int>? = null, mediaServicesAccountName: Output<String>? = null, name: Output<String>? = null, resourceGroupName: Output<String>? = null, scaleUnits: Output<Int>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard

A access_control block as defined below.

Link copied to clipboard
val autoStartEnabled: Output<Boolean>? = null

The flag indicates if the resource should be automatically started on creation.

Link copied to clipboard
val cdnEnabled: Output<Boolean>? = null

The CDN enabled flag.

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

The CDN profile name.

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

The CDN provider name. Supported value are StandardVerizon,PremiumVerizon and StandardAkamai

Link copied to clipboard

A cross_site_access_policy block as defined below.

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

The custom host names of the streaming endpoint.

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

The streaming endpoint description.

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

The Azure Region where the Streaming Endpoint should exist. Changing this forces a new Streaming Endpoint to be created.

Link copied to clipboard
val maxCacheAgeSeconds: Output<Int>? = null

Max cache age in seconds.

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

The Media Services account name. Changing this forces a new Streaming Endpoint to be created.

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

The name which should be used for this Streaming Endpoint maximum length is 24. Changing this forces a new Streaming Endpoint to be created.

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

The name of the Resource Group where the Streaming Endpoint should exist. Changing this forces a new Streaming Endpoint to be created.

Link copied to clipboard
val scaleUnits: Output<Int>? = null

The number of scale units. To create a Standard Streaming Endpoint set 0. For Premium Streaming Endpoint valid values are between 1 and 10.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags which should be assigned to the Streaming Endpoint.

Functions

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