VoiceConnectorStreamingArgs

data class VoiceConnectorStreamingArgs(val dataRetention: Output<Int>? = null, val disabled: Output<Boolean>? = null, val mediaInsightsConfiguration: Output<VoiceConnectorStreamingMediaInsightsConfigurationArgs>? = null, val streamingNotificationTargets: Output<List<String>>? = null, val voiceConnectorId: Output<String>? = null) : ConvertibleToJava<VoiceConnectorStreamingArgs>

Adds a streaming configuration for the specified Amazon Chime Voice Connector. The streaming configuration specifies whether media streaming is enabled for sending to Amazon Kinesis. It also sets the retention period, in hours, for the Amazon Kinesis data.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const _default = new aws.chime.VoiceConnector("default", {
name: "vc-name-test",
requireEncryption: true,
});
const defaultVoiceConnectorStreaming = new aws.chime.VoiceConnectorStreaming("default", {
disabled: false,
voiceConnectorId: _default.id,
dataRetention: 7,
streamingNotificationTargets: ["SQS"],
});
import pulumi
import pulumi_aws as aws
default = aws.chime.VoiceConnector("default",
name="vc-name-test",
require_encryption=True)
default_voice_connector_streaming = aws.chime.VoiceConnectorStreaming("default",
disabled=False,
voice_connector_id=default.id,
data_retention=7,
streaming_notification_targets=["SQS"])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var @default = new Aws.Chime.VoiceConnector("default", new()
{
Name = "vc-name-test",
RequireEncryption = true,
});
var defaultVoiceConnectorStreaming = new Aws.Chime.VoiceConnectorStreaming("default", new()
{
Disabled = false,
VoiceConnectorId = @default.Id,
DataRetention = 7,
StreamingNotificationTargets = new[]
{
"SQS",
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := chime.NewVoiceConnector(ctx, "default", &chime.VoiceConnectorArgs{
Name: pulumi.String("vc-name-test"),
RequireEncryption: pulumi.Bool(true),
})
if err != nil {
return err
}
_, err = chime.NewVoiceConnectorStreaming(ctx, "default", &chime.VoiceConnectorStreamingArgs{
Disabled: pulumi.Bool(false),
VoiceConnectorId: _default.ID(),
DataRetention: pulumi.Int(7),
StreamingNotificationTargets: pulumi.StringArray{
pulumi.String("SQS"),
},
})
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.aws.chime.VoiceConnector;
import com.pulumi.aws.chime.VoiceConnectorArgs;
import com.pulumi.aws.chime.VoiceConnectorStreaming;
import com.pulumi.aws.chime.VoiceConnectorStreamingArgs;
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 default_ = new VoiceConnector("default", VoiceConnectorArgs.builder()
.name("vc-name-test")
.requireEncryption(true)
.build());
var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming("defaultVoiceConnectorStreaming", VoiceConnectorStreamingArgs.builder()
.disabled(false)
.voiceConnectorId(default_.id())
.dataRetention(7)
.streamingNotificationTargets("SQS")
.build());
}
}
resources:
default:
type: aws:chime:VoiceConnector
properties:
name: vc-name-test
requireEncryption: true
defaultVoiceConnectorStreaming:
type: aws:chime:VoiceConnectorStreaming
name: default
properties:
disabled: false
voiceConnectorId: ${default.id}
dataRetention: 7
streamingNotificationTargets:
- SQS

Example Usage With Media Insights

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const _default = new aws.chime.VoiceConnector("default", {
name: "vc-name-test",
requireEncryption: true,
});
const assumeRole = aws.iam.getPolicyDocument({
statements: [{
effect: "Allow",
principals: [{
type: "Service",
identifiers: ["mediapipelines&#46;chime&#46;amazonaws&#46;com"],
}],
actions: ["sts:AssumeRole"],
}],
});
const exampleRole = new aws.iam.Role("example", {
name: "ExampleResourceAccessRole",
assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json),
});
const exampleStream = new aws.kinesis.Stream("example", {
name: "ExampleStream",
shardCount: 2,
});
const example = new aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration("example", {
name: "ExampleConfig",
resourceAccessRoleArn: exampleRole.arn,
elements: [
{
type: "AmazonTranscribeCallAnalyticsProcessor",
amazonTranscribeCallAnalyticsProcessorConfiguration: {
languageCode: "en-US",
},
},
{
type: "KinesisDataStreamSink",
kinesisDataStreamSinkConfiguration: {
insightsTarget: exampleStream.arn,
},
},
],
});
const defaultVoiceConnectorStreaming = new aws.chime.VoiceConnectorStreaming("default", {
disabled: false,
voiceConnectorId: _default.id,
dataRetention: 7,
streamingNotificationTargets: ["SQS"],
mediaInsightsConfiguration: {
disabled: false,
configurationArn: example.arn,
},
});
import pulumi
import pulumi_aws as aws
default = aws.chime.VoiceConnector("default",
name="vc-name-test",
require_encryption=True)
assume_role = aws.iam.get_policy_document(statements=[{
"effect": "Allow",
"principals": [{
"type": "Service",
"identifiers": ["mediapipelines&#46;chime&#46;amazonaws&#46;com"],
}],
"actions": ["sts:AssumeRole"],
}])
example_role = aws.iam.Role("example",
name="ExampleResourceAccessRole",
assume_role_policy=assume_role.json)
example_stream = aws.kinesis.Stream("example",
name="ExampleStream",
shard_count=2)
example = aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration("example",
name="ExampleConfig",
resource_access_role_arn=example_role.arn,
elements=[
{
"type": "AmazonTranscribeCallAnalyticsProcessor",
"amazon_transcribe_call_analytics_processor_configuration": {
"language_code": "en-US",
},
},
{
"type": "KinesisDataStreamSink",
"kinesis_data_stream_sink_configuration": {
"insights_target": example_stream.arn,
},
},
])
default_voice_connector_streaming = aws.chime.VoiceConnectorStreaming("default",
disabled=False,
voice_connector_id=default.id,
data_retention=7,
streaming_notification_targets=["SQS"],
media_insights_configuration={
"disabled": False,
"configuration_arn": example.arn,
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var @default = new Aws.Chime.VoiceConnector("default", new()
{
Name = "vc-name-test",
RequireEncryption = true,
});
var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()
{
Statements = new[]
{
new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
{
Effect = "Allow",
Principals = new[]
{
new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
{
Type = "Service",
Identifiers = new[]
{
"mediapipelines.chime.amazonaws.com",
},
},
},
Actions = new[]
{
"sts:AssumeRole",
},
},
},
});
var exampleRole = new Aws.Iam.Role("example", new()
{
Name = "ExampleResourceAccessRole",
AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
});
var exampleStream = new Aws.Kinesis.Stream("example", new()
{
Name = "ExampleStream",
ShardCount = 2,
});
var example = new Aws.ChimeSDKMediaPipelines.MediaInsightsPipelineConfiguration("example", new()
{
Name = "ExampleConfig",
ResourceAccessRoleArn = exampleRole.Arn,
Elements = new[]
{
new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs
{
Type = "AmazonTranscribeCallAnalyticsProcessor",
AmazonTranscribeCallAnalyticsProcessorConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs
{
LanguageCode = "en-US",
},
},
new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementArgs
{
Type = "KinesisDataStreamSink",
KinesisDataStreamSinkConfiguration = new Aws.ChimeSDKMediaPipelines.Inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs
{
InsightsTarget = exampleStream.Arn,
},
},
},
});
var defaultVoiceConnectorStreaming = new Aws.Chime.VoiceConnectorStreaming("default", new()
{
Disabled = false,
VoiceConnectorId = @default.Id,
DataRetention = 7,
StreamingNotificationTargets = new[]
{
"SQS",
},
MediaInsightsConfiguration = new Aws.Chime.Inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs
{
Disabled = false,
ConfigurationArn = example.Arn,
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chime"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := chime.NewVoiceConnector(ctx, "default", &chime.VoiceConnectorArgs{
Name: pulumi.String("vc-name-test"),
RequireEncryption: pulumi.Bool(true),
})
if err != nil {
return err
}
assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
Statements: []iam.GetPolicyDocumentStatement{
{
Effect: pulumi.StringRef("Allow"),
Principals: []iam.GetPolicyDocumentStatementPrincipal{
{
Type: "Service",
Identifiers: []string{
"mediapipelines.chime.amazonaws.com",
},
},
},
Actions: []string{
"sts:AssumeRole",
},
},
},
}, nil)
if err != nil {
return err
}
exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
Name: pulumi.String("ExampleResourceAccessRole"),
AssumeRolePolicy: pulumi.String(assumeRole.Json),
})
if err != nil {
return err
}
exampleStream, err := kinesis.NewStream(ctx, "example", &kinesis.StreamArgs{
Name: pulumi.String("ExampleStream"),
ShardCount: pulumi.Int(2),
})
if err != nil {
return err
}
example, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, "example", &chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{
Name: pulumi.String("ExampleConfig"),
ResourceAccessRoleArn: exampleRole.Arn,
Elements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{
&chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{
Type: pulumi.String("AmazonTranscribeCallAnalyticsProcessor"),
AmazonTranscribeCallAnalyticsProcessorConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{
LanguageCode: pulumi.String("en-US"),
},
},
&chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{
Type: pulumi.String("KinesisDataStreamSink"),
KinesisDataStreamSinkConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{
InsightsTarget: exampleStream.Arn,
},
},
},
})
if err != nil {
return err
}
_, err = chime.NewVoiceConnectorStreaming(ctx, "default", &chime.VoiceConnectorStreamingArgs{
Disabled: pulumi.Bool(false),
VoiceConnectorId: _default.ID(),
DataRetention: pulumi.Int(7),
StreamingNotificationTargets: pulumi.StringArray{
pulumi.String("SQS"),
},
MediaInsightsConfiguration: &chime.VoiceConnectorStreamingMediaInsightsConfigurationArgs{
Disabled: pulumi.Bool(false),
ConfigurationArn: example.Arn,
},
})
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.aws.chime.VoiceConnector;
import com.pulumi.aws.chime.VoiceConnectorArgs;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.kinesis.Stream;
import com.pulumi.aws.kinesis.StreamArgs;
import com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfiguration;
import com.pulumi.aws.chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs;
import com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementArgs;
import com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs;
import com.pulumi.aws.chimesdkmediapipelines.inputs.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs;
import com.pulumi.aws.chime.VoiceConnectorStreaming;
import com.pulumi.aws.chime.VoiceConnectorStreamingArgs;
import com.pulumi.aws.chime.inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs;
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 default_ = new VoiceConnector("default", VoiceConnectorArgs.builder()
.name("vc-name-test")
.requireEncryption(true)
.build());
final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.statements(GetPolicyDocumentStatementArgs.builder()
.effect("Allow")
.principals(GetPolicyDocumentStatementPrincipalArgs.builder()
.type("Service")
.identifiers("mediapipelines.chime.amazonaws.com")
.build())
.actions("sts:AssumeRole")
.build())
.build());
var exampleRole = new Role("exampleRole", RoleArgs.builder()
.name("ExampleResourceAccessRole")
.assumeRolePolicy(assumeRole.json())
.build());
var exampleStream = new Stream("exampleStream", StreamArgs.builder()
.name("ExampleStream")
.shardCount(2)
.build());
var example = new MediaInsightsPipelineConfiguration("example", MediaInsightsPipelineConfigurationArgs.builder()
.name("ExampleConfig")
.resourceAccessRoleArn(exampleRole.arn())
.elements(
MediaInsightsPipelineConfigurationElementArgs.builder()
.type("AmazonTranscribeCallAnalyticsProcessor")
.amazonTranscribeCallAnalyticsProcessorConfiguration(MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs.builder()
.languageCode("en-US")
.build())
.build(),
MediaInsightsPipelineConfigurationElementArgs.builder()
.type("KinesisDataStreamSink")
.kinesisDataStreamSinkConfiguration(MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs.builder()
.insightsTarget(exampleStream.arn())
.build())
.build())
.build());
var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming("defaultVoiceConnectorStreaming", VoiceConnectorStreamingArgs.builder()
.disabled(false)
.voiceConnectorId(default_.id())
.dataRetention(7)
.streamingNotificationTargets("SQS")
.mediaInsightsConfiguration(VoiceConnectorStreamingMediaInsightsConfigurationArgs.builder()
.disabled(false)
.configurationArn(example.arn())
.build())
.build());
}
}
resources:
default:
type: aws:chime:VoiceConnector
properties:
name: vc-name-test
requireEncryption: true
defaultVoiceConnectorStreaming:
type: aws:chime:VoiceConnectorStreaming
name: default
properties:
disabled: false
voiceConnectorId: ${default.id}
dataRetention: 7
streamingNotificationTargets:
- SQS
mediaInsightsConfiguration:
disabled: false
configurationArn: ${example.arn}
example:
type: aws:chimesdkmediapipelines:MediaInsightsPipelineConfiguration
properties:
name: ExampleConfig
resourceAccessRoleArn: ${exampleRole.arn}
elements:
- type: AmazonTranscribeCallAnalyticsProcessor
amazonTranscribeCallAnalyticsProcessorConfiguration:
languageCode: en-US
- type: KinesisDataStreamSink
kinesisDataStreamSinkConfiguration:
insightsTarget: ${exampleStream.arn}
exampleRole:
type: aws:iam:Role
name: example
properties:
name: ExampleResourceAccessRole
assumeRolePolicy: ${assumeRole.json}
exampleStream:
type: aws:kinesis:Stream
name: example
properties:
name: ExampleStream
shardCount: 2
variables:
assumeRole:
fn::invoke:
function: aws:iam:getPolicyDocument
arguments:
statements:
- effect: Allow
principals:
- type: Service
identifiers:
- mediapipelines.chime.amazonaws.com
actions:
- sts:AssumeRole

Import

Using pulumi import, import Chime Voice Connector Streaming using the voice_connector_id. For example:

$ pulumi import aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming default abcdef1ghij2klmno3pqr4

Constructors

Link copied to clipboard
constructor(dataRetention: Output<Int>? = null, disabled: Output<Boolean>? = null, mediaInsightsConfiguration: Output<VoiceConnectorStreamingMediaInsightsConfigurationArgs>? = null, streamingNotificationTargets: Output<List<String>>? = null, voiceConnectorId: Output<String>? = null)

Properties

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

The retention period, in hours, for the Amazon Kinesis data.

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

When true, media streaming to Amazon Kinesis is turned off. Default: false

Link copied to clipboard

The media insights configuration. See media_insights_configuration.

Link copied to clipboard

The streaming notification targets. Valid Values: EventBridge | SNS | SQS

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

The Amazon Chime Voice Connector ID.

Functions

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