All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.chime.VoiceConnectorStreamingArgs Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.chime;

import com.pulumi.aws.chime.inputs.VoiceConnectorStreamingMediaInsightsConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class VoiceConnectorStreamingArgs extends com.pulumi.resources.ResourceArgs {

    public static final VoiceConnectorStreamingArgs Empty = new VoiceConnectorStreamingArgs();

    /**
     * The retention period, in hours, for the Amazon Kinesis data.
     * 
     */
    @Import(name="dataRetention", required=true)
    private Output dataRetention;

    /**
     * @return The retention period, in hours, for the Amazon Kinesis data.
     * 
     */
    public Output dataRetention() {
        return this.dataRetention;
    }

    /**
     * When true, media streaming to Amazon Kinesis is turned off. Default: `false`
     * 
     */
    @Import(name="disabled")
    private @Nullable Output disabled;

    /**
     * @return When true, media streaming to Amazon Kinesis is turned off. Default: `false`
     * 
     */
    public Optional> disabled() {
        return Optional.ofNullable(this.disabled);
    }

    /**
     * The media insights configuration. See `media_insights_configuration`.
     * 
     */
    @Import(name="mediaInsightsConfiguration")
    private @Nullable Output mediaInsightsConfiguration;

    /**
     * @return The media insights configuration. See `media_insights_configuration`.
     * 
     */
    public Optional> mediaInsightsConfiguration() {
        return Optional.ofNullable(this.mediaInsightsConfiguration);
    }

    /**
     * The streaming notification targets. Valid Values: `EventBridge | SNS | SQS`
     * 
     */
    @Import(name="streamingNotificationTargets")
    private @Nullable Output> streamingNotificationTargets;

    /**
     * @return The streaming notification targets. Valid Values: `EventBridge | SNS | SQS`
     * 
     */
    public Optional>> streamingNotificationTargets() {
        return Optional.ofNullable(this.streamingNotificationTargets);
    }

    /**
     * The Amazon Chime Voice Connector ID.
     * 
     */
    @Import(name="voiceConnectorId", required=true)
    private Output voiceConnectorId;

    /**
     * @return The Amazon Chime Voice Connector ID.
     * 
     */
    public Output voiceConnectorId() {
        return this.voiceConnectorId;
    }

    private VoiceConnectorStreamingArgs() {}

    private VoiceConnectorStreamingArgs(VoiceConnectorStreamingArgs $) {
        this.dataRetention = $.dataRetention;
        this.disabled = $.disabled;
        this.mediaInsightsConfiguration = $.mediaInsightsConfiguration;
        this.streamingNotificationTargets = $.streamingNotificationTargets;
        this.voiceConnectorId = $.voiceConnectorId;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(VoiceConnectorStreamingArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private VoiceConnectorStreamingArgs $;

        public Builder() {
            $ = new VoiceConnectorStreamingArgs();
        }

        public Builder(VoiceConnectorStreamingArgs defaults) {
            $ = new VoiceConnectorStreamingArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param dataRetention The retention period, in hours, for the Amazon Kinesis data.
         * 
         * @return builder
         * 
         */
        public Builder dataRetention(Output dataRetention) {
            $.dataRetention = dataRetention;
            return this;
        }

        /**
         * @param dataRetention The retention period, in hours, for the Amazon Kinesis data.
         * 
         * @return builder
         * 
         */
        public Builder dataRetention(Integer dataRetention) {
            return dataRetention(Output.of(dataRetention));
        }

        /**
         * @param disabled When true, media streaming to Amazon Kinesis is turned off. Default: `false`
         * 
         * @return builder
         * 
         */
        public Builder disabled(@Nullable Output disabled) {
            $.disabled = disabled;
            return this;
        }

        /**
         * @param disabled When true, media streaming to Amazon Kinesis is turned off. Default: `false`
         * 
         * @return builder
         * 
         */
        public Builder disabled(Boolean disabled) {
            return disabled(Output.of(disabled));
        }

        /**
         * @param mediaInsightsConfiguration The media insights configuration. See `media_insights_configuration`.
         * 
         * @return builder
         * 
         */
        public Builder mediaInsightsConfiguration(@Nullable Output mediaInsightsConfiguration) {
            $.mediaInsightsConfiguration = mediaInsightsConfiguration;
            return this;
        }

        /**
         * @param mediaInsightsConfiguration The media insights configuration. See `media_insights_configuration`.
         * 
         * @return builder
         * 
         */
        public Builder mediaInsightsConfiguration(VoiceConnectorStreamingMediaInsightsConfigurationArgs mediaInsightsConfiguration) {
            return mediaInsightsConfiguration(Output.of(mediaInsightsConfiguration));
        }

        /**
         * @param streamingNotificationTargets The streaming notification targets. Valid Values: `EventBridge | SNS | SQS`
         * 
         * @return builder
         * 
         */
        public Builder streamingNotificationTargets(@Nullable Output> streamingNotificationTargets) {
            $.streamingNotificationTargets = streamingNotificationTargets;
            return this;
        }

        /**
         * @param streamingNotificationTargets The streaming notification targets. Valid Values: `EventBridge | SNS | SQS`
         * 
         * @return builder
         * 
         */
        public Builder streamingNotificationTargets(List streamingNotificationTargets) {
            return streamingNotificationTargets(Output.of(streamingNotificationTargets));
        }

        /**
         * @param streamingNotificationTargets The streaming notification targets. Valid Values: `EventBridge | SNS | SQS`
         * 
         * @return builder
         * 
         */
        public Builder streamingNotificationTargets(String... streamingNotificationTargets) {
            return streamingNotificationTargets(List.of(streamingNotificationTargets));
        }

        /**
         * @param voiceConnectorId The Amazon Chime Voice Connector ID.
         * 
         * @return builder
         * 
         */
        public Builder voiceConnectorId(Output voiceConnectorId) {
            $.voiceConnectorId = voiceConnectorId;
            return this;
        }

        /**
         * @param voiceConnectorId The Amazon Chime Voice Connector ID.
         * 
         * @return builder
         * 
         */
        public Builder voiceConnectorId(String voiceConnectorId) {
            return voiceConnectorId(Output.of(voiceConnectorId));
        }

        public VoiceConnectorStreamingArgs build() {
            if ($.dataRetention == null) {
                throw new MissingRequiredPropertyException("VoiceConnectorStreamingArgs", "dataRetention");
            }
            if ($.voiceConnectorId == null) {
                throw new MissingRequiredPropertyException("VoiceConnectorStreamingArgs", "voiceConnectorId");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy