// *** 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.Double;
import java.lang.Integer;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs Empty = new ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs();

    @Import(name="blackDetectThreshold")
    private @Nullable Output<Double> blackDetectThreshold;

    public Optional<Output<Double>> blackDetectThreshold() {
        return Optional.ofNullable(this.blackDetectThreshold);
    }

    @Import(name="videoBlackThresholdMsec")
    private @Nullable Output<Integer> videoBlackThresholdMsec;

    public Optional<Output<Integer>> videoBlackThresholdMsec() {
        return Optional.ofNullable(this.videoBlackThresholdMsec);
    }

    private ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs() {}

    private ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs $) {
        this.blackDetectThreshold = $.blackDetectThreshold;
        this.videoBlackThresholdMsec = $.videoBlackThresholdMsec;
    }

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

    public static final class Builder {
        private ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs $;

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

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

        public Builder blackDetectThreshold(@Nullable Output<Double> blackDetectThreshold) {
            $.blackDetectThreshold = blackDetectThreshold;
            return this;
        }

        public Builder blackDetectThreshold(Double blackDetectThreshold) {
            return blackDetectThreshold(Output.of(blackDetectThreshold));
        }

        public Builder videoBlackThresholdMsec(@Nullable Output<Integer> videoBlackThresholdMsec) {
            $.videoBlackThresholdMsec = videoBlackThresholdMsec;
            return this;
        }

        public Builder videoBlackThresholdMsec(Integer videoBlackThresholdMsec) {
            return videoBlackThresholdMsec(Output.of(videoBlackThresholdMsec));
        }

        public ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs build() {
            return $;
        }
    }

}
