// *** 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.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;


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

    public static final ChannelEncoderSettingsAudioDescriptionAudioWatermarkSettingsNielsenWatermarksSettingsNielsenCbetSettingsArgs Empty = new ChannelEncoderSettingsAudioDescriptionAudioWatermarkSettingsNielsenWatermarksSettingsNielsenCbetSettingsArgs();

    @Import(name="cbetCheckDigitString", required=true)
    private Output<String> cbetCheckDigitString;

    public Output<String> cbetCheckDigitString() {
        return this.cbetCheckDigitString;
    }

    /**
     * Determines the method of CBET insertion mode when prior encoding is detected on the same layer.
     * 
     */
    @Import(name="cbetStepaside", required=true)
    private Output<String> cbetStepaside;

    /**
     * @return Determines the method of CBET insertion mode when prior encoding is detected on the same layer.
     * 
     */
    public Output<String> cbetStepaside() {
        return this.cbetStepaside;
    }

    /**
     * CBET source ID to use in the watermark.
     * 
     */
    @Import(name="csid", required=true)
    private Output<String> csid;

    /**
     * @return CBET source ID to use in the watermark.
     * 
     */
    public Output<String> csid() {
        return this.csid;
    }

    private ChannelEncoderSettingsAudioDescriptionAudioWatermarkSettingsNielsenWatermarksSettingsNielsenCbetSettingsArgs() {}

    private ChannelEncoderSettingsAudioDescriptionAudioWatermarkSettingsNielsenWatermarksSettingsNielsenCbetSettingsArgs(ChannelEncoderSettingsAudioDescriptionAudioWatermarkSettingsNielsenWatermarksSettingsNielsenCbetSettingsArgs $) {
        this.cbetCheckDigitString = $.cbetCheckDigitString;
        this.cbetStepaside = $.cbetStepaside;
        this.csid = $.csid;
    }

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

    public static final class Builder {
        private ChannelEncoderSettingsAudioDescriptionAudioWatermarkSettingsNielsenWatermarksSettingsNielsenCbetSettingsArgs $;

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

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

        public Builder cbetCheckDigitString(Output<String> cbetCheckDigitString) {
            $.cbetCheckDigitString = cbetCheckDigitString;
            return this;
        }

        public Builder cbetCheckDigitString(String cbetCheckDigitString) {
            return cbetCheckDigitString(Output.of(cbetCheckDigitString));
        }

        /**
         * @param cbetStepaside Determines the method of CBET insertion mode when prior encoding is detected on the same layer.
         * 
         * @return builder
         * 
         */
        public Builder cbetStepaside(Output<String> cbetStepaside) {
            $.cbetStepaside = cbetStepaside;
            return this;
        }

        /**
         * @param cbetStepaside Determines the method of CBET insertion mode when prior encoding is detected on the same layer.
         * 
         * @return builder
         * 
         */
        public Builder cbetStepaside(String cbetStepaside) {
            return cbetStepaside(Output.of(cbetStepaside));
        }

        /**
         * @param csid CBET source ID to use in the watermark.
         * 
         * @return builder
         * 
         */
        public Builder csid(Output<String> csid) {
            $.csid = csid;
            return this;
        }

        /**
         * @param csid CBET source ID to use in the watermark.
         * 
         * @return builder
         * 
         */
        public Builder csid(String csid) {
            return csid(Output.of(csid));
        }

        public ChannelEncoderSettingsAudioDescriptionAudioWatermarkSettingsNielsenWatermarksSettingsNielsenCbetSettingsArgs build() {
            $.cbetCheckDigitString = Objects.requireNonNull($.cbetCheckDigitString, "expected parameter 'cbetCheckDigitString' to be non-null");
            $.cbetStepaside = Objects.requireNonNull($.cbetStepaside, "expected parameter 'cbetStepaside' to be non-null");
            $.csid = Objects.requireNonNull($.csid, "expected parameter 'csid' to be non-null");
            return $;
        }
    }

}
