Voice Connector Streaming Args
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
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());
}
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
Import
Chime Voice Connector Streaming can be imported using the voice_connector_id
, e.g.,
$ pulumi import aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming default abcdef1ghij2klmno3pqr4
Content copied to clipboard
Properties
Link copied to clipboard
The retention period, in hours, for the Amazon Kinesis data.
Link copied to clipboard
val mediaInsightsConfiguration: Output<VoiceConnectorStreamingMediaInsightsConfigurationArgs>? = null
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
The Amazon Chime Voice Connector ID.