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

com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutputGroupSettings 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.medialive.outputs;

import com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSetting;
import com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsFrameCaptureGroupSettings;
import com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsHlsGroupSettings;
import com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsMediaPackageGroupSettings;
import com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsMsSmoothGroupSettings;
import com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsMultiplexGroupSettings;
import com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsRtmpGroupSettings;
import com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutputGroupSettingsUdpGroupSettings;
import com.pulumi.core.annotations.CustomType;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ChannelEncoderSettingsOutputGroupOutputGroupSettings {
    /**
     * @return Archive group settings. See Archive Group Settings for more details.
     * 
     */
    private @Nullable List archiveGroupSettings;
    private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsFrameCaptureGroupSettings frameCaptureGroupSettings;
    private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsHlsGroupSettings hlsGroupSettings;
    /**
     * @return Media package group settings. See Media Package Group Settings for more details.
     * 
     */
    private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsMediaPackageGroupSettings mediaPackageGroupSettings;
    private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsMsSmoothGroupSettings msSmoothGroupSettings;
    private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsMultiplexGroupSettings multiplexGroupSettings;
    /**
     * @return RTMP group settings. See RTMP Group Settings for more details.
     * 
     */
    private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsRtmpGroupSettings rtmpGroupSettings;
    private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsUdpGroupSettings udpGroupSettings;

    private ChannelEncoderSettingsOutputGroupOutputGroupSettings() {}
    /**
     * @return Archive group settings. See Archive Group Settings for more details.
     * 
     */
    public List archiveGroupSettings() {
        return this.archiveGroupSettings == null ? List.of() : this.archiveGroupSettings;
    }
    public Optional frameCaptureGroupSettings() {
        return Optional.ofNullable(this.frameCaptureGroupSettings);
    }
    public Optional hlsGroupSettings() {
        return Optional.ofNullable(this.hlsGroupSettings);
    }
    /**
     * @return Media package group settings. See Media Package Group Settings for more details.
     * 
     */
    public Optional mediaPackageGroupSettings() {
        return Optional.ofNullable(this.mediaPackageGroupSettings);
    }
    public Optional msSmoothGroupSettings() {
        return Optional.ofNullable(this.msSmoothGroupSettings);
    }
    public Optional multiplexGroupSettings() {
        return Optional.ofNullable(this.multiplexGroupSettings);
    }
    /**
     * @return RTMP group settings. See RTMP Group Settings for more details.
     * 
     */
    public Optional rtmpGroupSettings() {
        return Optional.ofNullable(this.rtmpGroupSettings);
    }
    public Optional udpGroupSettings() {
        return Optional.ofNullable(this.udpGroupSettings);
    }

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

    public static Builder builder(ChannelEncoderSettingsOutputGroupOutputGroupSettings defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List archiveGroupSettings;
        private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsFrameCaptureGroupSettings frameCaptureGroupSettings;
        private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsHlsGroupSettings hlsGroupSettings;
        private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsMediaPackageGroupSettings mediaPackageGroupSettings;
        private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsMsSmoothGroupSettings msSmoothGroupSettings;
        private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsMultiplexGroupSettings multiplexGroupSettings;
        private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsRtmpGroupSettings rtmpGroupSettings;
        private @Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsUdpGroupSettings udpGroupSettings;
        public Builder() {}
        public Builder(ChannelEncoderSettingsOutputGroupOutputGroupSettings defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.archiveGroupSettings = defaults.archiveGroupSettings;
    	      this.frameCaptureGroupSettings = defaults.frameCaptureGroupSettings;
    	      this.hlsGroupSettings = defaults.hlsGroupSettings;
    	      this.mediaPackageGroupSettings = defaults.mediaPackageGroupSettings;
    	      this.msSmoothGroupSettings = defaults.msSmoothGroupSettings;
    	      this.multiplexGroupSettings = defaults.multiplexGroupSettings;
    	      this.rtmpGroupSettings = defaults.rtmpGroupSettings;
    	      this.udpGroupSettings = defaults.udpGroupSettings;
        }

        @CustomType.Setter
        public Builder archiveGroupSettings(@Nullable List archiveGroupSettings) {

            this.archiveGroupSettings = archiveGroupSettings;
            return this;
        }
        public Builder archiveGroupSettings(ChannelEncoderSettingsOutputGroupOutputGroupSettingsArchiveGroupSetting... archiveGroupSettings) {
            return archiveGroupSettings(List.of(archiveGroupSettings));
        }
        @CustomType.Setter
        public Builder frameCaptureGroupSettings(@Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsFrameCaptureGroupSettings frameCaptureGroupSettings) {

            this.frameCaptureGroupSettings = frameCaptureGroupSettings;
            return this;
        }
        @CustomType.Setter
        public Builder hlsGroupSettings(@Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsHlsGroupSettings hlsGroupSettings) {

            this.hlsGroupSettings = hlsGroupSettings;
            return this;
        }
        @CustomType.Setter
        public Builder mediaPackageGroupSettings(@Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsMediaPackageGroupSettings mediaPackageGroupSettings) {

            this.mediaPackageGroupSettings = mediaPackageGroupSettings;
            return this;
        }
        @CustomType.Setter
        public Builder msSmoothGroupSettings(@Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsMsSmoothGroupSettings msSmoothGroupSettings) {

            this.msSmoothGroupSettings = msSmoothGroupSettings;
            return this;
        }
        @CustomType.Setter
        public Builder multiplexGroupSettings(@Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsMultiplexGroupSettings multiplexGroupSettings) {

            this.multiplexGroupSettings = multiplexGroupSettings;
            return this;
        }
        @CustomType.Setter
        public Builder rtmpGroupSettings(@Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsRtmpGroupSettings rtmpGroupSettings) {

            this.rtmpGroupSettings = rtmpGroupSettings;
            return this;
        }
        @CustomType.Setter
        public Builder udpGroupSettings(@Nullable ChannelEncoderSettingsOutputGroupOutputGroupSettingsUdpGroupSettings udpGroupSettings) {

            this.udpGroupSettings = udpGroupSettings;
            return this;
        }
        public ChannelEncoderSettingsOutputGroupOutputGroupSettings build() {
            final var _resultValue = new ChannelEncoderSettingsOutputGroupOutputGroupSettings();
            _resultValue.archiveGroupSettings = archiveGroupSettings;
            _resultValue.frameCaptureGroupSettings = frameCaptureGroupSettings;
            _resultValue.hlsGroupSettings = hlsGroupSettings;
            _resultValue.mediaPackageGroupSettings = mediaPackageGroupSettings;
            _resultValue.msSmoothGroupSettings = msSmoothGroupSettings;
            _resultValue.multiplexGroupSettings = multiplexGroupSettings;
            _resultValue.rtmpGroupSettings = rtmpGroupSettings;
            _resultValue.udpGroupSettings = udpGroupSettings;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy