VoiceConnectorStreaming

class VoiceConnectorStreaming : KotlinCustomResource

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

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 defaultVoiceConnector = new VoiceConnector("defaultVoiceConnector", VoiceConnectorArgs.builder()
.requireEncryption(true)
.build());
var defaultVoiceConnectorStreaming = new VoiceConnectorStreaming("defaultVoiceConnectorStreaming", VoiceConnectorStreamingArgs.builder()
.disabled(false)
.voiceConnectorId(defaultVoiceConnector.id())
.dataRetention(7)
.streamingNotificationTargets("SQS")
.build());
}
}

Example Usage With Media Insights

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 defaultVoiceConnector = new VoiceConnector("defaultVoiceConnector", VoiceConnectorArgs.builder()
.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()
.assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
.build());
var exampleStream = new Stream("exampleStream", StreamArgs.builder()
.shardCount(2)
.build());
var exampleMediaInsightsPipelineConfiguration = new MediaInsightsPipelineConfiguration("exampleMediaInsightsPipelineConfiguration", MediaInsightsPipelineConfigurationArgs.builder()
.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(defaultVoiceConnector.id())
.dataRetention(7)
.streamingNotificationTargets("SQS")
.mediaInsightsConfiguration(VoiceConnectorStreamingMediaInsightsConfigurationArgs.builder()
.disabled(false)
.configurationArn(exampleMediaInsightsPipelineConfiguration.arn())
.build())
.build());
}
}

Import

Chime Voice Connector Streaming can be imported using the voice_connector_id, e.g.,

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

Properties

Link copied to clipboard
val dataRetention: Output<Int>

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

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

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

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

The media insights configuration. See media_insights_configuration.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

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

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

The Amazon Chime Voice Connector ID.